Open Access   Article Go Back

A Thorough Investigation of Code Obfuscation Techniques for Software Protection

Krishan Kumar1 , Prabhpreet Kaur2

Section:Review Paper, Product Type: Journal Paper
Volume-3 , Issue-5 , Page no. 158-164, May-2015

Online published on May 30, 2015

Copyright © Krishan Kumar , Prabhpreet Kaur . This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

View this paper at   Google Scholar | DPI Digital Library

How to Cite this Paper

  • IEEE Citation
  • MLA Citation
  • APA Citation
  • BibTex Citation
  • RIS Citation

IEEE Style Citation: Krishan Kumar , Prabhpreet Kaur, “A Thorough Investigation of Code Obfuscation Techniques for Software Protection,” International Journal of Computer Sciences and Engineering, Vol.3, Issue.5, pp.158-164, 2015.

MLA Style Citation: Krishan Kumar , Prabhpreet Kaur "A Thorough Investigation of Code Obfuscation Techniques for Software Protection." International Journal of Computer Sciences and Engineering 3.5 (2015): 158-164.

APA Style Citation: Krishan Kumar , Prabhpreet Kaur, (2015). A Thorough Investigation of Code Obfuscation Techniques for Software Protection. International Journal of Computer Sciences and Engineering, 3(5), 158-164.

BibTex Style Citation:
@article{Kumar_2015,
author = {Krishan Kumar , Prabhpreet Kaur},
title = {A Thorough Investigation of Code Obfuscation Techniques for Software Protection},
journal = {International Journal of Computer Sciences and Engineering},
issue_date = {5 2015},
volume = {3},
Issue = {5},
month = {5},
year = {2015},
issn = {2347-2693},
pages = {158-164},
url = {https://www.ijcseonline.org/full_paper_view.php?paper_id=497},
publisher = {IJCSE, Indore, INDIA},
}

RIS Style Citation:
TY - JOUR
UR - https://www.ijcseonline.org/full_paper_view.php?paper_id=497
TI - A Thorough Investigation of Code Obfuscation Techniques for Software Protection
T2 - International Journal of Computer Sciences and Engineering
AU - Krishan Kumar , Prabhpreet Kaur
PY - 2015
DA - 2015/05/30
PB - IJCSE, Indore, INDIA
SP - 158-164
IS - 5
VL - 3
SN - 2347-2693
ER -

VIEWS PDF XML
2553 2286 downloads 2538 downloads
  
  
           

Abstract

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.

Key-Words / Index Term

Code Obfuscation, Software Protection, Reverse Engineering

References

[1]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.
[2] Shakya Sundar Das, Code Obfuscation using Code Splitting with Self-modifying Code, Disseration National Institute of Technology Rourkela -769 008, Odisha, India May 2014.
[3] 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.
[4] C. Wang, A security architecture for survivability mechanisms. PhD thesis, University of Virginia, 2001.
[5] 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.
[6] M. H. Halstead, Elements of Software Science (Operating and programming systems series). Elsevier Science Inc., 1977.
[7] T. J. McCabe, “A complexity measure," Software Engineering, IEEE Transactions on, no. 4, pp. 308-320, 1976.
[8] 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.
[9] G. Wroblewski, General Method of Program Code Obfuscation (draft). PhD thesis, Citeseer, 2002.
[10] C. Wang, A security architecture for survivability mechanisms. PhD thesis, University of Virginia, 2001
[11] 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.
[12] I. V. Popov, S. K. Debray, and G. R. Andrews, “Binary obfuscation using signals," in USENIX Security Symposium, pp. 275-290, 2007
[13] 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.
[14] 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
[15] 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.
[16] 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.
[17]“Idapro debugger : Data rescue [Online]." http://www.datarescue.com/. Last Accessed: 07-1-2015
[18]“Immunity debugger [Online]."
https://www.immunityinc.com/productsimmdbg.shtml. Last Accessed: 07-1-2015.
[19] “Olly debugger [Online]." http://www.ollydbg.de”. Last Accessed: 12-09-2013
[20] 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
[21] Sebastian Schrittwieser and Stefan Katzenbeisser, "Code Obfuscation against Static and Dynamic Reverse Engineering", Vienna University of Technology, Austria, Darmstadt University of Technology, Germany.
[22] 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.
[23]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.