APP下载

基于代码重用的漏洞利用及其防御技术研究

2016-05-14谷俊鲜明杜瑞祥陈恬

网络空间安全 2016年5期

谷俊 鲜明 杜瑞祥 陈恬

[摘要]代码重用漏洞利用技术是突破DEP和W⊕X的主流技术,其灵巧的攻击思想是现行漏洞利用技术的重要方向。因此研究基于代码重用漏洞利用技术及其防御方法,对提升程序安全和系统安全有着重要意义。论文将阐述基于代码重用的攻击原理和主要方法以及各种方法的优缺点和约束条件,总结当前主流防御技术的优缺点,并对下一步研究工作提出展望。

[关键词]代码重用;W⊕X;数据执行保护;ROP Android

[中图分类号]TN926-34;TP311 [文献标识码]A

1 引言

一直以来缓冲溢出漏洞对计算机网络安全造成巨大的威胁,每年都有数目众多的缓冲溢出漏洞被发现。攻击者不停地尝试利用系统的这些漏洞对程序进行攻击。早期的缓冲溢出漏洞利用都是向堆栈中注入恶意代码,劫持正常的程序控制流程,将程序跳转到自己预设的Shellcode,进而执行恶意代码,完成攻击。

后来,针对缓冲溢出漏洞利用方法的特点,出现了相应的防护技术。包括Solar Designers Stack Patch,通过栈不可执行。防止代码注入攻击:另外类似的还有DEP技术和W⊕X技术;通过硬件或软件的支持,防止注入数据被执行,保证内存区域不能既可执行又可写入。Linux PAX项目中,已经实现了W⊕X技术,通过将不需要执行的页设为不可执行,限制可写页和可执行页的转换,防止程序动态生成和执行代码:另外对需要动态生成代码的程序,PAX提供了解除限制的方法;同时Pax技术使得堆栈上的数据不可执行,并且对elf文件中的段进行限制,只允许实际的代码段执行,有效地防御了改写GOT表等攻击。……

登录APP查看全文