Software complexity: measures and methods
Software complexity: measures and methods
Control flow graphs as a representation language
WSC '94 Proceedings of the 26th conference on Winter simulation
A graph distance metric based on the maximal common subgraph
Pattern Recognition Letters
Graph distances using graph union
Pattern Recognition Letters
Watermarking, tamper-proffing, and obfuscation: tools for software protection
IEEE Transactions on Software Engineering
Tamper Resistant Software: An Implementation
Proceedings of the First International Workshop on Information Hiding
Trustworthy Access Control with Untrustworthy Web Servers
ACSAC '99 Proceedings of the 15th Annual Computer Security Applications Conference
Control flow based obfuscation
Proceedings of the 5th ACM workshop on Digital rights management
Control Code Obfuscation by Abstract Interpretation
SEFM '05 Proceedings of the Third IEEE International Conference on Software Engineering and Formal Methods
Binary obfuscation using signals
SS'07 Proceedings of 16th USENIX Security Symposium on USENIX Security Symposium
Hi-index | 0.00 |
Modern obfuscation techniques are intended to discourage reverse engineering and malicious tampering of software programs. We study control-flow obfuscation, which works by modifying the control flow of the program to be obfuscated, and observe that it is difficult to evaluate the robustness of these obfuscation techniques. In this paper, we present a framework for quantitative analysis of control-flow obfuscating transformations. Our framework is based upon the control-flow graph of the program, and we show that many existing control-flow obfuscation techniques can be expressed as a sequence of basic transformations on these graphs. We also propose a new measure of the difficulty of reversing these obfuscated programs, and we show that our framework can be used to easily evaluate the space penalty due to the transformations.