RegFuzz: un enfoque basado en regresión lineal para la programación de semillas en fuzzing dirigido
Autores: Lin, Mingmin; Zeng, Yingpei; Li, Yang
Idioma: Inglés
Editor: MDPI
Año: 2023
Acceso abierto
Artículo científico
2023
RegFuzz: un enfoque basado en regresión lineal para la programación de semillas en fuzzing dirigido
Categoría
Ingeniería y Tecnología
Subcategoría
Ingeniería Eléctrica y Electrónica
Palabras clave
Fuzzing
Vulnerabilidades
RegFuzz
Dirigido
Eficiencia
Programación de semillas
Licencia
CC BY-SA – Atribución – Compartir Igual
Consultas: 27
Citaciones: Sin citaciones
El fuzzing dirigido tiene como objetivo centrarse en el fuzzing de ubicaciones específicas dentro de un programa objetivo para mejorar la eficiencia del descubrimiento de vulnerabilidades. Sin embargo, el fuzzing dirigido puede producir menos vulnerabilidades y obtener una cobertura de código más baja cuando las ubicaciones especificadas tienen pocas o ninguna vulnerabilidad. Además, los enfoques de fuzzing dirigido existentes a menudo pasan por alto las diferencias en los valores de variables al calcular distancias entre semillas y ubicaciones específicas. Para abordar estos problemas, este documento presenta RegFuzz, un método que mejora la programación de semillas en el fuzzing dirigido. RegFuzz utiliza un modelo de regresión lineal para predecir la efectividad de una semilla y asigna más oportunidades de fuzzing a semillas eficientes. Específicamente, primero, RegFuzz define varias etiquetas con los pesos entrenables correspondientes para cada semilla. Estas etiquetas abarcan la cobertura de semillas, la eficiencia de fallos, la distancia de semillas y más. En el cálculo de la distancia de semillas, RegFuzz tiene en cuenta no solo la distancia de bloque básico sino también lo contenido dentro de esos bloques básicos. En segundo lugar, el modelo de regresión lineal optimiza continuamente los pesos de las etiquetas durante el fuzzing, y estos pesos optimizados se emplean para predecir la efectividad de las semillas. En comparación con AFLGo, AFL y AFL++, RegFuzz demuestra una mayor cobertura de código y una capacidad más eficiente para encontrar errores en siete programas de código abierto del mundo real.
Descripción
El fuzzing dirigido tiene como objetivo centrarse en el fuzzing de ubicaciones específicas dentro de un programa objetivo para mejorar la eficiencia del descubrimiento de vulnerabilidades. Sin embargo, el fuzzing dirigido puede producir menos vulnerabilidades y obtener una cobertura de código más baja cuando las ubicaciones especificadas tienen pocas o ninguna vulnerabilidad. Además, los enfoques de fuzzing dirigido existentes a menudo pasan por alto las diferencias en los valores de variables al calcular distancias entre semillas y ubicaciones específicas. Para abordar estos problemas, este documento presenta RegFuzz, un método que mejora la programación de semillas en el fuzzing dirigido. RegFuzz utiliza un modelo de regresión lineal para predecir la efectividad de una semilla y asigna más oportunidades de fuzzing a semillas eficientes. Específicamente, primero, RegFuzz define varias etiquetas con los pesos entrenables correspondientes para cada semilla. Estas etiquetas abarcan la cobertura de semillas, la eficiencia de fallos, la distancia de semillas y más. En el cálculo de la distancia de semillas, RegFuzz tiene en cuenta no solo la distancia de bloque básico sino también lo contenido dentro de esos bloques básicos. En segundo lugar, el modelo de regresión lineal optimiza continuamente los pesos de las etiquetas durante el fuzzing, y estos pesos optimizados se emplean para predecir la efectividad de las semillas. En comparación con AFLGo, AFL y AFL++, RegFuzz demuestra una mayor cobertura de código y una capacidad más eficiente para encontrar errores en siete programas de código abierto del mundo real.