缓冲区溢出

✍ dations ◷ 2025-08-24 14:11:35 #电脑安全,计算机编程,保全漏洞

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

相关

  • 疝(Hernia),俗称疝气,其最初的意义是“腹痛”,但后世多特指“少腹坠痛”的狐疝,相当于现代医学的“腹股沟疝”。医学上的疝气指的是器官,例如肠子,经由腔室的孔道离开原先的位置。有
  • 人际吸引人际吸引(英语:interpersonal attraction)是指人与人之间的吸引,它会导致柏拉图式关系或浪漫关系的发展。它不同于诸如外貌吸引力(英语:physical attractiveness)之类的感知,它涉及
  • 肾上腺皮质素糖皮质激素(英语:glucocorticoid;又称葡萄糖皮质激素)是一种肾上腺皮质激素,是由肾上腺皮质中层的束状带分泌的类固醇激素,也可由化学方法人工合成。人体的可的松和皮质醇即属于糖
  • 耶稣的谱系耶稣的谱系,是耶稣经由其俗世的父母(玛利亚和约瑟)一支或两支的谱系,在《圣经》中记载于《新约圣经·对观福音书》的2个段落:《马太福音》第1章第2-16节和《路加福音》第3章第23-
  • 恒星际旅行恒星际旅行,是一个用来指在恒星或行星系统之间进行假想性的载人或无人太空旅行的名词。恒星际旅行的难度是远高于行星际航行的;太阳系以内的行星间的距离是不多于三十个天文单
  • 我爱波丽士《我爱波丽士》是真心英雄系列其中一部描写翁千惠真实人生电视剧,全剧共10集,于2012年5月21日-2012年6月8日在大爱电视《长情剧展》时段(台湾时间星期一~星期五晚上22:00)播放 本
  • 绿阿卡拉䴕绿阿卡拉䴕()是一种巨嘴鸟。它们分布在南美洲东北部的低地森林、亚马逊盆地东北部、圭亚那及委内瑞拉的奥里诺科河。绿阿卡拉䴕全长34厘米,是属内体型最细小的,也是鵎鵼科最细小
  • 黄通 (宋朝)黄通,又名黄德通,字介夫,邵武(今属福建)人,北宋政治人物。黄峭之后,幼年在和坪书院读书,宋嘉佑二年(1057年)进士,江西饶州浮梁主薄,与范仲淹友好,后任澧县知县,官至大理寺丞。著有《易义》
  • Arista NetworksArista网络公司 (曾用名 Arastra) 是一个总部设立在美国加利福尼亚州圣克拉拉的计算机网络公司。该公司致力于设计和销售多层网络交换器,为大型数据中心, 云计算,高频交易和高
  • 打水漂打水漂,是一种常见的娱乐活动,就是向水面上扔扁平的石头,以被水面弹起的次数取胜。不同的民族都有他们自己的名字,例如在美国叫做Stone Skipping,在英国叫Skimming Stone。 这个