缓冲区溢出

✍ dations ◷ 2025-09-14 05:33:55 #电脑安全,计算机编程,保全漏洞

缓冲区溢出(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对象位置会被核心(调度器)随机定向,使其无法正确溢出。

相关

  • 尼可罗·帕格尼尼尼可罗·帕格尼尼(意大利语:Niccolò Paganini,1782年10月27日-1840年5月27日),小提琴家、作曲家,属于欧洲晚期古典乐派,早期浪漫乐派音乐家。他是历史上著名的小提琴大师之一,对小提
  • 灞桥灞桥位于中国陕西省西安市东10公里的灞河上,是古代关中通向东方的重要交通设施。由于长安至关东三条要道在灞河至长安城之间并为一路,中间以灞桥连通,故地位十分重要。程大昌有
  • 陈 军陈军(1967年9月-)是一位中国无机化学家,南开大学教授。1967年出生于安徽宿松,1989年毕业于南开大学,1999年在澳大利亚伍伦贡大学获得博士学位。2017年当选为中国科学院院士。
  • 无线电望远镜射电望远镜(英语:Radio telescope)是一个专门的天线和无线电接收机,在射电天文学用来接收天空中从天文射电源的无线电波。射电望远镜的外形差别很大,有固定在地面的单一口径的球
  • 首次发起攻势日方资料中方资料日方资料中方资料第一次长沙战役(又称为“第一次长沙会战”、“湘北会战”,日本称“湘赣会战”),指1939年(民国28年)9月至10月抗日战争期间,中国第九战区部队在以
  • 国音常用字汇陶文 ‧ 甲骨文 ‧ 金文 ‧ 古文 ‧ 石鼓文籀文 ‧ 鸟虫书 ‧ 篆书(大篆 ‧  小篆)隶书 ‧ 楷书 ‧ 行书 ‧ 草书漆书 ‧  书法 ‧ 飞白书笔画 ‧ 
  • 大环内酯类化合物大环内酯(macrolides),或称大环内酯,是一组其作用在于结构内的“大环”的药物(一般都是抗生素),这个大环亦即是一连结一个或多个脱氧糖(多是红霉糖(英语:cladinose)及去氧糖胺(英语:desos
  • 巴萨诺布雷夏诺巴萨诺布雷夏诺(意大利语:Bassano Bresciano),是意大利布雷西亚省的一个市镇。总面积9平方公里,人口2206人,人口密度245.1人/平方公里(2009年)。国家统计(ISTAT)代码为017013。
  • ShuuKaRenShuuKaRen是日本的二人歌唱舞蹈组合,由姐姐藤井萩花和妹妹藤井夏恋组成。组合名取自二人名字的罗马字Shuu和Karen。所属事务所为LDH公司。所属唱片公司为日本索尼音乐娱乐旗
  • 链接器链接器(英语:Linker),又译为链接器、连结器,是一个程序,将一个或多个由编译器或汇编器生成的目标文件外加库,链接为一个可执行文件。在IBM大型主机比如OS/360(英语:OS/360)上,链接器是l