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
Departamento de Informática e Ingeniería de Sistemas, Área de Arquitectura y Tecnología de Computadores

Ingeniero en Informática

Resumen: 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:
Trabajos académicos > Trabajos Académicos por Centro > Escuela de Ingeniería y Arquitectura
Trabajos académicos > Proyectos fin de carrera



Volver a la búsqueda

Valore este documento:

Rate this document:
1
2
3
 
(Sin ninguna reseña)