TY - GEN
T1 - Turing obfuscation
AU - Wang, Yan
AU - Wang, Shuai
AU - Wang, Pei
AU - Wu, Dinghao
N1 - Funding Information:
Acknowledgment. We thank the anonymous reviewers for their valuable feedback. This research was supported in part by the National Science Foundation (NSF) under grant CNS-1652790, and the Office of Naval Research (ONR) under grants N00014-13-1-0175, N00014-16-1-2265, and N00014-16-1-2912.
PY - 2018
Y1 - 2018
N2 - 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.
AB - 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.
UR - http://www.scopus.com/inward/record.url?scp=85045988175&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85045988175&partnerID=8YFLogxK
U2 - 10.1007/978-3-319-78813-5_12
DO - 10.1007/978-3-319-78813-5_12
M3 - Conference contribution
AN - SCOPUS:85045988175
SN - 9783319788128
T3 - Lecture Notes of the Institute for Computer Sciences, Social-Informatics and Telecommunications Engineering, LNICST
SP - 225
EP - 244
BT - Security and Privacy in Communication Networks - 13th International Conference, SecureComm 2017, Proceedings
A2 - Ghorbani, Ali
A2 - Lin, Xiaodong
A2 - Ren, Kui
A2 - Zhu, Sencun
A2 - Zhang, Aiqing
PB - Springer Verlag
T2 - 13th EAI International Conference on Security and Privacy in Communication Networks, SecureComm 2017
Y2 - 22 October 2017 through 25 October 2017
ER -