Title
Metamorphic code generation from LLVM bytecode.
Abstract
Metamorphic software changes its internal structure across generations with its functionality remaining unchanged. Metamorphism has been employed by malware writers as a means of evading signature detection and other advanced detection strategies. However, code morphing also has potential security benefits, since it can serve to increase the "genetic diversity" of software. We have created a metamorphic code generator within the LLVM compiler framework. LLVM is a three-phase compiler that supports multiple source languages and target architectures. It uses a common intermediate representation (IR) bytecode in its optimizer. Consequently, any supported high-level programming language is transformed to this IR bytecode as part of the LLVM compilation process. Our metamorphic generator functions at the IR bytecode level, which provides many advantages over morphing at the assembly or source code level. The morphing techniques that we employ include dead code insertion and transposition, where the dead code is actually executed within the morphed code, making its detection and removal more challenging. We have verified the effectiveness of our code morphing using hidden Markov model analysis.
Year
DOI
Venue
2014
10.1007/s11416-013-0194-3
J. Computer Virology and Hacking Techniques
Keywords
Field
DocType
computer science,it,electronics,telecommunications
Metamorphic code,Unreachable code,Programming language,Source code,Computer science,Code generation,Compiler,Bytecode,Code morphing,Dead code
Journal
Volume
Issue
ISSN
10
3
2274-2042
Citations 
PageRank 
References 
4
0.53
15
Authors
3
Name
Order
Citations
PageRank
Teja Tamboli140.53
Thomas H. Austin230715.96
s smeltzer mark340.53