Title :
Software code obfuscation by hiding control flow information in stack
Author :
Balachandran, Vivek ; Emmanuel, Sabu
Author_Institution :
Sch. of Comput. Eng., Nanyang Technol. Univ., Singapore, Singapore
fDate :
Nov. 29 2011-Dec. 2 2011
Abstract :
Software code released to the user has the risk of reverse engineering attacks. Obfuscation is a technique in which the software code is transformed into a semantically equivalent form which is harder to reverse engineer. In this paper, we propose an algorithm to obfuscate software programs. The basic idea of our algorithm is to remove vital information such as jump instructions from the program code section and hide them in the data section. These instructions are then reconstructed to their original form dynamically at run time, thus making the program semantically equivalent to the original program. Experimental results on programs from the SPECint benchmark suites indicate that the algorithm performs well in introducing instruction disassembly errors and control flow errors without bloating up the size of the program too much.
Keywords :
data encapsulation; reverse engineering; control flow error; control flow information hiding; instruction disassembly error; reverse engineering attack; software code obfuscation; software program code section; Engines; Heuristic algorithms; Layout; Reverse engineering; Runtime; Software; Software algorithms;
Conference_Titel :
Information Forensics and Security (WIFS), 2011 IEEE International Workshop on
Conference_Location :
Iguacu Falls
Print_ISBN :
978-1-4577-1017-9
Electronic_ISBN :
978-1-4577-1018-6
DOI :
10.1109/WIFS.2011.6123121