Fuzzing
El fuzzing genera automáticamente entradas aleatorias o semialeatorias para alimentar un programa, monitorizando fallos y anomalías para descubrir vulnerabilidades.
Propósito
Descubrir automáticamente vulnerabilidades desconocidas; se usa mucho para probar la seguridad de parsers e implementaciones de protocolos.
Mecanismo
Genera entradas aleatorias o mutadas para alimentar el objetivo, vigilando fallos, informes de ASAN y tiempos de espera agotados. El fuzzing guiado por cobertura (libFuzzer/AFL) usa la retroalimentación de cobertura para dirigir la generación de entradas. El fuzzing consciente de la estructura entiende el formato de entrada.
Casos de uso
- Descubrimiento de vulnerabilidades
- Pruebas de seguridad de parsers
- Robustez de protocolos