Defending return-oriented programming based on virtualization techniques

Xiaoqi Jia, Rui Wang, Jun Jiang, Shengzhi Zhang, Peng Liu

Research output: Contribution to journalArticlepeer-review

7 Scopus citations


Over the past few years, return-oriented programming (ROP) has drawn great attention of both academia and industry. Because of its Turing completeness, ROP reuses short instruction sequences already present in the victim program's address space to perform arbitrary computation. Hence, it can successfully bypass state-of-the-art code integrity check mechanisms. In this paper, we look into using virtualization technologies to defeat return-oriented programming. We design and implement HyperCropII, a virtualization-based automatic runtime approach to defend such attacks. ROP attackers extract short instruction sequences ending in ret called "gadgets" and craft stack content to "chain" these gadgets together. We observe that a key characteristic of ROP is to fill the stack with plenty of addresses that are within the range of the program's libraries. Accordingly, we inspect the content of the stack to see if a potential ROP attack exists and quarantine the damages for further security purposes. We have implemented a proof-of-concept system based on the open source Xen hypervisor. The evaluation results exhibit that our solution is effective and efficient.

Original languageEnglish (US)
Pages (from-to)1236-1249
Number of pages14
JournalSecurity and Communication Networks
Issue number10
StatePublished - Oct 2013

All Science Journal Classification (ASJC) codes

  • Information Systems
  • Computer Networks and Communications


Dive into the research topics of 'Defending return-oriented programming based on virtualization techniques'. Together they form a unique fingerprint.

Cite this