Seguridad de aplicaciones
Fuzzing guiado por cobertura
También conocido como: Fuzzing greybox, Fuzzing guiado por retroalimentación
Definición
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.
Ejemplos
- Compilar un parser en C con instrumentación de AFL++ y usar afl-fuzz para hacer crecer un corpus guiado por cobertura.
- libFuzzer usando SanitizerCoverage para evolucionar entradas en un crate de Rust.
Términos relacionados
Fuzz testing
Técnica de pruebas automatizadas que bombardea un programa con grandes cantidades de entrada malformada, aleatoria o inesperada para descubrir caídas, corrupción de memoria y vulnerabilidades.
Fuzzing por mutación
Estrategia de fuzzing que crea nuevas entradas de prueba mutando aleatoriamente muestras válidas existentes: invirtiendo bits, insertando bytes o combinando archivos.
Ejecución simbólica
Técnica de análisis de programas que ejecuta el código con entradas simbólicas en vez de valores concretos, construyendo restricciones de ruta resueltas por un solver SMT para encontrar bugs.
Desbordamiento de búfer
Fallo de seguridad de memoria en el que un programa escribe más allá del final de un búfer asignado, corrompiendo memoria adyacente y a menudo permitiendo ejecución de código.
Corrupción de memoria
Término paraguas para vulnerabilidades en las que un programa escribe fuera de los límites previstos, comprometiendo seguridad de tipos, flujo de control o integridad de datos.
Secure Coding
Secure Coding — definition coming soon.