缓冲区溢出

✍ dations ◷ 2025-10-12 16:26:01 #电脑安全,计算机编程,保全漏洞

缓冲区溢出(buffer overflow),是针对程序设计缺陷,向程序输入缓冲区写入使之溢出的内容(通常是超过缓冲区能保存的最大数据量的数据),从而破坏程序运行、趁著中断之际并获取程序乃至系统的控制权。

缓冲区溢出原指当某个数据超过了处理程序回传堆栈地址限制的范围时,程序出现的异常操作。造成此现象的原因有:

因黑客在Unix的内核发现通过缓冲区溢出可以获得系统的最高等级权限,而成为攻击手段之一。也有人发现相同的问题也会出现在Windows操作系统上,以致其成为黑客最为常用的攻击手段,蠕虫病毒利用操作系统高危漏洞进行的破坏与大规模传播均是利用此技术。比较知名的蠕虫病毒冲击波蠕虫,就基于Windows操作系统的缓冲区溢出漏洞。

例如一个用途是对SONY的掌上游戏机PSP-3000的破解,通过特殊的溢出图片,PSP可以运行非官方的程序与游戏。同样在诺基亚智能手机操作系统Symbian OS中发现漏洞用户可以突破限制运行需要DRM权限或文件系统权限等系统权限的应用程序。

缓冲区溢出攻击从理论上来讲可以用于攻击任何有相关缺陷的程序,包括对杀毒软件、防火墙等安全产品的攻击以及对银行程序的攻击。在嵌入式设备系统上也可能被利用,例如PSP、智能手机等。

在部分情况下,当一般程序(除了驱动和操作系统内核)发生此类问题时,C++运行时库通常会终止程序的执行。

目前OpenBSD、Linux、Windows、Mac OS等操作系统都具有buffer overflow protection(缓存溢出保护/存储器位置重新定向)功能,在某种程度上可以保护操作系统,但仍还是有办法让溢出的代码到正确的位置上。其作用原理是:存储器跟进程在memory中受到保护。内对外的access memory对象位置会被核心(调度器)随机定向,使其无法正确溢出。

相关

  • Anterior ethmoidal前筛神经(anterior ethmoidal nerve)为支配鼻腔感觉的神经。该神经源自于鼻睫神经(英语:nasociliary nerve),为三叉神经眼分支的其中一条分支。鼻睫神经在分支出四个分支(由起点到
  • 公共行政学公共行政学(Public Administration),又称行政学。主要结合政治学和管理学为其理论基础。简言之,行政即是公务的推行、政府的管理,举凡政府机关或公务机构的业务,如何使之有效的加
  • Beta2微球蛋白1A1M, 1A1N, 1A1O, 1A6Z, 1A9B, 1A9E, 1AGB, 1AGC, 1AGD, 1AGE, 1AGF, 1AKJ, 1AO7, 1B0G, 1B0R, 1BD2, 1C16, 1CE6, 1CG9, 1DE4, 1DUY, 1DUZ, 1E27, 1E28, 1EEY, 1EEZ, 1EFX
  • 卢萨蒂亚卢萨蒂亚(德语:Lausitz;上索布语:Łužyca;下索布语:Łužica;波兰语:Łużyce;捷克语:Lužice;拉丁语、英语:Lusatia)是一个位于欧洲大陆中部的地区,其地域横跨德国、波兰及捷克三国的疆
  • 混合语克里奥尔语(英语:Creole Language或Creole)是一种稳定的自然语言,由皮钦语进一步发展而成。其特征为混合多种不同语言词汇,有时也掺杂一些其他语言文法的一种语言,也称为混成语或
  • 邢台市邢台市,简称邢,古称邢州、钜鹿郡、顺德府,别称“牛城”,是中华人民共和国河北省下辖的地级市,位于河北省南部。市境北接石家庄市,东接衡水市、山东省聊城市、德州市,南临邯郸市,西毗
  • 溪生战役双方皆宣称胜利总共约45,000人大约6,000名陆战队在溪生战斗基地 飞马行动:约20,000人(第1空骑师和陆战队单位)总共约34,000人 溪生包围战:约17,200人(304和325师) 第九号路线防御
  • 美国州宪法婚姻修正案列表在美国,所谓“婚姻修正案”分为数种不同类型。透过制定美国州宪法的修正案(英语:Constitutional amendment),可促使民事结合或同性婚姻的合法化。截至2013年,马萨诸塞州、康乃狄克
  • 异世纪机器人大战:R《异世纪机器人大战:R》(日语:アナザーセンチュリーズエピソード アール、英语:、简称A.C.E:R)是PlayStation 3(PS3)用游戏。是将不同的机器人动画(其中包括漫画、游戏)作品变成跨界
  • 万科梅沙书院万科梅沙书院(英语:Vanke Meisha Academy)是位于深圳市盐田区的一所国际化民办高级中学,创办于2015年6月,由万科教育发展基金会举办,委托深圳中学管理,是“深圳中学共同体”成员校