Aprendizaje por refuerzo basado en programación de semillas de múltiples fases para fuzzing de protocolos de red
Autores: Cheng, Mingjie; Zhu, Kailong; Chen, Yuanchao; Lu, Yuliang; Chen, Chiyu; Yu, Jiayi
Idioma: Inglés
Editor: MDPI
Año: 2024
Acceso abierto
Artículo científico
2024
Aprendizaje por refuerzo basado en programación de semillas de múltiples fases para fuzzing de protocolos de red
Categoría
Ingeniería y Tecnología
Subcategoría
Ingeniería Eléctrica y Electrónica
Palabras clave
Fuzzing de protocolo de red
SCFuzz
Programación de semillas
Modelo de bandido de múltiples brazos
Cobertura de código
Asignación de potencia
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 28
Citaciones: Sin citaciones
En el fuzzing de protocolos de red, la programación efectiva de semillas juega un papel crítico en la mejora de la eficiencia de las pruebas. Los métodos tradicionales de programación de semillas impulsados por el estado en el fuzzing de protocolos de red suelen estar limitados por una selección desequilibrada de semillas, estrategias de programación monolíticas y una asignación de energía ineficaz. Para superar estas limitaciones, proponemos SCFuzz, específicamente mediante el empleo de un modelo de bandas de múltiples brazos para equilibrar dinámicamente la exploración y la explotación en múltiples fases de fuzzing. El proceso de fuzzing se divide en fases inicial, intermedia y final con estrategias de selección de semillas adaptadas en cada fase para optimizar el descubrimiento de nuevos estados, rutas y cobertura de código. Además, SCFuzz emplea un método de asignación de energía basado en pesos de estado, centrándose en mensajes de alto potencial para mejorar la eficiencia general del fuzzing. Las evaluaciones experimentales en implementaciones de protocolos de código abierto muestran que SCFuzz mejora significativamente la cobertura de estados y código, logrando hasta un 17.10% más de estados, un 22.92% más de transiciones de estado y un 7.92% más de cobertura de ramas de código en comparación con AFLNet. Además, SCFuzz mejora la efectividad de la selección de semillas en un 389.37% y aumenta la utilización de energía en un 45.61%, impulsando eficazmente la eficiencia general del fuzzing.
Descripción
En el fuzzing de protocolos de red, la programación efectiva de semillas juega un papel crítico en la mejora de la eficiencia de las pruebas. Los métodos tradicionales de programación de semillas impulsados por el estado en el fuzzing de protocolos de red suelen estar limitados por una selección desequilibrada de semillas, estrategias de programación monolíticas y una asignación de energía ineficaz. Para superar estas limitaciones, proponemos SCFuzz, específicamente mediante el empleo de un modelo de bandas de múltiples brazos para equilibrar dinámicamente la exploración y la explotación en múltiples fases de fuzzing. El proceso de fuzzing se divide en fases inicial, intermedia y final con estrategias de selección de semillas adaptadas en cada fase para optimizar el descubrimiento de nuevos estados, rutas y cobertura de código. Además, SCFuzz emplea un método de asignación de energía basado en pesos de estado, centrándose en mensajes de alto potencial para mejorar la eficiencia general del fuzzing. Las evaluaciones experimentales en implementaciones de protocolos de código abierto muestran que SCFuzz mejora significativamente la cobertura de estados y código, logrando hasta un 17.10% más de estados, un 22.92% más de transiciones de estado y un 7.92% más de cobertura de ramas de código en comparación con AFLNet. Además, SCFuzz mejora la efectividad de la selección de semillas en un 389.37% y aumenta la utilización de energía en un 45.61%, impulsando eficazmente la eficiencia general del fuzzing.