什么是缓冲区溢出?

2016-08-15 904 3 编辑:深色多郎 来源:互联网书籍

定义

缓冲区是内存中存放数据的地方,用来接收和保存数据,直至进程对数据进行处理。由于各个进程都有自己的缓冲区,所以需要保存各进程的缓冲区彼此无关。而缓冲区溢出即一个程序要写的数据在可分配内存的范围之内,这是一种非常普遍的漏洞,在各种操作系统、应用软件中广泛存在。

原理

在内存分配之后,缓冲区的长度是固定的,其自身缺乏相关的机制来防止在保留空间中放入过多的数据。但攻击者写一个超过缓冲区长度的字符串,植入到缓冲区,然后再向一个有限空间的缓冲区中植入超长的字符串,结果就会导致数据外溢,覆盖相邻内存空间。这就是缓冲区溢出攻击。

后果

缓冲区溢出攻击可能导致三个后果:一是程序运行失败甚至系统崩溃;二是以普通用户的身份植入并且执行攻击代码;三是取得系统Root特级权限执行恶意代码,比如删除数据、将感染的PC转换成肉鸡、传送垃圾邮件等。

案例

1988年的莫里斯蠕虫病毒和2001年的红色代码蠕虫就是利用缓冲区溢出攻击并造成伤害的。在近五年中,每年美国计算机紧急事件响应小组协调中心(CERT/CC)公布的缓冲区溢出漏洞在其当年公布的重大安全漏洞中所占比率均在50%以上,而且远程网络攻击的绝大多数为缓冲区溢出攻击。2003年,著名黑客史蒂夫-艾瑟(StrfanEsser)就曾利用缓冲区溢出漏洞,将Linux灌进全新并完好的Xbox内,并开机成功。这使未经授权的软件,包括自制程序游戏,不需要修改硬件(被称为mod chips)就可在控制台运行。

更多资讯,请您百度:深圳网站建设深正互联

本站文章均为深正网站建设摘自权威资料,书籍,杂志或原创文章,如有版权纠纷或者违规问题,请即刻联系我们删除,我们欢迎您分享到社交网站,引用和转载,我们谢绝直接复制和抄袭!感谢您...

学习课堂

小白必看!为什么说PHP是所有编程语言中最好学的?

很多业内人士都说,PHP语言是所有网站编程语言中最好学的语言。因为他不仅包含了Java和C++的特性,而且也兼并以及优化了他们的一些功能。那么究竟PHP的语言的特性有哪些呢?今天小编就来为大家介绍一下吧...

2017-11-30
2016-07-06
2016-08-22
2017-03-02

动态更新

【签约】深圳市全天拍科技有限公司网站建设改版

深圳市全天拍科技有限公司是专业的自拍杆制造商之一,至力于研究,发展,生产和开发智能自拍杆。我们在自拍杆领域有经验丰富的工程师,致力于改善技术和制造创新。我们的产品已经通过了CE, RoHS, MSDS和 FCC等认证...

2017-10-21
2017-06-14
2017-08-07
2016-07-07

资讯知识

【科幻】如果地球如果停止自转 人类将变成怎样?

人们很难想象静止的地球一直处于旋转状态,赤道自转线速度为1670公里/小时。一旦地球自转停止将会怎样呢?目前,英国科学家迈克尔-史蒂文斯(Michael Stevens)在YouTube网站上发布一段视频,揭示地球停止旋转将发生的一切...

>2016-07-12
>2016-11-21
>2016-08-08
>2017-06-13
亲,请您联系我们吧

您的疑问,只要您主动联系,将为您得到最专业,最全面的解答,欢迎您询问...