运行时代码随机化防御代码复用攻击  被引量:6

Defensing Code Reuse Attacks Using Live Code Randomization

在线阅读下载全文

作  者:张贵民[1,2] 李清宝 曾光裕[1,2] 赵宇韬 ZHANG Gui-Min;LI Qing-Bao;ZENG Guang-Yu;ZHAO Yu-Tao(PLA Information Engineering University, Zhengzhou 450001, China;State Key Laboratory of Mathematical Engineering and Advanced Computing, Zhengzhou 450001, China)

机构地区:[1]解放军信息工程大学,河南郑州450001 [2]数学工程与先进计算国家重点实验室,河南郑州450001

出  处:《软件学报》2019年第9期2772-2790,共19页Journal of Software

基  金:国家社会科学基金(15AJG012);国家“核高基”科技重大专项(2013JH00103)~~

摘  要:代码复用攻击日趋复杂,传统的代码随机化方法已无法提供足够的防护.为此,提出一种基于运行时代码随机化的代码复用攻击防御方法 LCR.该方法在目标程序正常运行时,实时监控攻击者企图获取或利用 gadgets 的行为,当发现监控的行为发生时,立即触发对代码进行函数块级的随机化变换,使攻击者最终获取或利用的 gadgets信息失效,从而阻止代码复用攻击的实现.设计实现了 LCR原型系统,并对提出的方法进行了测试.结果表明: LCR能够有效防御基于直接或间接内存泄漏等实现的代码复用攻击,且在 SPEC CPU2006 上的平均开销低于 5%.As code reuse attacks (CRA) are becoming increasingly complex, legacy code randomization methods have been unable to provide adequate protection. An approach called LCR is present to defense CRA by living code randomization. LCR real-time monitors all suspicious operations which aim to find or utilize gadgets. When above events occur, LCR randomizes the function blocks of the target process in the memory so that gadgets’ information known by attackers become invalid and attacks composed of these gadgets will fail. Finally, a prototype system of LCR is implemented to test the proposed method. Experiment results show that LCR can effectively defense CRAs based on direct or indirect memory disclosure, meanwhile introduces low run-time performance overhead on SPEC CPU2006 with less than 5% on average.

关 键 词:代码随机化 代码复用攻击 内存泄漏 

分 类 号:TP309[自动化与计算机技术—计算机系统结构]

 

参考文献:

正在载入数据...

 

二级参考文献:

正在载入数据...

 

耦合文献:

正在载入数据...

 

引证文献:

正在载入数据...

 

二级引证文献:

正在载入数据...

 

同被引文献:

正在载入数据...

 

相关期刊文献:

正在载入数据...

相关的主题
相关的作者对象
相关的机构对象