Afl++: un marco de descubrimiento y reproducción de vulnerabilidades
Autores: He, Guofeng; Xin, Yichen; Cheng, Xiuchuan; Yin, Guangqiang
Idioma: Inglés
Editor: MDPI
Año: 2024
Acceso abierto
Artículo científico
2024
Afl++: un marco de descubrimiento y reproducción de vulnerabilidades
Categoría
Ingeniería y Tecnología
Subcategoría
Ingeniería Eléctrica y Electrónica
Palabras clave
Minería de vulnerabilidades
Fuzzing dirigido en greybox
AFL++
Ejecución simbólica
Descubrimiento de vulnerabilidades
Programación de energía
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 50
Citaciones: Sin citaciones
La técnica de fuzzing de caja gris dirigido se puede utilizar principalmente para la extracción de vulnerabilidades y la replicación de vulnerabilidades. Sin embargo, todavía existen algunos problemas con las herramientas de fuzzing direccionales existentes. Uno de ellos es que después de proporcionar cambios o parches problemáticos, no es posible apuntar rápidamente y descubrir el problema. En segundo lugar, es difícil romper el camino de bytes mágicos, lo que dificulta la extracción de vulnerabilidades profundas. Este artículo propone un nuevo marco de extracción y reparación de vulnerabilidades: American Fuzz Lop Plus (AFL++). En primer lugar, utilizamos análisis de alias para mejorar los grafos de flujo de control interprocedimental y redefinir la fórmula de cálculo de distancias para obtener distancias más precisas. En segundo lugar, se utiliza el método de interpolación de Newton para la inicialización de energía de cada semilla para evitar que los casos de prueba sean filtrados debido a una energía baja. Se propone un algoritmo heurístico de programación de energía para programar de manera prudente la energía de las semillas. Durante la fase de exploración de caminos, ajustando la energía de las semillas, las semillas de menor distancia llegan rápidamente al objetivo; con el tiempo, las semillas tienden a explorar caminos más profundos. Luego representamos la distancia simbólica por el número de instrucciones pasadas para llegar al objetivo e investigamos la estrategia de búsqueda del camino más corto para lograr la poda de caminos, aliviando el problema de la explosión de caminos. Finalmente, basándonos en los métodos anteriores, implementamos el sistema prototipo AFL++, integrando fuzzing de caja gris dirigido con tecnología de ejecución simbólica para el descubrimiento de vulnerabilidades. Al intercalar la ejecución simbólica dirigida y el fuzzing de caja gris dirigido, se mejora eficazmente la eficiencia del descubrimiento y reproducción de vulnerabilidades.
Descripción
La técnica de fuzzing de caja gris dirigido se puede utilizar principalmente para la extracción de vulnerabilidades y la replicación de vulnerabilidades. Sin embargo, todavía existen algunos problemas con las herramientas de fuzzing direccionales existentes. Uno de ellos es que después de proporcionar cambios o parches problemáticos, no es posible apuntar rápidamente y descubrir el problema. En segundo lugar, es difícil romper el camino de bytes mágicos, lo que dificulta la extracción de vulnerabilidades profundas. Este artículo propone un nuevo marco de extracción y reparación de vulnerabilidades: American Fuzz Lop Plus (AFL++). En primer lugar, utilizamos análisis de alias para mejorar los grafos de flujo de control interprocedimental y redefinir la fórmula de cálculo de distancias para obtener distancias más precisas. En segundo lugar, se utiliza el método de interpolación de Newton para la inicialización de energía de cada semilla para evitar que los casos de prueba sean filtrados debido a una energía baja. Se propone un algoritmo heurístico de programación de energía para programar de manera prudente la energía de las semillas. Durante la fase de exploración de caminos, ajustando la energía de las semillas, las semillas de menor distancia llegan rápidamente al objetivo; con el tiempo, las semillas tienden a explorar caminos más profundos. Luego representamos la distancia simbólica por el número de instrucciones pasadas para llegar al objetivo e investigamos la estrategia de búsqueda del camino más corto para lograr la poda de caminos, aliviando el problema de la explosión de caminos. Finalmente, basándonos en los métodos anteriores, implementamos el sistema prototipo AFL++, integrando fuzzing de caja gris dirigido con tecnología de ejecución simbólica para el descubrimiento de vulnerabilidades. Al intercalar la ejecución simbólica dirigida y el fuzzing de caja gris dirigido, se mejora eficazmente la eficiencia del descubrimiento y reproducción de vulnerabilidades.