DocumentCode :
728939
Title :
Obfuscator-LLVM -- Software Protection for the Masses
Author :
Junod, Pascal ; Rinaldini, Julien ; Wehrli, Johan ; Michielin, Julie
Author_Institution :
HES-SO, Univ. of Appl. Sci. & Arts Western Switzerland, Yverdon-les-Bains, Switzerland
fYear :
2015
fDate :
19-19 May 2015
Firstpage :
3
Lastpage :
9
Abstract :
Software security with respect to reverse-engineering is a challenging discipline that has been researched for several years and which is still active. At the same time, this field is inherently practical, and thus of industrial relevance: indeed, protecting a piece of software against tampering, malicious modifications or reverse-engineering is a very difficult task. In this paper, we present and discuss a software obfuscation prototype tool based on the LLVM compilation suite. Our tool is built as different passes, where some of them have been open-sourced and are freely available, that work on the LLVM Intermediate Representation (IR) code. This approach brings several advantages, including the fact that it is language-agnostic and mostly independent of the target architecture. Our current prototype supports basic instruction substitutions, insertion of bogus control-flow constructs mixed with opaque predicates, control-flow flattening, procedures merging as well as a code tamper-proofing algorithm embedding code and data checksums directly in the control-flow flattening mechanism.
Keywords :
reverse engineering; security of data; LLVM compilation suite; LLVM intermediate representation code; code tamper-proofing algorithm embedding code; control-flow flattening mechanism; obfuscator-LLVM; reverse-engineering; software obfuscation prototype tool; software protection; software security; Cryptography; Merging; Resistance; Routing; Software; Software algorithms;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Software Protection (SPRO), 2015 IEEE/ACM 1st International Workshop on
Conference_Location :
Florence
Type :
conf
DOI :
10.1109/SPRO.2015.10
Filename :
7174804
Link To Document :
بازگشت