De Pasquale, Giulio;
Nakanishi, Fukutomo;
Ferla, Daniele;
Cavallaro, Lorenzo;
(2023)
ROPfuscator: Robust Obfuscation with ROP.
In:
2023 IEEE Security and Privacy Workshops (SPW).
(pp. pp. 228-237).
IEEE: San Francisco, CA, USA.
Preview |
Text
woot23-paper4.pdf - Published Version Download (288kB) | Preview |
Abstract
Software obfuscation is crucial in protecting intellectual property in software from reverse engineering attempts. While some obfuscation techniques originate from the obfuscation-reverse engineering arms race, others stem from different research areas, such as binary software exploitation. Return-oriented programming (ROP) became one of the most effective exploitation techniques for memory error vulnerabilities. ROP interferes with our natural perception of a process control flow, inspiring us to repurpose ROP as a robust and effective form of software obfuscation. Although previous work already explores ROP's effectiveness as an obfuscation technique, evolving reverse engineering research raises the need for principled reasoning to understand the strengths and limitations of ROP-based mechanisms against man-at-the-end (MATE) attacks. To this end, we present ROPFuscator, a compiler-driven obfuscation pass based on ROP for any programming language supported by LLVM. We incorporate opaque predicates and constants and a novel instruction hiding technique to withstand sophisticated MATE attacks. More importantly, we introduce a realistic and unified threat model to thoroughly evaluate ROPFuscator and provide principled reasoning on ROP-based obfuscation techniques that answer to code coverage, incurred overhead, correctness, robustness, and practicality challenges. The project's source code is published online to aid further research..
Type: | Proceedings paper |
---|---|
Title: | ROPfuscator: Robust Obfuscation with ROP |
Event: | Workshop on Offensive Technologies (WOOT) |
Open access status: | An open access version is available from UCL Discovery |
DOI: | 10.1109/SPW59333.2023.00026 |
Publisher version: | https://doi.org/10.1109/SPW59333.2023.00026 |
Language: | English |
Additional information: | This version is the author accepted manuscript. For information on re-use, please refer to the publisher’s terms and conditions. |
Keywords: | Threat modeling, Computer languages, Program processors, Weapons, Source coding, Reverse engineering, Software |
UCL classification: | UCL UCL > Provost and Vice Provost Offices > UCL BEAMS UCL > Provost and Vice Provost Offices > UCL BEAMS > Faculty of Engineering Science UCL > Provost and Vice Provost Offices > UCL BEAMS > Faculty of Engineering Science > Dept of Computer Science |
URI: | https://discovery.ucl.ac.uk/id/eprint/10170894 |
Archive Staff Only
View Item |