Combining Obfuscation and Optimizations in the Real World - Archive ouverte HAL Accéder directement au contenu
Communication Dans Un Congrès Année : 2018

Combining Obfuscation and Optimizations in the Real World

Résumé

Code obfuscation is the de facto standard to protect intellectual property when delivering code in an unmanaged environment. It relies on additive layers of code tangling techniques, white-box encryption calls and platform-specific or tool-specific countermeasures to make it harder for a reverse engineer to access critical pieces of data or to understand core algorithms. The literature provides plenty of different obfuscation techniques that can be used at compile time to transform data or control flow in order to provide some kind of protection against different reverse engineering scenarii. Scheduling code transformations to optimize a given metric is known as the pass scheduling problem, a problem known to be NP-hard, but solved in a practical way using hard-coded sequences that are generally satisfactory. Adding code obfuscation to the problem introduces two new dimensions. First, as a code obfuscator needs to find a balance between obfuscation and performance, pass scheduling becomes a multi-criteria optimization problem. Second, obfuscation passes transform their inputs in unconventional ways, which means some pass combinations may not be desirable or even valid. This paper highlights several issues met when blindly chaining different kind of obfuscation and optimization passes, emphasizing the need of a formal model to combine them. It proposes a non-intrusive formalism to leverage on sequential pass management techniques. The model is validated on real-world scenarii gathered during the development of an industrial-strength obfuscator on top of the LLVM compiler infrastructure.
Fichier non déposé

Dates et versions

hal-02062166 , version 1 (08-03-2019)

Identifiants

Citer

Serge Guelton, Adrien Guinet, Pierrick Brunet, Juan Manuel Martinez, Fabien Dagnat, et al.. Combining Obfuscation and Optimizations in the Real World. 18th IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM), Sep 2018, Madrid, Spain. pp.24 - 33, ⟨10.1109/SCAM.2018.00010⟩. ⟨hal-02062166⟩
135 Consultations
0 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More