Fuzzing guiado por cobertura
¿Qué es Fuzzing guiado por cobertura?
Fuzzing guiado por coberturaTécnica de fuzzing que instrumenta el objetivo para medir cobertura de código y evoluciona entradas que exploran caminos nuevos, mejorando enormemente la eficacia.
Los fuzzers guiados por cobertura instrumentan el objetivo en tiempo de compilación o mediante traducción binaria dinámica y ejecutan los candidatos recolectando cobertura por aristas o bloques básicos. Las entradas que aportan nueva cobertura se guardan y se mutan más con un algoritmo evolutivo, de forma que el corpus deriva hacia código más difícil de alcanzar. Este bucle de retroalimentación, popularizado por AFL y refinado por AFL++, libFuzzer y Honggfuzz, es órdenes de magnitud más eficaz que el fuzzing aleatorio ciego. Es la base de proyectos como OSS-Fuzz de Google, que ha encontrado decenas de miles de bugs en software open source ejecutando estos fuzzers de forma continua.
● Ejemplos
- 01
Compilar un parser en C con instrumentación de AFL++ y usar afl-fuzz para hacer crecer un corpus guiado por cobertura.
- 02
libFuzzer usando SanitizerCoverage para evolucionar entradas en un crate de Rust.
● Preguntas frecuentes
¿Qué es Fuzzing guiado por cobertura?
Técnica de fuzzing que instrumenta el objetivo para medir cobertura de código y evoluciona entradas que exploran caminos nuevos, mejorando enormemente la eficacia. Pertenece a la categoría de Seguridad de aplicaciones en ciberseguridad.
¿Qué significa Fuzzing guiado por cobertura?
Técnica de fuzzing que instrumenta el objetivo para medir cobertura de código y evoluciona entradas que exploran caminos nuevos, mejorando enormemente la eficacia.
¿Cómo defenderse de Fuzzing guiado por cobertura?
Las defensas contra Fuzzing guiado por cobertura combinan habitualmente controles técnicos y prácticas operativas, como se detalla en la definición.
¿Cuáles son otros nombres para Fuzzing guiado por cobertura?
Nombres alternativos comunes: Fuzzing greybox, Fuzzing guiado por retroalimentación.