Por favor, use este identificador para citar o enlazar este ítem: http://hdl.handle.net/10609/146182
Título : Analysis and applications of orthogonal approaches to simplify Mixed Boolean-Arithmetic expressions
Autoría: Gàmez Montolio, Arnau
Tutor: Hernández Jiménez, Enric
Resumen : Una expresión Mixta Booleana-Aritmética (MBA) está formada por operadores aritméticos sobre enteros y operadores bit a bit. Las expresiones MBA se pueden aprovechar para ofuscar el flujo de datos del código aplicando iterativamente reglas de reescritura e identidades de funciones que complican (ofuscan) la expresión inicial, al tiempo que se preserva su comportamiento semántico. Esta posibilidad está motivada por el hecho de que la combinación de operadores de estos dos campos diferentes no interactúan muy bien: carecemos de reglas (distributividad, factorización...) o una teoría general para tratar con estos operadores mezclados. En este proyecto, exploramos enfoques ortogonales a las técnicas actuales para tratar la simplificación de expresiones MBA, que se basan en el uso combinado de ejecución simbólica y síntesis de programas. La idea principal es conseguir extraer información subyacente a la estructura matemática de estas expresiones. Así, podemos utilizar esta información, sea por sí misma o en combinación con otras técnicas, para facilitar la tarea de simplificar expresiones MBA. Ponemos énfasis en el estudio de algunos artículos académicos recientes que desarrollan estas ideas, mayoritariamente dirigidos a proporcionar una representación normalizada (de un subconjunto) de expresiones MBA lineales como combinaciones lineales respecto a un conjunto arbitrario de operadores mínimos y expresiones que conforman una base de un espacio vectorial ad hoc donde habitan estas expresiones MBA lineales. Analizamos las contribuciones, defectos y limitaciones de las investigaciones recientes en este sentido, y proporcionamos aplicaciones prácticas. En particular, aprovechamos una transformación que reduce la alternancia de operadores aritméticos y bit a bit de una expresión MBA preservando su comportamiento semántico en el contexto de la desofuscación de código basada en la síntesis de programas. Esta transformación se utiliza luego para ayudar al problema de verificar la corrección semántica de una expresión candidata sintetizada, mejorando así la solidez de esta técnica.
Palabras clave : ingeniería inversa
expresiones mixtas booleanas-aritméticas
protección de software
Tipo de documento: info:eu-repo/semantics/masterThesis
Fecha de publicación : jun-2022
Licencia de publicación: http://creativecommons.org/licenses/by/3.0/es/  
Aparece en las colecciones: Trabajos finales de carrera, trabajos de investigación, etc.

Ficheros en este ítem:
Fichero Descripción Tamaño Formato  
arnaugamezFMDP0622codi.zipCodi12,54 kBUnknownVisualizar/Abrir
arnaugamezFMDP0622report.pdfReport of TFM477,14 kBAdobe PDFVista previa
Visualizar/Abrir