电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

软件逆向工程原理与实践第9章ROP攻击VIP免费

软件逆向工程原理与实践第9章ROP攻击_第1页
1/34
软件逆向工程原理与实践第9章ROP攻击_第2页
2/34
软件逆向工程原理与实践第9章ROP攻击_第3页
3/34
第9章ROP攻击第9章ROP攻击9.1ROP攻击的发展9.2ROP攻击的变种9.3思考与练习第9章ROP攻击9.1ROP攻击的发展利用缓冲区溢出漏洞进行攻击变得日益普遍,这是因为缓冲区溢出漏洞具有极大的破坏力和隐蔽性,它可以导致程序运行失败、系统死机或重启。更为严重的是,攻击者可以利用它执行非授权指令,甚至可以取得系统的超级特权,进行各种非法操作。而利用缓冲区溢出漏洞的攻击包括多种类型,其中就包括了注入代码型与代码重用型攻击。由此发展的多种攻击有缓冲区溢出攻击、格式化字符串漏洞攻击、return-into-libc攻击和ROP攻击等。第9章ROP攻击1.缓冲区溢出攻击缓冲区溢出攻击是几种最常见的利用程序缺陷实施攻击的方法之一。缓冲区溢出是指当程序向缓冲区内填充数据时,数据长度超过了缓冲区本身的容量,溢出的数据覆盖在合法数据上。理想的情况是:程序会检查数据长度,不允许输入长度超过缓冲区长度。但是绝大多数程序都会假设数据长度总是与所分配的储存空间相匹配,这就为缓冲区溢出创造了条件。第9章ROP攻击缓冲区溢出漏洞具有极大的破坏力和隐蔽性。缓冲区溢出攻击的隐蔽性主要表现在:(1)一般程序员很难发觉自己编写的程序中存在缓冲区溢出漏洞,从而疏忽检测;(2)攻击者所发送的溢出字符串在形式上跟普通的字符串几乎无区别,传统的防御工具(如防火墙)不会认为其为非法请求,从而不会进行阻拦;(3)通过缓冲区溢出注入的ShellCode代码执行时间一般较短,在执行中系统不一定报告错误,并且可能不会影响到正常程序的运行;第9章ROP攻击(4)攻击者通过缓冲区溢出改变程序执行流程,使ShellCode代码能够执行本来不被允许或没有权限的操作,而防火墙认为其是合法的;(5)攻击的随机性和不可预测性使得防御攻击变得异常艰难,在没有攻击时,存在漏洞的程序并不会有什么变化(这和木马有着本质的区别),这也是缓冲区溢出很难被发现的原因;(6)缓冲区溢出漏洞的普遍存在,使得针对这种漏洞的攻击防不胜防(各种补丁程序也可能存在着这种漏洞)。第9章ROP攻击在缓冲区溢出攻击中,顾名思义,就是利用缓冲区溢出的方式,攻击者可以将自己的数据写到内存的任何地方。例如,StackGuard是一种较早的防御缓冲区溢出攻击的方法。它会在函数调用栈写入返回地址的时候,加入一个叫canary的值,当函数调用结束返回时,程序会检测这个canary,如果这个值被修改了,则系统会检测到缓冲区溢出攻击,然后系统会通知安全软件,并终止该进程。canary的值采用随机数模式,可以防御大部分的攻击,但它也不是绝对安全的,攻击者仍然可以通过不覆盖canary的方式来改写返回地址的值。第9章ROP攻击PointGuard是另一种防御缓冲区溢出攻击的防御方法。它利用一种加密方法将存入内存的地址(数据)加密,并且只有当内存中的值被载入寄存器时才进行解密操作。这样,在不知道加密方法的情况下,即使栈中的地址(数据)被修改了,但是通过密钥解密以后的地址,被解密为随机的地址,从而不会去执行攻击者的恶意代码。但是,如果攻击者通过别的攻击方式获得了加密方法,则该防御方式就会失效。第9章ROP攻击2.return-into-libc攻击return-into-libc攻击是在缓冲区溢出攻击原理的基础上发展而来的,它包含有缓冲区溢出攻击精髓的部分,同时还在一定程度上解决了缓冲区溢出攻击的不足之处。最早的缓冲区溢出攻击需要在漏洞程序中添加恶意代码ShellCode,只有执行这些恶意代码,才能达到攻击者的攻击目的。第9章ROP攻击return-into-libc攻击就是一种不需要对缓冲区同时写和执行(或者先写后执行)的攻击方式,它只需要通过缓冲区溢出来篡改跳转地址,然后将程序引导到系统中已存在的动态函数库当中,去执行函数库中已有的函数代码来达到攻击的目的。第9章ROP攻击尽管return-into-libc攻击绕过了WX(WXORX)防御,但是相比于注入代码型攻击,它却有了更多限制,主要表现在两个方面:(1)在一个return-into-libc攻击中,攻击者只能调用库函数,当一个函数执行完,继续调用下一个函数,而不能像注入代码型攻击一样,可以调用注入的任意代码;(2)在return-into-libc攻击中,攻击者只能调用程序代码段或者函数库中存在的函数,所以通过将某一...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

软件逆向工程原理与实践第9章ROP攻击

您可能关注的文档

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部