计算机缓冲器原理,缓冲区溢出攻击原理-信息安全工程师知识点

信息安全工程师知识点:缓冲区溢出攻击原理

缓冲区是计算机内存中的一个连续块,保存了给定类型的数据。当进行大量动态内存分配而又管理不当时,就会出现问题。动态变量所需要的缓冲区,是在程序运行时才进行分配的。如果程序在动态分配的缓冲区中放入超长的数据,它就会溢出。

打个比方,缓冲区溢出好比是将十磅的糖放进一个只能装五磅的容器里。一旦该容器放满了,余下的部分就溢出。程序设计者编写的程序代码,如果没有对目的区域即缓冲区做适当的检查,看它们是否够大,能否完全装入新的内容,结果就可能造成缓冲区溢出。但是,如果缓冲区仅仅只是溢出,还不具有破坏性。当糖溢出时,柜台被盖住。当把糖擦掉或用吸尘器吸走,就可以恢复柜台本来的面貌。与此不同的是,当缓冲区溢出时,过剩的信息覆盖的是计算机内存中以前的内容,除非这些被覆盖的内容被保存或能够恢复,否则就会永远丢失。在丢失的信息里可能有被程序调用的子程序及其参数。这意味着程序不能得到足够的信息从子程序返回,以完成它的任务。如果入侵者用精心编写的入侵代码(一种恶意程序)使缓冲区溢出,然后让程序依据预设的方法处理缓冲区,并且执行预设的程序代码,此时的程序就完全被入侵者操纵。

缓冲区溢出攻击的基本原理是向缓冲区中写入超长的、预设的内容,导致缓冲区溢出,覆盖其他正常的程序或数据,然后让计算机转去运行这行预设的程序,达到执行非法操作、实现攻击的目的。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值