• español
    • English
  • Login
  • español 
    • español
    • English

UniversidaddeCádiz

Área de Biblioteca, Archivo y Publicaciones
Comunidades y colecciones
Ver ítem 
  •   RODIN Principal
  • Producción Científica
  • Artículos Científicos
  • Ver ítem
  •   RODIN Principal
  • Producción Científica
  • Artículos Científicos
  • Ver ítem
JavaScript is disabled for your browser. Some features of this site may not work without it.

Source code obfuscation with genetic algorithms using LLVM code optimizations

Thumbnail
Identificadores

URI: http://hdl.handle.net/10498/32296

DOI: https://doi.org/10.1093/jigpal/jzae069

Ficheros
jzae069.pdf (853.0Kb)
Estadísticas
Ver estadísticas
Métricas y Citas
 
Compartir
Exportar a
Exportar a MendeleyRefworksEndNoteBibTexRIS
Metadatos
Mostrar el registro completo del ítem
Autor/es
Torre Macías, Juan Carlos de laAutoridad UCA; Jareño Dorado, JavierAutoridad UCA; Aragón Jurado, José MiguelAutoridad UCA; Varrette, Sébastien; Dorronsoro Díaz, BernabéAutoridad UCA
Fecha
2024-05-14
Departamento/s
Ingeniería Informática
Resumen
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.
Materias
Source code obfuscation; LLVM; Intermediate representation; Genetic algorithms; Multi-objective optimization
Colecciones
  • Artículos Científicos [12006]
  • Articulos Científicos Ing. Inf. [313]

Listar

Todo RODINComunidades y ColeccionesPor fecha de publicaciónAutoresTítulosMateriasEsta colecciónPor fecha de publicaciónAutoresTítulosMaterias

Mi cuenta

AccederRegistro

Estadísticas

Ver Estadísticas de uso

Información adicional

Acerca de...Deposita en RODINPolíticasNormativasDerechos de autorEnlaces de interésEstadísticasNovedadesPreguntas frecuentes

RODIN está accesible a través de

OpenAIREOAIsterRecolectaHispanaEuropeanaBaseDARTOATDGoogle Académico

Enlaces de interés

Sherpa/RomeoDulcineaROAROpenDOARCreative CommonsORCID

RODIN está gestionado por el Área de Biblioteca, Archivo y Publicaciones de la Universidad de Cádiz

ContactoSugerenciasAtención al Usuario