Paper published in a book (Scientific congresses, symposiums and conference proceedings)
Obfuscating LLVM Intermediate Representation Source Code with NSGA-II
de la Torre, Juan Carlos; Aragó-Jurado, José Miguel; Jareño, Javier et al.
2022In 15th Intl. Conf. on Computational Intelligence in Security for Information Systems (CISIS'22)
Peer reviewed
 

Files


Full Text
lnns_cisis22_llvm_obfuscation.pdf
Author preprint (424.48 kB)
Request a copy

All documents in ORBilu are protected by a user license.

Send to



Details



Abstract :
[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.
Research center :
ULHPC - University of Luxembourg: High Performance Computing
Disciplines :
Computer science
Author, co-author :
de la Torre, Juan Carlos
Aragó-Jurado, José Miguel
Jareño, Javier
VARRETTE, Sébastien ;  University of Luxembourg > Faculty of Science, Technology and Medicine (FSTM) > Department of Computer Science (DCS)
Dorronsoro, Bernabe
External co-authors :
yes
Language :
English
Title :
Obfuscating LLVM Intermediate Representation Source Code with NSGA-II
Publication date :
September 2022
Event name :
15th International Conf. on Computational Intelligence in Security for Information Systems (CISIS'22)
Event place :
Salamanca, Spain
Event date :
Sept 5-7, 2022
Audience :
International
Main work title :
15th Intl. Conf. on Computational Intelligence in Security for Information Systems (CISIS'22)
Publisher :
Springer, Salamanca, Spain
Collection name :
Lecture Notes in Network and Systems (LNNS)
Peer reviewed :
Peer reviewed
Available on ORBilu :
since 01 August 2022

Statistics


Number of views
272 (5 by Unilu)
Number of downloads
0 (0 by Unilu)

Bibliography


Similar publications



Contact ORBilu