Visible to the public ROPMEMU: A Framework for the Analysis of Complex Code-Reuse Attacks

TitleROPMEMU: A Framework for the Analysis of Complex Code-Reuse Attacks
Publication TypeConference Paper
Year of Publication2016
AuthorsGraziano, Mariano, Balzarotti, Davide, Zidouemba, Alain
Conference NameProceedings of the 11th ACM on Asia Conference on Computer and Communications Security
PublisherACM
Conference LocationNew York, NY, USA
ISBN Number978-1-4503-4233-9
KeywordsCFQ recovery, Chained Attacks, composability, emulation, memory forensics, Metrics, multi-path, pubcrawl, Resiliency, ROP, rop attacks, Scalability
Abstract

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.

URLhttp://doi.acm.org/10.1145/2897845.2897894
DOI10.1145/2897845.2897894
Citation Keygraziano_ropmemu:_2016