logo móvil
Contáctanos

Un fuzzer para detectar vulnerabilidades de uso después de liberar

Autores: Zhao, Xiaoqi; Qu, Haipeng; Yi, Jiaohong; Wang, Jinlong; Tian, Miaoqing; Zhao, Feng

Idioma: Inglés

Editor: MDPI

Año: 2024

Descargar PDF

Acceso abierto

Artículo científico
2024

Un fuzzer para detectar vulnerabilidades de uso después de liberar


Categoría

Matemáticas

Subcategoría

Matemáticas generales

Palabras clave

Fuzzing
Detección de vulnerabilidades
Uso después de liberar
UAF-Fuzzer
Operaciones de memoria
Análisis estático

Licencia

CC BY-SA – Atribución – Compartir Igual

Consultas: 23

Citaciones: Sin citaciones


Descripción
El Fuzzing es una técnica de detección de vulnerabilidades automatizada ampliamente utilizada. La mayoría de los fuzzers existentes están guiados por la cobertura de bordes, lo que los hace menos efectivos en la detección de vulnerabilidades específicas, especialmente las vulnerabilidades de uso después de liberar (UAF). Esto se debe a que la activación de una vulnerabilidad UAF no solo debe cubrir una operación de memoria específica, sino también cumplir con una secuencia específica de operaciones. En este documento, proponemos UAF-Fuzzer para detectar UAFs, que consta de etapas de análisis estático y fuzzing. En la etapa de análisis estático, UAF-Fuzzer primero utiliza la identificación del objetivo para determinar los bloques básicos que pueden causar UAFs como los bloques básicos objetivo; posteriormente, instrumenta estos bloques básicos objetivo. Posteriormente, proponemos un método de evaluación de operaciones de memoria para evaluar la complejidad de las operaciones de memoria. En la etapa de fuzzing, UAF-Fuzzer asigna energía a las semillas utilizando una operación de evaluación de memoria y emplea un algoritmo de selección de semillas novedoso para priorizar la ejecución de casos de prueba que probablemente desencadenen vulnerabilidades UAF. Diseñamos e implementamos un UAF-Fuzzer para mejorar la detección de UAFs y lo comparamos con AFL, AFLFast, FairFuzz, MOPT, EcoFuzz y TortoiseFuzz en términos de detección de vulnerabilidades UAF, detección de fallos y descubrimiento de rutas. Los resultados mostraron que UAF-Fuzzer es más efectivo en términos de detectar vulnerabilidades UAF. También hemos descubierto tres vulnerabilidades UAF, las hemos enviado al mantenimiento de software para su corrección y hemos obtenido IDs de CVE.

Otros recursos que podrían interesarte

Temas Virtualpro