Title :
Control code obfuscation by abstract interpretation
Author :
Preda, Mila Dalla ; Giacobazzi, Roberto
Author_Institution :
Dipt. di Informatica, Univ. di Verona, Italy
Abstract :
Control code obfuscation is intended to prevent malicious reverse engineering of software by masking the program control flow. These obfuscating transformations often rely on the existence of opaque predicates, that support the design of transformations that break up the program control flow. We prove that an algorithm for control obfuscation by opaque predicate insertion can be systematically derived as an abstraction of a suitable semantic transformation. In this framework, deobfuscation is interpreted as an attacker which can observe the computational behaviour of programs up to a given precision degree. Both obfuscation and deobfuscation can therefore be interpreted as approximations of program semantics, where approximation is formalized using abstract interpretation theory. In particular we prove that abstract interpretation provides the adequate setting to measure the potency of an obfuscation algorithm by comparing the degree of abstraction of the most abstract domains which are able to disclose opaque predicates.
Keywords :
program control structures; program diagnostics; program interpreters; program verification; programming language semantics; reverse engineering; abstract interpretation theory; control code obfuscation; opaque predicates; program control flow; program semantic transformation; reverse engineering; Control systems; Data structures; Electronic mail; Particle measurements; Resilience; Reverse engineering; Software engineering; Taxonomy; Transformers;
Conference_Titel :
Software Engineering and Formal Methods, 2005. SEFM 2005. Third IEEE International Conference on
Print_ISBN :
0-7695-2435-4
DOI :
10.1109/SEFM.2005.13