TAZ-PFC-2015-576


Prevención de ataques ROP en ejecutables mediante instrumentación dinámica

Martín Pérez, Miguel
Rodríguez Fernández, Ricardo J. (dir.) ; Viñals Yúfera, Víctor (dir.)

Universidad de Zaragoza, EINA, 2015
Informática e Ingeniería de Sistemas department, Arquitectura y Tecnología de Computadores area

Ingeniero en Informática

Abstract: Los ataques Return Oriented Programming (ROP) consisten en la ejecución no deseada de pequeñas secuencias de código que ya existen en la memoria de un proceso. El encadenamiento de estas secuencias logra que el proceso atacado tenga un comportamiento arbitrario. Este mecanismo de ataque consigue evadir además las defensas existentes, como por ejemplo W^X, ASLR o stack cookie. Las secuencias de código se conocen como gadgets y se caracterizan por acabar con una instrucción cambio de flujo, normalmente una instrucción de retorno de subrutina, que permite el encadenamiento de los gadgets. En concreto, este tipo de ataque se basa en inyectar en la pila (estructura de almacenamiento temporal que guarda: direcciones de retorno, variables locales, etc.) una secuencia de direcciones que apuntan a los gadgets. Así, cuando se ejecuta el retorno de una función vulnerable, se salta a la dirección inyectada en pila y comienza la ejecución de un gadget. En este PFC se presenta una técnica de defensa frente a estos ataques ROP basada en dos principios: (i) asegurar la integridad de la pila mediante un mecanismo de copia y vericación de determinados valores; (ii) asegurar la integridad del flujo de instrucciones del proceso mediante la comparación de éste con el flujo teórico del programa. Esta defensa se ha desarrollado sobre un autómata de pila implementado mediante el framework de instrumentación dinámica Pin de Intel. De esta forma, el autómata de pila se encarga de garantizar la integridad de los datos y procesos, mientras que Pin se encarga de ejecutar las acciones del autómata de forma transparente al proceso. En relación a otras soluciones, esta es la primera propuesta que une la protección de la pila y la integridad del flujo del proceso de forma dinámica. Con un sobrecoste medio de 3.5 veces el tiempo base, la eficiencia de nuestra solución es comparable a la de otras alternativas. Al mismo tiempo, la relación entre ataques detectados y falsos positivos es muy buena, ya que en nuestro conjunto de pruebas se han detectado todos los ataques probados sin falsos positivos.

Tipo de Trabajo Académico: Proyecto Fin de Carrera

Creative Commons License

El registro pertenece a las siguientes colecciones:
Academic Works > Trabajos Académicos por Centro > escuela-de-ingeniería-y-arquitectura
Academic Works > Final Degree Projects



Back to search

Rate this document:

Rate this document:
1
2
3
 
(Not yet reviewed)