Automatic construction of jump-oriented programming shellcode (on the x86)

  • Authors:
  • Ping Chen;Xiao Xing;Bing Mao;Li Xie;Xiaobin Shen;Xinchun Yin

  • Affiliations:
  • Nanjing University, China;Nanjing University, China;Nanjing University, China;Nanjing University, China;Yangzhou University, China;Yangzhou University, China

  • Venue:
  • Proceedings of the 6th ACM Symposium on Information, Computer and Communications Security
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Return-Oriented Programming (ROP) is a technique which leverages the instruction gadgets in existing libraries/executables to construct Turing complete programs. However, ROP attack is usually composed with gadgets which are ending in ret instruction without the corresponding call instruction. Based on this fact, several defense mechanisms have been proposed to detect the ROP malicious code. To circumvent these defenses, Return-Oriented Programming without returns has been proposed recently, which uses the gadgets ending in jmp instruction but with much diversity. In this paper, we propose an improved ROP techniques to construct the ROP shellcode without returns. Meanwhile we implement a tool to automatically construct the real-world Return-Oriented Programming without returns shellcode, which as demonstrated in our experiment can bypass most of the existing ROP defenses.