Obfuscation as Instruction Decorrelation
Ali Ajorian, Erick Lavoie, Christian Tschudin

TL;DR
This paper introduces instruction decorrelation as a novel obfuscation method that makes program instructions appear independent, enhancing security while maintaining practicality through specific transformations and trusted execution environments.
Contribution
It formally defines instruction independence, proposes program transformations to achieve it, and demonstrates a practical implementation using trusted execution environments.
Findings
Instruction decorrelation makes instructions appear independent.
Transformations like random interleaving and memory obfuscation meet independence criteria.
Implementation shows feasibility of decorrelation-based obfuscation on real hardware.
Abstract
Obfuscation of computer programs has historically been approached either as a practical but \textit{ad hoc} craft to make reverse engineering subjectively difficult, or as a sound theoretical investigation unfortunately detached from the numerous existing constraints of engineering practical systems. In this paper, we propose \textit{instruction decorrelation} as a new approach that makes the instructions of a set of real-world programs appear independent from one another. We contribute: a formal definition of \textit{instruction independence} with multiple instantiations for various aspects of programs; a combination of program transformations that meet the corresponding instances of instruction independence against an honest-but-curious adversary, specifically random interleaving and memory access obfuscation; and an implementation of an interpreter that uses a trusted execution…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLaw in Society and Culture
