logo móvil
Contáctanos

SpotFuzz: Fuzzing basado en puntos calientes del programa

Autores: Pang, Haibo; Jian, Jie; Zhuang, Yan; Ye, Yingyun; Li, Zhanbo

Idioma: Inglés

Editor: MDPI

Año: 2021

Descargar PDF

Acceso abierto

Artículo científico
2021

SpotFuzz: Fuzzing basado en puntos calientes del programa


Categoría

Ingeniería y Tecnología

Subcategoría

Ingeniería Eléctrica y Electrónica

Palabras clave

Ampliamente utilizado
AFL
Fuzzer guiado por cobertura
Semillas de energía
Puntos calientes
Bordes que consumen tiempo.

Licencia

CC BY-SA – Atribución – Compartir Igual

Consultas: 41

Citaciones: Sin citaciones


Descripción
AFL es el fuzzer guiado por cobertura más utilizado, que se basa en información de ejecución aproximada para asignar energía a las semillas, lo que puede llevar a desperdicio. Seguimos el programa ejecutado por AFL y descubrimos que los recuentos de impacto de cada borde pueden variar considerablemente al usar diferentes semillas como entradas. Algunas semillas, que reciben continuamente demasiada energía, experimentan recuentos de impacto muy altos de varios bordes sin nuevos fallos o bordes explorados, lo que resulta en una ejecución inválida y desperdicio de rendimiento. También definimos bordes que consumen tiempo y descubrimos que solo ocupan una pequeña parte del programa. En este documento, definimos los bordes de ejecución inválidos y los bordes que consumen tiempo como puntos calientes y proponemos una solución de fuzzing SpotFuzz para resolver el desperdicio de energía causado por el fenómeno de los puntos calientes mencionado anteriormente. Asigna semillas con más puntos calientes durante la ejecución y utiliza menos energía para reducir el desperdicio de energía. Además, selecciona preferentemente semillas con bordes menos consumidores de tiempo como casos de prueba, lo que permite explorar más bordes en un tiempo limitado. Implementamos un prototipo de SpotFuzz basado en AFL y lo probamos en varios programas reales durante 600 días de CPU. Los resultados experimentales muestran que minimizar la ejecución inválida y consumidora de tiempo de los bordes puede mejorar la eficiencia del fuzzing. En promedio, SpotFuzz pudo encontrar un 42.96% más de fallos únicos y un 14.25% más de bordes que AFL en GNU Binutils y tcpdump.

Otros recursos que podrían interesarte

Temas Virtualpro