ROPMEMU: A framework for the analysis of complex code-reuse attacks
M Graziano, D Balzarotti, A Zidouemba - … of the 11th ACM on Asia …, 2016 - dl.acm.org
M Graziano, D Balzarotti, A Zidouemba
Proceedings of the 11th ACM on Asia Conference on Computer and …, 2016•dl.acm.orgCode reuse attacks based on return oriented programming (ROP) are becoming more and
more prevalent every year. They started as a way to circumvent operating systems
protections against injected code, but they are now also used as a technique to keep the
malicious code hidden from detection and analysis systems. This means that while in the
past ROP chains were short and simple (and therefore did not require any dedicated tool for
their analysis), we recently started to observe very complex algorithms--such as a complete …
more prevalent every year. They started as a way to circumvent operating systems
protections against injected code, but they are now also used as a technique to keep the
malicious code hidden from detection and analysis systems. This means that while in the
past ROP chains were short and simple (and therefore did not require any dedicated tool for
their analysis), we recently started to observe very complex algorithms--such as a complete …
Code reuse attacks based on return oriented programming (ROP) are becoming more and more prevalent every year. They started as a way to circumvent operating systems protections against injected code, but they are now also used as a technique to keep the malicious code hidden from detection and analysis systems. This means that while in the past ROP chains were short and simple (and therefore did not require any dedicated tool for their analysis), we recently started to observe very complex algorithms -- such as a complete rootkit -- implemented entirely as a sequence of ROP gadgets. In this paper, we present a set of techniques to analyze complex code reuse attacks. First, we identify and discuss the main challenges that complicate the reverse engineer of code implemented using ROP. Second, we propose an emulation-based framework to dissect, reconstruct, and simplify ROP chains. Finally, we test our tool on the most complex example available to date: a ROP rootkit containing four separate chains, two of them dynamically generated at runtime.
ACM Digital Library
Showing the best result for this search. See all results