A Thorough Investigation of Code Obfuscation Techniques for Software Protection
Keywords:
Code Obfuscation, Software Protection, Reverse EngineeringAbstract
The Process of reverse engineering allows attackers to understand the behavior of software and extract the proprietary algorithms and key data structures (e.g. cryptographic keys) from it. Code obfuscation is the technique is employed to protect the software from the risk of reverse engineering i.e. to protect software against analysis and unwanted modification. Program obfuscation makes code harder to analyze. In this paper we survey the literature on code obfuscation. we have analyze the different obfuscation techniques in relation to protection of intellectual property. At the last, we are purposing suggestion to provide protection from both the static and dynamic attacks.
References
Christian S. Collberg and Clark Thombor-son. Watermarking, tamper-proofing, and obfuscation - tools for software protection.In IEEE Transactions on Software Engineering, volume 28, pages 735–746, August 2002.
Shakya Sundar Das, Code Obfuscation using Code Splitting with Self-modifying Code, Disseration National Institute of Technology Rourkela -769 008, Odisha, India May 2014.
C. Collberg, C. Thomborson, and D. Low, “A taxonomy of obfuscating transformations," tech. rep., Department of Computer Science, The University of Auckland, New Zealand, 1997.
C. Wang, A security architecture for survivability mechanisms. PhD thesis, University of Virginia, 2001.
V. Balachandran and S. Emmanuel, “Potent and stealthy control flow obfuscation by stack based self-modifying code," Information Forensics and Security, IEEE Transactions on, vol. 8, no. 4, pp. 669-681, 2013.
M. H. Halstead, Elements of Software Science (Operating and programming systems series). Elsevier Science Inc., 1977.
T. J. McCabe, “A complexity measure," Software Engineering, IEEE Transactions on, no. 4, pp. 308-320, 1976.
W. A. Harrison and K. I. Magel, “A complexity measure based on nesting level," ACM Sigplan Notices, vol. 16, no. 3, pp. 63-74, 1981.
G. Wroblewski, General Method of Program Code Obfuscation (draft). PhD thesis, Citeseer, 2002.
C. Wang, A security architecture for survivability mechanisms. PhD thesis, University of Virginia, 2001
M. Madou, B. Anckaert, P. Moseley, S. Debray, B. De Sutter, and K. De Bosschere, “Software protection through dynamic code mutation," in Information Security Applications, pp. 194-206, Springer, 2006.
I. V. Popov, S. K. Debray, and G. R. Andrews, “Binary obfuscation using signals," in USENIX Security Symposium, pp. 275-290, 2007
Z. Wu, S. Gianvecchio, M. Xie, and H. Wang, “Mimimorphism: a new approach to binary code obfuscation," in Proceedings of the 17th ACM conference on Computer and communications security, pp. 536-546, ACM, 2010.
L. Shan and S. Emmanuel, “Mobile agent protection with self-modifying code," Journal of Signal Processing Systems, vol. 65, no. 1, pp. 105-116,2011
Z. Wang, C. Jia, M. Liu, and X. Yu, “Branch obfuscation using code mobility and signal," in Computer Software and Applications Conference Workshops (COMPSACW), 2012 IEEE 36th Annual, pp. 553-558, IEEE, 2012.
V. Balachandran and S. Emmanuel, “Potent and stealthy control ow obfuscation by stack based self-modifying code," Information Forensics and Security, IEEE Transactions on, vol. 8, no. 4, pp. 669-681, 2013.
“Idapro debugger : Data rescue [Online]." http://www.datarescue.com/. Last Accessed: 07-1-2015
“Immunity debugger [Online]."
https://www.immunityinc.com/productsimmdbg.shtml. Last Accessed: 07-1-2015.
“Olly debugger [Online]." http://www.ollydbg.de”. Last Accessed: 12-09-2013
Matias Madou, Bertrand Anckaert, Bjorn De Sutter, and De Bosschere Koen."Hybrid static-dynamic attacks against software protection mechanisms", In Proceedings of the 5th ACM Workshop on Digital Rights Management. ACM, 2005
Sebastian Schrittwieser and Stefan Katzenbeisser, "Code Obfuscation against Static and Dynamic Reverse Engineering", Vienna University of Technology, Austria, Darmstadt University of Technology, Germany.
Chow, S., Gu, Y., Johnson, H., and Zakharov, V.A.: "An Approach to the Obfuscation of Control-Flow of Sequential Computer Programs", In the proceedings of 4th International Conference on Information Security, LNCS Volume 2200. Pages 144-155. Springer-Verlag. Malaga, Spain. 2001.
F.Kazumasa , T.Haruaki ” An Obfuscation Method to Build a Fake Call Flow Graph by Hooking Method Calls” Las Vegas, USA IEEE, SNPD 2014, June 30-July 2, 2014.
Downloads
Published
How to Cite
Issue
Section
License

This work is licensed under a Creative Commons Attribution 4.0 International License.
Authors contributing to this journal agree to publish their articles under the Creative Commons Attribution 4.0 International License, allowing third parties to share their work (copy, distribute, transmit) and to adapt it, under the condition that the authors are given credit and that in the event of reuse or distribution, the terms of this license are made clear.
