Por favor, use este identificador para citar o enlazar este ítem: http://hdl.handle.net/10609/146182
Registro completo de metadatos
Campo DC Valor Lengua/Idioma
dc.contributor.authorGàmez Montolio, Arnau-
dc.coverage.spatialValencia, ESP-
dc.date.accessioned2022-07-04T11:44:46Z-
dc.date.available2022-07-04T11:44:46Z-
dc.date.issued2022-06-
dc.identifier.urihttp://hdl.handle.net/10609/146182-
dc.description.abstractA Mixed Boolean-Arithmetic (MBA) expression is composed of integer arithmetic operators and bitwise operators. MBA expressions can be leveraged to obfuscate the data-flow of code by iteratively applying rewrite rules and function identities that complicate (obfuscate) the initial expression while preserving its semantic behavior. This possibility is motivated by the fact that the combination of operators from these different fields do not interact well together: we have no rules (distributivity, factorization...) or general theory to deal with this mixing of operators. In this project, we study and explore approaches to MBA simplification which are orthogonal to current techniques relying on a combination of symbolic execution and program synthesis. The main idea is to be able to extract some information from the underlying mathematical structure of such expressions. Then, this information can be used either alone or in combination with other techniques to aid in the task of MBA simplification. The focus is set upon recent research literature that develops such ideas, mainly addressing the problem of providing a normalized representation of (a subset of) linear MBA expressions as linear combinations with respect to an arbitrary set of minimal operators and expressions that form a basis of an ad hoc vector space where such linear MBA expressions live. We analyze the contributions, flaws and limitations of recent research in this regard, and provide practical applications. In particular, we leverage a semantics preserving transformation which reduces the alternation of arithmetic and bitwise operators of an MBA expression in the context of program synthesis based code deobfuscation. This transformation is then used to aid in the problem of verifying the semantic correctness of a synthesized candidate expression, thus improving the soundness of such technique.en
dc.description.abstractUna expressió Mixta Booleana-Aritmètica (MBA) està formada per operadors aritmètics sobre enters i operadors bit a bit. Les expressions MBA es poden aprofitar per ofuscar el flux de dades del codi aplicant iterativament regles de reescriptura i identitats de funcions que compliquen (ofusquen) l'expressió inicial, al mateix temps que es preserva el seu comportament semàntic. Aquesta possibilitat està motivada pel fet que la combinació d'operadors d'aquests dos camps diferents no interactuen gaire bé: no tenim regles (distributivitat, factorització...) o una teoria general per tractar amb aquests operadors barrejats. En aquest projecte, explorem enfocaments ortogonals a les tècniques actuals per tractar la simplificació d'expressions MBA, les quals es basen en l'ús combinat d'execució simbòlica i síntesi de programes. La idea principal és aconseguir extreure informació subjacent a l'estructura matemàtica d'aquestes expressions. Així, podem fer servir aquesta informació, siga per si mateixa o en combinació amb altres tècniques, per facilitar la tasca de simplificar expressions MBA. Posem èmfasi en l'estudi d'alguns articles acadèmics recents que desenvolupen aquestes idees, majoritàriament dirigits a proporcionar una representació normalitzada (d'un subconjunt) d'expressions MBA lineals com a combinacions lineals respecte a un conjunt arbitrari d'operadors mínims i expressions que conformen una base d'un espai vectorial ad hoc on habiten aquestes expressions MBA lineals. Analitzem les contribucions, defectes i limitacions de les investigacions recents en aquest sentit, i en proporcionem aplicacions pràctiques. En particular, aprofitem una transformació que redueix l'alternança d'operadors aritmètics i bit a bit d'una expressió MBA tot preservant-ne el comportament semàntic en el context de la desofuscació de codi basada en la síntesi de programes. Aquesta transformació s'utilitza després per ajudar en el problema de verificar la correcció semàntica d'una expressió candidata sintetitzada, millorant així la solidesa d'aquesta tècnica.ca
dc.description.abstractUna 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.es
dc.format.mimetypeapplication/pdf-
dc.language.isoeng-
dc.publisherUniversitat Oberta de Catalunya (UOC)-
dc.rightsCC BY-
dc.rights.urihttp://creativecommons.org/licenses/by/3.0/es/-
dc.subjectreverse engineeringen
dc.subjectmixed boolean-arithmetic expressionsen
dc.subjectsoftware protectionen
dc.subjectenginyeria inversaca
dc.subjectexpressions mixtes booleanes-aritmètiquesca
dc.subjectprotecció de softwareca
dc.subjectingeniería inversaes
dc.subjectexpresiones mixtas booleanas-aritméticases
dc.subjectprotección de softwarees
dc.subject.lcshReverse engineering -- TFMen
dc.titleAnalysis and applications of orthogonal approaches to simplify Mixed Boolean-Arithmetic expressions-
dc.typeinfo:eu-repo/semantics/masterThesis-
dc.subject.lemacEnginyeria inversa -- TFMca
dc.subject.lcshesIngeniería inversa -- TFMes
dc.contributor.tutorHernández Jiménez, Enric-
dc.rights.accessRightsinfo:eu-repo/semantics/openAccess-
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