Desarrollo de una librería de usuario para detección de TOCTOU en entornos Linux
Las condiciones de carrera pueden surgir cuando se realizan operaciones en el sistema de ficheros debido a que el sistema operativo no asegura la atomicidad de las operaciones de entrada/salida ni tampoco garantiza la consistencia del sistema de ficheros. Estas vulnerabilidades suponen una grave amenaza para la integridad, disponibilidad y confidencialidad de la información y de los sistemas, pues llegan a permitir a un atacante desde denegar el servicio a la aplicación hasta escalar privilegios en el sistema. Estas vulnerabilidades, conocidas como Time Of Check to Time Of Use (TOCTOU), suponen un auténtico reto dada su naturaleza no determinista. Su detección y prevención son difíciles y aún más su reproducción en análisis post-mortem debido a que su explotabilidad depende de factores externos como la carga del sistema o el estado de las variables de entorno. En este trabajo se presenta el estudio de la vulnerabilidad y el desarrollo de una librería de usuario para entornos Linux para detectarla y prevenirla llevando a cabo hooking de funciones. La librería trata de impedir la vulnerabilidad cambiando el comportamiento de las funciones marcadas como vulnerables para que comprueben la consistencia del sistema de ficheros. Se detallan, además, las limitaciones de la librería, así como su rendimiento mediante el uso de diferentes benchmarks.
Más información: Memoria TFM, presentación.
Alumno: Razvan Raducu