Creación de grafos de llamada de ejecutables mediante DBI y análisis con RdP
DBI, o Dynamic Binary Instrumentation (Instrumentación Dinámica de Binarios), es una técnica de análisis de ejecutables que permite a un analista instrumentar, durante su ejecución, cualquier ejecutable en un máquina Windows (o MacOS, Linux e incluso Android) permitiendo definir los puntos donde se va a ejecutar un cierto código, que también es definido por el analista. Las Redes de Petri (RdP) es un lenguaje de modelado matemático con una gran potencia de análisis. Gráficamente, las RdP son un grafo bipartido con lugares y transiciones, y arcos que conectan un lugar con una transición o una transición con un lugar, pero nunca un lugar con otro lugar o una transición con otra transición.
Este trabajo tiene como objetivo el uso de DBI (inicialmente, se estudiará en máquinas Windows) para la creación de grafos de llamada de binarios. Estos grafos de llamada se pretende que sean una RdP, pudiendo tras la creación ser usados para análisis. Los objetivos del análisis del grafo de llamada resultante, que será una RdP, pueden ser desde el análisis de los caminos críticos (buscando cuál es el cuello de botella del ejecutable) hasta posibles errores de implementación (como por ejemplo localizar deadlocks en el binario). Estos resultados del análisis pueden ser útiles para una posterior revisión y mejora del código del ejecutable.
Lista de objetivos concretos
- Adquirir conocimientos de técnicas de análisis dinámicas
- Adquirir conocimientos de Redes de Petri
- Adquirir conocimientos de creación de herramientas de análisis con DBI
- Conocimientos de análisis de Redes de Petri, e interpretación en el contexto de DBI