关于缓冲区溢出
缓冲区溢出也许是最臭名昭著的,并广为宣传的攻击。 这是相当复杂的攻击利用的基本硬件和软件功能的一个制度。 对于那些没有软件开发商,有几个概念需要解释。 第一,它是有用的,以明白什么是缓冲。 计算机系统有一个池的随机存取记忆体(内存)组织成小块,由经营制度运行的应用。 为了分享这个记忆当中,操作系统的许多流程和应用,特别记忆经理坐标,其中大块的羊池投入使用,并可供运行一个程序。 申请时,首先来说,内存是分配给应用与它的所有函数和变量。 由于程序运行时,更多的内存,可分配给了新的变数和去分配时不再使用。 一个缓冲区,是一大块(或几大块)的记忆体可用来储存一个变量。 不同的缓冲器,可往往存在并排在记忆体。 缓冲区可以容纳一个变量可以存在旁边的一块记忆体,拥有一个功能或者另一份申请。 举例来说,当你进入你的用户名在一个迅速或窗口,该计划已经宣告一个缓冲区,其中人物的名字存入。 缓冲溢出发生时,一个缓冲区太小,可容纳的数据量。 该数据并不适合缓冲区将覆盖下一大块的记忆。 这里的危险在于缓冲区溢出。 记忆就是被覆盖,与额外的数据也可以是另一个变量,在运行的应用,一个变量,再申请,或与应用程序的协议栈。 堆栈包含应用程序特定的信息,如身体的位置应用程序的函数和变量。 这改变了路径说,申请通常会跟进,造成了,它可以利用不良数据,撞车,或执行新的功能。 执行新的功能,通常是目标是建立一个缓冲区溢出利用-是否提供进入该系统或修改其设定。 当它的主人通道的内存被覆盖在明年,新的数据有可能被无效的,该申请可以崩溃或功能不当的。 缓冲区溢出是利用精心溢出数据转化为有用的东西该机器是可以理解的。 这可能意味着执行另一个程序,造成伤害,必须坚决系统或窃取信息。 为了更好地展示这一概念,考虑到邮政机器扫描的信件,为他们的目的地城市。 承担信封a是准备运往纽约,纽约,及信封b是运往波士顿,麻。 区号后的信封乙特别湿油墨"溢出" ,覆盖区号后的纽约信封a的是波士顿时,信封是自动堆积在邮政设施。 邮政机扫描信封a和读取覆盖邮编。 这封信是当时的单线前往波士顿。 缓冲区溢出往往更恶毒的不仅仅是意外,因此,让我们假设有一个宝贵的一笔现金注定是一个邮政箱在美国纽约举行。 小偷,或攻击,也知道其确切位置,该函并创造一个信封与溏墨水印制,覆盖区号就信封与邮递区号为波士顿时,他们堆放。 攻击者租金波士顿邮箱与相同数目为原来的目的地,在纽约和收益,以窃取金钱。 邮政机,是唯一能够识别邮政编码,无论是从哪里来的。 计算机能够执行的指示,无论是从哪里来的。 因此,一个缓冲区溢出攻击,覆盖原有的指示,申请新的指示,可以导致计算机来执行任何攻击者的意愿。 这是一篇文章说,由陶马什querolin
|
|||||
|