UCL Discovery
UCL home » Library Services » Electronic resources » UCL Discovery

Intertwining ROP Gadgets and Opaque Predicates for Robust Obfuscation

Nakanishi, F; De Pasquale, G; Ferla, D; Cavallaro, L; (2020) Intertwining ROP Gadgets and Opaque Predicates for Robust Obfuscation. arXiv Green open access

[thumbnail of 2012.09163.pdf]
Preview
Text
2012.09163.pdf - Submitted Version

Download (568kB) | Preview

Abstract

Software obfuscation plays a crucial role 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) gained popularity as one of the most effective exploitation techniques for memory error vulnerabilities. ROP interferes with our natural perception of a process control flow, which naturally inspires 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 propose ROPFuscator, a fine-grained obfuscation framework for C/C++ programs using ROP. 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.

Type: Report
Title: Intertwining ROP Gadgets and Opaque Predicates for Robust Obfuscation
Open access status: An open access version is available from UCL Discovery
DOI: 10.48550/arXiv.2012.09163
Publisher version: https://arxiv.org/abs/2012.09163
Language: English
Additional information: This version is the version of record. For information on re-use, please refer to the publisher's terms and conditions.
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/10133166
Downloads since deposit
41Downloads
Download activity - last month
Download activity - last 12 months
Downloads by country - last 12 months

Archive Staff Only

View Item View Item