缓冲区溢出

✍ dations ◷ 2025-04-27 11:44:59 #电脑安全,计算机编程,保全漏洞

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

相关

  • 肌肉肌肉(拉丁语:Musculus)是一种能收缩的动物组织,属于软组织,由胚胎的中胚层发育而来。肌肉细胞有收缩纤维,会在细胞间移动,并改变细胞的大小。肌肉分为骨骼肌、心肌和平滑肌三种,其功
  • 沃洛格达州沃洛格达州(俄语:Вологодская область,罗马化:Vologodskaya oblast),是俄罗斯联邦主体之一,属西北部联邦管区。面积145,700平方公里,人口1,269,568 (2002年),首府
  • 甘肃农业大学甘肃农业大学,是位于中国甘肃省兰州市的一所公立大学。成立于1946年,至今已有70年的历史,前身是西北畜牧兽医学院,是由中国农业部和甘肃人民政府建立的大学,并成为首批国家卓越农
  • 建交列表截至2019年7月18日,大韩民国已与191个国家建交,包括189个联合国成员国,以及梵蒂冈和库克群岛。
  • 1964年阿拉斯加大地震耶稣受难日地震(又称安克雷奇地震、阿拉斯加大地震)发生于1964年3月27日星期五,当天正好是耶稣受难日,是美国和北美历史上最大的地震。当时是继1960年智利大地震后的世界第三大
  • 亚历山大·安德罗诺夫亚历山大·亚历山德罗维奇·安德罗诺夫(俄语:Александр Александрович Андронов,1901年4月11日-1952年10月31日),是一位苏联物理学家,苏联科学院成
  • 梅尔福德·史蒂文森奥布里·梅尔福德·斯蒂德·史蒂文森爵士(英语:Sir Aubrey Melford Steed Stevenson,1902年10月17日-1987年12月26日),英国大律师和法官,1957年至1979年担任高等法院法官。史蒂文森
  • 王钧豪王钧豪(1888年1月10日-1967年5月10日),名世英,字钧豪,以字行,江苏省金匮县人,宣统二年进士。
  • 佟养甲佟养甲(?-1648年),清朝官员,于1647年6月15日-1651年期间奉旨担任首任广东总督。顺治四年五月,任命佟养甲为广东总督。1648年广东提督李成栋反正归附南明永历政权,佟养甲被迫降明,被永
  • 类PET类PET是医学磁共振成像的一项最新技术。2004年,由日本学者首先提出“类PET”概念。之后,全球各大医学研究机构与影像设备生产厂家积极研究,相继推出了可实现“类PET”的成像技