华南理工大学学报(自然科学版) ›› 2019, Vol. 47 ›› Issue (6): 31-38.doi: 10.12141/j.issn.1000-565X.180255

• 计算机科学与技术 • 上一篇    下一篇

基于静态指令分配的多模块 ROP 自动构造方法

黄宁 黄曙光 黄晖 邓兆琨   

  1. 国防科技大学 电子对抗学院,安徽 合肥 230037
  • 收稿日期:2017-12-20 修回日期:2019-01-20 出版日期:2019-06-25 发布日期:2019-05-05
  • 通信作者: 黄宁(1990-),男,博士生,主要从事软件漏洞分析研究. E-mail:809848161@qq.com
  • 作者简介:黄宁(1990-),男,博士生,主要从事软件漏洞分析研究.
  • 基金资助:
    国家重点研发计划“网络空间安全”重点专项(2017YFB0802905)

Automatic Generation of Multi-modules ROP Based on Static Instructions Assignment

HUANG Ning HUANG Shuguang HUANG Hui DENG Zhaokun    

  1. School of Electronic Warfare,National University of Defense Technology,Hefei 230037,Anhui,China 
  • Received:2017-12-20 Revised:2019-01-20 Online:2019-06-25 Published:2019-05-05
  • Contact: 黄宁(1990-),男,博士生,主要从事软件漏洞分析研究. E-mail:809848161@qq.com
  • About author:黄宁(1990-),男,博士生,主要从事软件漏洞分析研究.
  • Supported by:
    Supported by the National Key Research and Development Program“Cyberspace Security”(2017YFB0802905) 

摘要: 返回导向式编程(ROP)是一种可有效绕过数据执行保护(DEP)机制的技术. 已 有的 ROP 自动构造技术缺少对 ROP 模块转换过程的静态指令分配的优化,导致 ROP 载 荷需占用大量内存空间. 为解决这一问题,基于已有的 ROP 自动构造系统 Q,针对多模块 ROP 的模块转换过程,设计了新的静态指令分配规则 SIA. SIA 通过静态指令分配,构造 中间指令序列;通过动态数据填充,实现 ROP 模块转换过程中的寻址与指针修改. 实验表 明,相比已有技术,通过 SIA 规则构造的多模块 ROP 载荷降低了内存空间占有率,提高了 ROP 载荷的实用性.

关键词: 返回导向式编程, 数据执行保护, 静态指令分配, 多模块 ROP

Abstract: Return Oriented Programming (ROP) is a kind of technology to bypass the Data Execution Prevention (DEP). Existing technologies for automatic ROP generation can not optimize the progress of instructions assign- ment for modules switching in multi-modules ROP payload,leading to the problem of large amounts of memory space are occupied. In order to solve this problem,a new static instructions assignment rule SIA for ROP modules switching was designed based on the automatic ROP generation system Q. SIA constructs intermediate sequence of instructions by static instructions assignment,and finds the address and modifies the pointers by dynamic data fill- ing. Experimental results show that,compared with the existing technologies,the multi-modules ROP payload gen- erated by SIA needs less memory space so that improve the practicability of ROP.

Key words: return oriented programming, data execution prevention, static instructions assignment, multi-mod- ules ROP

中图分类号: