Obfuscate arrays by homomorphic functions

As various computers are connected into a world wide network, software protections becomes a more and more im- portant issue for software users and developers. There are some technical measures for software protections, such as hardware- based protections and software-based techniques, etc. Software obfuscation is one of these measures. It protects software from unauthorized modification by making software more obscure so that it is hard for the potential attacker to understand the obfuscated software. Chow et al. use residue number technique to software obfuscation by encoding variables in the original program to hide the true meaning of these variables (1). There is some discussion about the division of residue numbers in (1), but, in order to lay a sound ground for this technique, we proposed homomorphic functions in (2) to deal with division by several constants in residue numbers. Data structures are important components of programme and they are key clues for people to understand codes. Obfuscating data structures of programme will make it very hard for an enemy to attack them. In this paper, we apply homomorphic functions to obfuscating the data structures of software.

[1]  Roberto Giacobazzi,et al.  Semantic-Based Code Obfuscation by Abstract Interpretation , 2005, ICALP.

[2]  Arun Lakhotia,et al.  A method for detecting obfuscated calls in malicious binaries , 2005, IEEE Transactions on Software Engineering.

[3]  Stephen Drape,et al.  Obfuscation of abstract data-types , 2004 .

[4]  Levent Ertaul,et al.  Novel Obfuscation Algorithms for Software Security , 2005, Software Engineering Research and Practice.

[5]  Atsuko Miyaji,et al.  Java Obfuscation Approaches to Construct Tamper-Resistant Object-Oriented Programs , 2005 .

[6]  David Thomas,et al.  The Art in Computer Programming , 2001 .

[7]  Clark Thomborson,et al.  A PROVABLE SCHEME FOR HOMOMORPHIC OBFUSCATIONS IN SOFTWARE SECURITY , 2005 .

[8]  Gregory Wroblewski,et al.  General Method of Program Code Obfuscation , 2002 .

[9]  Stanley Chow,et al.  Tamper resistant software: extending trust into a hostile environment , 2001, MM&Sec '01.

[10]  Christian S. Collberg,et al.  A Taxonomy of Obfuscating Transformations , 1997 .

[11]  Christian S. Collberg,et al.  Watermarking, Tamper-Proofing, and Obfuscation-Tools for Software Protection , 2002, IEEE Trans. Software Eng..

[12]  Kouichi Sakurai,et al.  Program Obfuscation Scheme Using Random Numbers to Complicate Control Flow , 2005, EUC Workshops.

[13]  Akito Monden,et al.  A Framework for Obfuscated Interpretation , 2004, ACSW.

[14]  Nasir D. Memon,et al.  Obfuscation of design intent in object-oriented applications , 2003, DRM '03.

[15]  Jun Ge,et al.  Control flow based obfuscation , 2005, DRM '05.

[16]  Clark D. Thomborson,et al.  On the Use of Opaque Predicates in Mobile Agent Code Obfuscation , 2005, ISI.

[17]  Fei-Yue Wang,et al.  A Survey of Software Watermarking , 2005, ISI.