CyberGlossary

Seguridad de aplicaciones

Fuzzing por mutación

También conocido como: Fuzzing mutacional, Fuzzing basado en muestras

Definición

Estrategia de fuzzing que crea nuevas entradas de prueba mutando aleatoriamente muestras válidas existentes: invirtiendo bits, insertando bytes o combinando archivos.

Los fuzzers por mutación parten de un corpus de entradas válidas —imágenes, paquetes de red, documentos— y aplican pequeñas modificaciones aleatorias (cambios de bits, sustitución de bytes, eliminación de bloques, splices) para generar nuevos candidatos. A diferencia de los fuzzers basados en generación, no necesitan una gramática del formato, por lo que son rápidos de aplicar a cualquier parser o protocolo. Combinados con retroalimentación de cobertura, AFL++ o libFuzzer evolucionan rápidamente entradas que exploran caminos profundos y disparan bugs de memory safety. Se usan para endurecer codecs, parsers de archivos, drivers del kernel y bibliotecas criptográficas durante el SSDLC.

Ejemplos

  • AFL++ mutando archivos PNG válidos para descubrir desbordamientos de heap en libpng.
  • libFuzzer mutando peticiones HTTP válidas para hacer crashear un parser HTTP propio.

Términos relacionados