- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机安全知识(四)缓冲区溢出,十年来攻击和防卫的弱点一、前言在
计算机安全知识(四):缓冲区溢出,十年来攻击和防卫的弱点
一、前言
在过去的十年中,以缓冲区溢出为类型的安全漏洞占是最为常见的一种形式了。更为严重的是,缓冲区溢出漏洞占了远程网络攻击的绝大多数,这种攻击可以使得一个匿名的Internet用户有机会获得一台主机的部分或全部的控制权!由于这类攻击使任何人都有可能取得主机的控制权,所以它代表了一类极其严重的安全威胁。
缓冲区溢出攻击之所以成为一种常见安全攻击手段其原因在于缓冲区溢出漏洞太普通了,并且易于实现。而且,缓冲区溢出成为远程攻击的主要手段其原因在于缓冲区溢出漏洞给予了攻击者他所想要的一切:殖入并且执行攻击代码。被殖入的攻击代码以一定的权限运行有缓冲区溢出漏洞的程序,从而得到被攻击主机的控制权。
比如,在1998年Lincoln实验室用来评估入侵检测的的5种远程攻击中,有3种是基于社会工程学的信任关系,2种是缓冲区溢出。而在1998年CERT的13份建议中,有9份是是与缓冲区溢出有关的,在1999年,至少有半数的建议是和缓冲区溢出有关的。在Bugtraq的调查中,有2/3的被调查者认为缓冲区溢出漏洞是一个很严重的安全问题。
缓冲区溢出漏洞和攻击有很多种形式,我们会在第二部分对他们进行描述和分类。相应地防卫手段也随者攻击方法的不同而不同,我们会放在第三部分描述,它的内容包括针对每种攻击类型的有效的防卫手段。我们还要要介绍堆栈保护方法,这种方法在解决缓冲区溢出的漏洞方面很有效果,并且没有牺牲系统的兼容性和性能。在第四部分,我们要讨论各种防卫方法的综合使用。最后在第五部分是我们的结论。
二、缓冲区溢出的漏洞和攻击
缓冲区溢出攻击的目的在于扰乱具有某些特权运行的程序的功能,这样可以使得攻击者取得程序的控制权,如果该程序具有足够的权限,那么整个主机就被控制了。一般而言,攻击者攻击root程序,然后执行类似“exec(sh)”的执行代码来获得root的shell,但不一直是这样的。为了达到这个目的,攻击者必须达到如下的两个目标:
1. 在程序的地址空间里安排适当的代码。
2. 通过适当地初始化寄存器和存储器,让程序跳转到我们安排的地址空间执行。
我们根据这两个目标来对缓冲区溢出攻击进行分类。在2.1部分,我们将描述攻击代码是如何放入被攻击程序的地址空间的(这个就是“缓冲区”名字的的由来)。在2.2部分,我们介绍攻击者如何使一个程序的缓冲区溢出,并且执行转移到攻击代码(这个就是“溢出”的由来)。在2.3部分,我们介绍综合在2.1和2.2部分所讨论的代码安排和控制程序执行流程的技术。
2.1 在程序的地址空间里安排适当的代码的方法
有两种在被攻击程序地址空间里安排攻击代码的方法:
殖入法:
攻击者向被攻击的程序输入一个字符串,程序会把这个字符串放到缓冲区里。这个字符串包含的数据是可以在这个被攻击的硬件平台上运行的指令序列。?在这里攻击者用被攻击程序的缓冲区来存放攻击代码。具体的方式有以下两种差别:
1. 攻击者不必为达到此目的而溢出任何缓冲区,可以找到足够的空间来放置攻击代码
2. 缓冲区可以设在任何地方:堆栈(自动变量)、堆(动态分配的)和静态数据区(初始化或者未初始化的数据)
利用已经存在的代码:
有时候,攻击者想要的代码已经在被攻击的程序中了,攻击者所要做的只是对代码传递一些参数,然后使程序跳转到我们的目标。比如,攻击代码要求执行“exe(/bin/sh)”,而在libc库中的代码执行“exec(arg)”,其中arg使一个指向一个字符串的指针参数,那么攻击者只要把传入的参数指针改向指向/bin/sh,然后调转到libc库中的相应的指令序列。
在过去的十年中,以缓冲区溢出为类型的安全漏洞占是最为常见的一种形式了。更为严重的是,缓冲区溢出漏洞占了远程网络攻击的绝大多数,这种攻击可以使得一个匿名的Internet用户有机会获得一台主机的部分或全部的控制权!如果能有效地消除缓冲区溢出的漏洞,则很大一部分的安全威胁可以得到缓解。在本文中,我们研究了各种类型的缓冲区溢出漏洞和攻击手段,同时我们也研究了各种的防御手段,这些手段用来消除这些漏洞所造成的影响,其中包括我们自己的堆栈保护方法。然后我们要考虑如何在保证现有系统功能和性能不变的情况下,如何使用这些方法来消除这些安全漏洞。
一、前言
在过去的十年中,以缓冲区溢出为类型的安全漏洞占是最为常见的一种形式了。更为严重的是,缓冲区溢出漏洞占了远程网络攻击的绝大多数,这种攻击可以使得一个匿名的Internet用户有机会获得一台主机的部分或全部的控制权!由于这类攻击使任何人都有可能取得主机的控制权,所以它代表了一类极其严重的安全威胁。
缓冲区溢出攻击之所以成为一种常见安全攻击手段其原因在于缓冲区溢出漏洞太普通了,并
您可能关注的文档
最近下载
- Siebel TAS销售管理方法论交流.ppt
- 一种耐高温热轧H型钢及其生产方法.pdf VIP
- 2025协同办公领域AI发展与应用实践报告.pptx VIP
- 2025年中电建电力运维管理有限公司招聘笔试参考题库含答案解析.pdf
- 2024中电建电力运维管理有限公司招聘361人笔试参考题库附带答案详解 .docx
- 一例高血压患者的护理个案.docx VIP
- 2025年高考语文课内文言文知识梳理(统编版)专题04《登泰山记》(解析版).docx VIP
- 2025年新高考语文专题复习:小说情节知识点讲解 课件139张.pptx VIP
- AI大模型产业落地场景和价值.pdf VIP
- 彩钢板屋面拆除、更换屋面板施工方案.docx VIP
文档评论(0)