fbpx
维基百科

缓冲区溢出

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

buffer overflow」的各地常用別名
中国大陸缓冲区溢出
港臺緩衝區溢位

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

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

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

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

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

作業系統層級的保護

目前OpenBSDLinuxWindowsMac OS等作業系統都具有buffer overflow protection(緩衝區溢位保護/記憶體位置重新定向)功能[來源請求],在某種程度上可以保護作業系統,但仍還是有辦法讓溢出的代碼到正確的位置上。其作用原理是:記憶體跟處理程序在memory中受到保護。內對外的access memory對象位置會被核心(排程器)隨機定向,使其無法正確溢出。

参见

外部链接

  • CERT Secure Coding Standards (页面存档备份,存于互联网档案馆
  • CERT Secure Coding Initiative (页面存档备份,存于互联网档案馆
  • Secure Coding in C and C++ (页面存档备份,存于互联网档案馆
  • (PDF) Chapter 12: Writing Exploits III (页面存档备份,存于互联网档案馆) from Sockets, Shellcode, Porting & Coding: Reverse Engineering Exploits and Tool Coding for Security Professionals by James C. Foster (ISBN 1-59749-005-9). Detailed explanation of how to use Metasploit to develop a buffer overflow exploit from scratch.

缓冲区溢出, 此條目可参照英語維基百科相應條目来扩充, 2020年7月28日, 若您熟悉来源语言和主题, 请协助参考外语维基百科扩充条目, 请勿直接提交机械翻译, 也不要翻译不可靠, 低品质内容, 依版权协议, 译文需在编辑摘要注明来源, 或于讨论页顶部标记, href, template, translated, page, html, title, template, translated, page, translated, page, 标签, buffer, overflow, 在電腦學上是指针对程序设计缺. 此條目可参照英語維基百科相應條目来扩充 2020年7月28日 若您熟悉来源语言和主题 请协助参考外语维基百科扩充条目 请勿直接提交机械翻译 也不要翻译不可靠 低品质内容 依版权协议 译文需在编辑摘要注明来源 或于讨论页顶部标记 a href Template Translated page html title Template Translated page Translated page a 标签 缓冲区溢出 buffer overflow 在電腦學上是指针对程序设计缺陷 向程序输入缓冲区写入使之溢出的内容 通常是超过缓冲区能保存的最大数据量的数据 从而破坏程序运行 趁著中斷之際并取得程序乃至系统的控制权 buffer overflow 的各地常用別名中国大陸缓冲区溢出港臺緩衝區溢位缓冲区溢出原指当某个数据超过了处理程序回傳堆疊位址限制的范围时 程序出现的异常操作 造成此现象的原因有 存在缺陷的程序设计 尤其是C语言 不像其他一些高级语言会自动进行数组或者指针的堆疊區塊边界检查 增加溢出风险 C语言中的C标准库还具有一些非常危险的操作函数 使用不当也为溢出创造条件 因黑客在Unix的内核发现通过缓冲区溢出可以控制內核空間劫持控制流程获得系统的最高等级权限 而成为攻击手段之一 也有人发现相同的问题也会出现在Windows操作系统上 以致其成为黑客最为常用的攻击手段 蠕虫病毒利用操作系统高危漏洞进行的破坏与大规模传播均是利用此技术 比较知名的蠕虫病毒冲击波蠕虫 就基于Windows操作系统的缓冲区溢出漏洞 例如一个用途是对SONY的掌上游戏机PSP 3000的破解 通过特殊的溢出图片 PSP可以运行非官方的程序与游戏 同样在诺基亚智能手机操作系统Symbian OS中发现漏洞用户可以突破限制运行需要DRM权限或文件系统权限等系统权限的应用程序 缓冲区溢出攻击从理论上来讲可以用于攻击任何有相关缺陷的程序 包括对杀毒软件 防火墙等安全产品的攻击以及对银行程序的攻击 在嵌入式设备系统上也可能被利用 例如PSP 智能手机等 在部分情况下 当一般程序 除了驱动和操作系统内核 发生此类问题时 C 运行时库通常会终止程序的执行 作業系統層級的保護 编辑目前OpenBSD Linux Windows Mac OS等作業系統都具有buffer overflow protection 緩衝區溢位保護 記憶體位置重新定向 功能 來源請求 在某種程度上可以保護作業系統 但仍還是有辦法讓溢出的代碼到正確的位置上 其作用原理是 記憶體跟處理程序在memory中受到保護 內對外的access memory對象位置會被核心 排程器 隨機定向 使其無法正確溢出 参见 编辑溢位 电脑蠕虫 僵尸网络 程序错误 堆疊緩衝區溢位 堆溢出 冲击波蠕虫 NX位 一种对抗缓冲区溢出攻击的硬件层面技术外部链接 编辑An Overview and Example of the Buffer Overflow Exploit pps 16 21 CERT Secure Coding Standards 页面存档备份 存于互联网档案馆 CERT Secure Coding Initiative 页面存档备份 存于互联网档案馆 Secure Coding in C and C 页面存档备份 存于互联网档案馆 SANS inside the buffer overflow attack More Security Whitepapers about Buffer Overflows PDF Chapter 12 Writing Exploits III 页面存档备份 存于互联网档案馆 from Sockets Shellcode Porting amp Coding Reverse Engineering Exploits and Tool Coding for Security Professionals by James C Foster ISBN 1 59749 005 9 Detailed explanation of how to use Metasploit to develop a buffer overflow exploit from scratch 取自 https zh wikipedia org w index php title 缓冲区溢出 amp oldid 74944610, 维基百科,wiki,书籍,书籍,图书馆,

文章

,阅读,下载,免费,免费下载,mp3,视频,mp4,3gp, jpg,jpeg,gif,png,图片,音乐,歌曲,电影,书籍,游戏,游戏。