doctoralThesis
Detección de vulnerabilidades y análisis de fallos con técnicas de aprendizaje automatizado.
Autor
Grieco, Gustavo
Institución
Resumen
La gran mayoría de los programas que utilizamos diariamente contienen numerosos
errores, los cuales causan desde dificultades menores de uso hasta su terminación
anormal y pérdida de información. Desafortunadamente, algunos fallos pueden ser
aprovechados para atacar la integridad, confidencialidad o disponibilidad de un sistema.
Debido a que ciertos sistemas informáticos cumplen un rol central en la vida
moderna, es muy importante no sólo encontrar errores en los programas sino también
identificar cuáles pueden resultar en vulnerabilidades que afectan a la seguridad de
los mismos.
La presente tesis comienza introduciendo conceptos básicos sobre aprendizaje automatizado
y seguridad en programas para ser utilizados extensivamente durante la
misma. Luego, se presentan varias herramientas y técnicas novedosas para la detección
de vulnerabilidades de manera automática. La primera de ellas es QuickFuzz,
una herramienta de fuzzing que utiliza la generación de entradas malformadas para
producir fallos en programas que procesan varios formatos de archivos complejos.
La segunda es XCraft, una herramienta utilizada para la evaluación de fallos de
seguridad a gran escala mediante técnicas de caja negra. También se presenta VDiscover,
una novedosa herramienta para la identificación de vulnerabilidades a partir
de fallos suministrados por el usuario. La misma utiliza varias técnicas de aprendizaje
automatizado para estimar la probabilidad de que un fallo pueda esconder una
vulnerabilidad que un atacante podría aprovechar fácilmente.
Finalmente, se exponen las conclusiones y las ideas futuras para continuar con la
investigación y el desarrollo de nuevas técnicas de detección de fallos y vulnerabilidades
en programas Grieco, Gustavo.Universidad Nacional de Rosario. Facultad de Ciencias Exactas, Ingeniería y Agrimensura. Escuela de Posgrado y Educación Continua. Rosario; Argentina.