Análisis y optimización del uso avanzado de AFL++ para la detección de vulnerabilidades de memoria mediante fuzzing dirigido por cobertura
[ES] En el desarrollo de software moderno, donde los sistemas informáticos forman parte de un número cada vez mayor de ámbitos de la vida cotidiana, la fiabilidad y la seguridad de las aplicaciones se han convertido en aspectos fundamentales. Durante el proceso de programación es habitual que se int...
| Author: | |
|---|---|
| Format: | master thesis |
| Publication Date: | 2026 |
| Country: | España |
| Institution: | Universitat Politècnica de València (UPV) |
| Repository: | RiuNet. Repositorio Institucional de la Universitat Politécnica de Valéncia |
| Language: | Spanish |
| OAI Identifier: | oai:dnet:riunet______::f09910e6dda7fffa7c26cec795385cd6 |
| Online Access: | https://riunet.upv.es/handle/10251/235818 |
| Access Level: | Open access |
| Keyword: | Fuzzing dirigido por cobertura Seguridad informática Ciberseguridad Vulnerabilidad informática Coverage-driven fuzzing Computer security Cybersecurity Computer vulnerability AFL++ LAF-Intel CmpLog Máster Universitario en Ciberseguridad y Ciberinteligencia-Màster Universitari en Ciberseguretat i Ciberinteligencia |
| Summary: | [ES] En el desarrollo de software moderno, donde los sistemas informáticos forman parte de un número cada vez mayor de ámbitos de la vida cotidiana, la fiabilidad y la seguridad de las aplicaciones se han convertido en aspectos fundamentales. Durante el proceso de programación es habitual que se introduzcan errores de forma involuntaria, derivados de la complejidad del propio software y de la interacción entre múltiples componentes. Estos fallos pueden manifestarse de diversas formas, desde comportamientos inesperados hasta errores más graves relacionados con la gestión incorrecta de recursos del sistema. Entre ellos, los errores asociados al manejo de memoria ocupan un lugar destacado, ya que pueden derivar en vulnerabilidades explotables que comprometan la integridad, confidencialidad o disponibilidad de un sistema. En este contexto, resulta esencial disponer de técnicas que permitan detectar este tipo de problemas de forma temprana, antes de que puedan ser aprovechados con fines maliciosos. Una de las metodologías más eficaces para lograrlo es el fuzzing dirigido por cobertura, que se ha consolidado como una técnica clave para el descubrimiento automatizado de vulnerabilidades de seguridad. Entre las herramientas de fuzzing más relevantes destaca AFL++, una evolución avanzada de American Fuzzy Lop que incorpora mejoras significativas en rendimiento, estrategias de mutación e instrumentación. El estudio parte de un análisis teórico del modelo de fuzzing dirigido por cobertura y de los mecanismos internos de AFL++, con el objetivo de establecer un marco conceptual sólido que permita interpretar correctamente los resultados experimentales posteriores. No obstante, la efectividad del proceso de fuzzing depende en gran medida de la estrategias empleadas y del uso de sus mecanismos avanzados. La presente investigación se centra en el análisis y optimización de configuraciones avanzadas de AFL++, entendidas como combinaciones de técnicas, modos de instrumentación y parámetros del fuzzer, evaluando el impacto de mecanismos como LAF-Intel, CmpLog y diferentes estrategias de instrumentación sobre la capacidad del fuzzer para explorar rutas profundas del programa y alcanzar condiciones que desencadenen vulnerabilidades de memoria. El trabajo considera principalmente escenarios con acceso al código fuente mediante instrumentación en tiempo de compilación, incorporando también el estudio de entornos donde únicamente se dispone del binario final, utilizando modos de ejecución basados en emulación, con el fin de valorar su utilización en contextos reales. La evaluación experimental se fundamenta en el análisis de métricas como la cobertura alcanzada, el número de ejecuciones por segundo, el descubrimiento de nuevos caminos y la generación de fallos reproducibles. A partir de los resultados obtenidos, se establecen criterios prácticos para la selección y ajustes de configuraciones avanzadas en campañas de fuzzing reales. De este modo, el trabajo no solo contribuye a mejorar la eficiencia del proceso de análisis automatizado, sino que también subraya la importancia de optimizar estas técnicas como herramienta preventiva dentro del ámbito de la seguridad del software, permitiendo identificar y corregir vulnerabilidades potenciales antes de que puedan ser explotadas por actores maliciosos. |
|---|