Abstract
Obfuscation is an important technique to protect software from adversary analysis. Control flow obfuscation effectively prevents attackers from understanding the program structure, hence impeding a broad set of reverse engineering efforts. In this paper, we propose a novel control flow obfuscation method which employs Turing machines to simulate the computation of branch conditions. By weaving the original program with Turing machine components, program control flow graph and call graph can become much more complicated. In addition, due to the runtime computation complexity of a Turing machine, program execution flow would be highly obfuscated and become resilient to advanced reverse engineering approaches via symbolic execution and concolic testing. We have implemented a prototype tool for Turing obfuscation. Comparing with previous work, our control flow obfuscation technique delivers three distinct advantages. (1) Complexity: the complicated structure of a Turing machine makes it difficult for attackers to understand the program control flow. (2) Universality: Turing machines can encode any computation and hence applicable to obfuscate any program component. (3) Resiliency: Turing machine brings in complex execution model, which is shown to withstand automated reverse engineering efforts. Our evaluation obfuscates control flow predicates of two widely-used applications, and the experimental results show that the proposed technique can obfuscate programs in stealth with good performance and robustness.
| Original language | English |
|---|---|
| Title of host publication | Security and Privacy in Communication Networks - 13th International Conference, SecureComm 2017, Proceedings |
| Editors | Ali Ghorbani, Xiaodong Lin, Kui Ren, Sencun Zhu, Aiqing Zhang |
| Publisher | Springer Verlag |
| Pages | 225-244 |
| Number of pages | 20 |
| ISBN (Print) | 9783319788128 |
| DOIs | |
| Publication status | Published - 2018 |
| Externally published | Yes |
| Event | 13th EAI International Conference on Security and Privacy in Communication Networks, SecureComm 2017 - [state] ON, Canada Duration: 22 Oct 2017 → 25 Oct 2017 |
Publication series
| Name | Lecture Notes of the Institute for Computer Sciences, Social-Informatics and Telecommunications Engineering, LNICST |
|---|---|
| Volume | 238 |
| ISSN (Print) | 1867-8211 |
Conference
| Conference | 13th EAI International Conference on Security and Privacy in Communication Networks, SecureComm 2017 |
|---|---|
| Country/Territory | Canada |
| City | [state] ON |
| Period | 22/10/17 → 25/10/17 |
Bibliographical note
Publisher Copyright:© ICST Institute for Computer Sciences, Social Informatics and Telecommunications Engineering 2018.
Keywords
- Control flow obfuscation
- Reverse engineering
- Software security
- Turing machine