缓冲区溢出

✍ dations ◷ 2025-11-03 05:43:56 #电脑安全,计算机编程,保全漏洞

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

相关

  • 史密斯纸草文《艾德温·史密斯纸草文稿》(Edwin Smith Papyrus)是约于公元前1600-1700年间完成的医学论文集:70,也是人类史上第一部关于创伤的外科医学著作,由莎草纸写成,长约5米(因为损毁只剩
  • 2014年中国广东一带爆发2014年广东登革热疫情爆发于2014年6月,起于中华人民共和国广州市。随后,登革热疫情蔓延至广东各地,其中广州为重灾区,全市共37354例病例。疫情一度蔓延至台湾。2014年6月,自出现
  • 卫生保健人体解剖学 - 人体生理学 组织学 - 胚胎学 人体寄生虫学 - 免疫学 病理学 - 病理生理学 细胞学 - 营养学 流行病学 - 药理学 - 毒理学医疗卫生,又称健康照护(英语:Health care
  • 美国陆军传染病医学研究所美国陆军传染病医学研究院(The United States Army Medical Research Institute of Infectious Diseases; USAMRIID) 是美国陆军辖下最主要的防御性医疗研究单位,专门研发生
  • 长沙会战长沙会战,指中国抗日战争期间,以湖南长沙为主的系列战役的总称。分别如下:长沙保卫战也可以指:
  • 7&I控股7&I控股(日语:セブン&アイ・ホールディングス  */?)是日本的大型零售、流通事业控股公司,旗下拥有7-Eleven、伊藤洋华堂、SOGO、西武百货等公司。7&I控股在2005年9月1日设立,作
  • 利奥波德·克罗内克利奥波德·克罗内克(德语:Leopold Kronecker,1823年12月7日-1891年12月29日),德国数学家与逻辑学家,出生于西里西亚利格尼茨(现属波兰的莱格尼察),卒于柏林。他认为算术与数学分析都必
  • 新西兰玉新西兰玉,又称绿玉,直译普纳姆(Pounamu,字面意思为“绿色的石头”)。是主要分布在新西兰南部的几种坚固耐用的石材。 这种玉石对于毛利人有着重要的价值,尤其是用新西兰玉制成的硬
  • 鲍伊·鲍拉日鲍伊·鲍拉日(匈牙利语:Baji Balázs,1989年6月9日-)是匈牙利男子田径运动员。2012年8月7日,Balazs Baji在夏季奥林匹克运动会110米跨栏预赛第6组以13.76秒完赛,并在同组选手刘翔单
  • 鸡矢藤属鸡矢藤属(学名:)是茜草科下的一个属,为纤弱、缠绕植物。该属共有约50种,分布于热带亚洲。