Reference : Obfuscating LLVM Intermediate Representation Source Code with NSGA-II
Scientific congresses, symposiums and conference proceedings : Paper published in a book
Engineering, computing & technology : Computer science
Obfuscating LLVM Intermediate Representation Source Code with NSGA-II
de la Torre, Juan Carlos mailto []
Aragó-Jurado, José Miguel mailto [> >]
Jareño, Javier mailto [> >]
Varrette, Sébastien mailto [University of Luxembourg > Faculty of Science, Technology and Medicine (FSTM) > Department of Computer Science (DCS) >]
Dorronsoro, Bernabe mailto [> >]
15th Intl. Conf. on Computational Intelligence in Security for Information Systems (CISIS'22)
Lecture Notes in Network and Systems (LNNS)
15th International Conf. on Computational Intelligence in Security for Information Systems (CISIS'22)
Sept 5-7, 2022
[en] With the generalisation of distributed computing paradigms to sustain the surging demands for massive processing and data-analytic capabilities, the protection of the intellectual property tied to the executed programs transferred onto these remote shared platforms becomes critical. A more and more popular solution to this problem consists in applying obfuscating techniques, in particular at the source code level. Informally, the goal of obfuscation is to conceal the purpose of a program or its logic without altering its functionality, thus preventing reverse-engineering on the program even with the help of computing resources. This allows to protect software against plagiarism, tampering, or finding vulnerabilities that could be used for different kinds of attacks. The many advantages of code obfuscation, together with its low cost, makes it a popular technique. This paper proposes a novel methodology for source code obfuscation relying on the reference LLVM compiler infrastructure that can be used together with other traditional obfuscation techniques, making the code more robust against reverse engineering attacks. The problem is defined as a Multi-Objective Combinatorial Optimization (MOCO) problem, where the goal is to find sequences of LLVM optimizations that lead to highly obfuscated versions of the original code. These transformations are applied to the back-end pseudo- assembly code (i.e., LLVM Intermediate Representation), thus avoiding any further optimizations by the compiler. Three different problem flavours are defined and solved with popular NSGA-II genetic algorithm. The promising results show the potential of the proposed technique.
University of Luxembourg: High Performance Computing - ULHPC

File(s) associated to this reference

Fulltext file(s):

Limited access
lnns_cisis22_llvm_obfuscation.pdfAuthor preprint414.53 kBRequest a copy

Bookmark and Share SFX Query

All documents in ORBilu are protected by a user license.