计算机科学 ›› 2012, Vol. 39 ›› Issue (Z6): 1-5.

• •    下一篇

基于Return-Oriented Programming的程序攻击与防护

黄志军,郑滔   

  1. (南京大学软件学院 南京210093)
  • 出版日期:2018-11-16 发布日期:2018-11-16

Program Attack and Protection Based on Return-Oriented Programming

  • Online:2018-11-16 Published:2018-11-16

摘要: 随着w⊕x等技术的引入,传统的代码注入攻击几乎被消除,return-to-lib攻击受到很大程度的抑制。在此 背景下,Hovav Shacham提出了Return-Oriented Programming(ROP)的思想,该思想基于栈溢出的原理,通过使用程 序库中有效的以ret指令结尾的短指令序列构建gadget集合,使之具有图灵完备特性,来完成计算和攻击。讲述ROP 思想自提出以来的一些研究成果和其实际的攻击能力,阐述ROP自动化的当前成果与未来可能的发展方向,进而分 析和预测ROP自动化的下一步的研究方向。同时,也将从ROP的几个特征分析消除这种攻击的策略和方法,并介绍 目前已有的防护思想和成果,论述这些方法的优缺点和改进方向。综合阐述ROP攻击与ROP防护这一矛与盾的问 题,力争使读者理解ROP的思想,知悉当前的发展状态,并在此基础上能够进一步推进ROP攻击及其防范的研究。

关键词: ROP,程序自动化,地址随机化,找溢出,程序控制流,程序安全

Abstract: With the adoption of W⊕ X technology, the traditional code injection attacks have been almost eliminated, so the return-to-lib attack has been greatly restrained. Under this circumstance, Doc. Hovav Shacham promoted the ROP i- dea, which is short for Return-Oriented Programming. Based on the theory of stack overflow, making using of the valid short instruction sequences that end with ret instructions to construct gadget collections with Turning-Complete fea- lures, the ROP idea can accomplish the task of compute and attack. In this paper, we presented achievements in ROP field and ROP's ability of attack since its promotion,and then illustrated the direction for development of the automa- lion of ROP attack and its current achievements, after that, analyzed and predicted the future development of ROP auto- mation. Simultaneously, we discussed strategies and methods aiming at eliminating this attack based on its characteris- tics, introduced exisiting achievements of defending this attack by comparing their merits and demerits, gave our own perspectives of these defending strategies and methods about how to change and improve them.

Key words: ROP, Program automation, Address randomization, Stack overflow, Program control flow, Program security

No related articles found!
Viewed
Full text


Abstract

Cited

  Shared   
  Discussed   
No Suggested Reading articles found!