Source code obfuscation with genetic algorithms using LLVM code optimizations

Logic Journal of the IGPL (forthcoming)
  Copy   BIBTEX

Abstract

With the advent of the cloud computing model allowing a shared access to massive computing facilities, a surging demand emerges for the protection of the intellectual property tied to the programs executed on these uncontrolled systems. If novel paradigm as confidential computing aims at protecting the data manipulated during the execution, obfuscating techniques (in particular at the source code level) remain a popular solution 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. 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 that can be used together with other traditional obfuscation techniques, making the code more robust against reverse engineering attacks. Three program complexity metrics are used to define three different single-objective combinatorial optimization versions of the problem, which are solved and analysed. Additionally, three multi-objective problems are defined, those considering each of the selected metrics together with the program execution time, in order to avoid strong obfuscations penalizing the performance. The goal of the defined problems 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. Classical genetic algorithms (GAs) are used to solve the studied problems, namely a basic cellular GA for the single-objective problems and the popular NSGA-II for the multi-objective ones. The promising results show the potential of the proposed technique.

Links

PhilArchive



    Upload a copy of this work     Papers currently archived: 92,907

External links

Setup an account with your affiliations in order to access resources via your University's proxy server

Through your library

Similar books and articles

The genetic code and the origin of life.Josef Berger - 1976 - Acta Biotheoretica 25 (4):259-263.
Phases of degeneracy of the genetic code.Manfred Welti - 1987 - Acta Biotheoretica 36 (2):51-60.
From symbolism to information? – Decoding the Gene code.Frode Kjosavik - 2007 - Biology and Philosophy 22 (3):333-349.
What Do These Words Encode?Nigel Love - 2019 - Constructivist Foundations 15 (2):142-144.
The arbitrariness of the genetic code.Ulrich E. Stegmann - 2004 - Biology and Philosophy 19 (2):205-222.
Code, coding and coded perspectives.L. Jean Camp - 2003 - Journal of Information, Communication and Ethics in Society 1 (1):49-60.

Analytics

Added to PP
2024-05-18

Downloads
1 (#1,910,345)

6 months
1 (#1,508,411)

Historical graph of downloads

Sorry, there are not enough data points to plot this chart.
How can I increase my downloads?

Author's Profile

Jose Aragon
National Distance Education University

Citations of this work

No citations found.

Add more citations

References found in this work

No references found.

Add more references