Abstract
En una sociedad cada vez más digitalizada y conectada, la seguridad de las aplicaciones es un componente crítico para prevenir vulnerabilidades que puedan ser explotadas por agentes maliciosos. A raíz de estos problemas surge el fuzzing, consolidándose como una técnica automatizada para detectar fallos en el software y convirtiéndose en uno de los métodos más utilizados durante el desarrollo de aplicaciones mediante la generación de miles de casos de prueba inesperados.
En este Trabajo Fin de Grado se presenta FuzzEnd, una herramienta de fuzzing mutacional desarrollada en Python y diseñada para parsers de PDF, más concretamente para el binario pdfinfo de Xpdf v3.03. Este fuzzer incluye varios operadores de mutación que invierten bits de forma aleatoria, sobrescriben bytes con valores "mágicos" y alteran campos específicos de la estructura de estos archivos. Cada operador explora diferentes rutas de parsing, siendo polivalentes y generando PDFs corruptos que provocarán crashes; además, se incorpora un mecanismo de triaje que clasifica los fallos de la aplicación según si son únicos o repetidos basándose en la función donde se produce la violación de memoria.
Asimismo, FuzzEnd integra un modo de cobertura de código con el que se dirigen las mutaciones basándose en los archivos previos que han descubierto nuevos caminos en el binario, priorizando los PDFs más productivos que serán capaces de forzar (presuntamente) más fallos.
Los resultados muestran que FuzzEnd es capaz de detectar múltiples fallos en el binario objetivo, mostrando estadísticas detalladas sobre los crashes totales, únicos y repetidos, las funciones que fallan, así como timeouts y valores de éxito de cada operador. Su diseño y arquitectura modularizada permiten la extensión de la herramienta a otras utilidades o formatos similares, así como su mejora continua y sienta las bases para futuras optimizaciones de rendimiento.
Journal Title
Journal ISSN
Volume Title
Publisher
Universidad Rey Juan Carlos
URL external
External URL
DOI
Date
Description
Trabajo Fin de Grado leído en la Universidad Rey Juan Carlos en el curso académico 2024/2025. Directores/as: Sergio Pérez Peló
Keywords
Citation
Collections
Endorsement
Review
Supplemented By
Referenced By
Document viewer
Select a file to preview:
Reload



