Fuzzers de Generación

Los Fuzzers de generación también son denominados como pruebas basados en gramática o de caja blanca. Esta perspectiva se basa sobre la premisa de las pruebas eficientes requieren entender el funcionamiento interno del objetivo siendo evaluado. Los Fuzzers de generación no necesitan muestras de entradas válidas de datos, o capturas de protocolos como los basados en mutación. Estos son capaces de generar casos de prueba basados en modelos de datos describiendo la estructura de un dato o protocolo. Estos modelos son usualmente escritos como archivos de configuración, cuyos formatos varían basándose en las herramientas de Fuzzing utilizadas.

Uno de los principales problemas con los Fuzzers de generación es escribir los modelos de datos. Para protocolos simples o estructuras de datos para los cuales existe disponible documentación, este no es un problema principal, pero tales casos son raros y no tan interesantes debido a su simplicidad.

En realidad, las cosas son mucho más complicadas, y la disponibilidad de especificaciones y documentación, aún requiere un esfuerzo significativo para correctamente traducirlo hacia el modelo de Fuzzing. Las cosas incluso se tornan más complicadas cuando las compañías de software no siguen las especificaciones y las modifican ligeramente, o incluso introducen nuevas características no mencionadas en la especificación. En tales casos es necesario personalizar el modelo para el software objetivo, lo cual requiere esfuerzo adicional.

La mayoría de los formatos de archivos y protocolos propietarios no tienen incluso especificaciones públicas, de tal manera se debe realizar ingeniería inversa de los formatos. Todas estas cosas incrementan significativamente la cantidad de tiempo de preparación, lo cual puede hacer muy costoso el utilizar esta perspectiva.

Fuentes:

https://en.wikipedia.org/wiki/Fuzzing
http://community.peachfuzzer.com/GenerationMutationFuzzing.html

Sobre el Autor


Alonso Eduardo Caballero Quezada - ReYDeS
Instructor y Consultor en Hacking Ético, Forense Digital & GNU/Linux
Correo Electrónico: ReYDeS@gmail.com
Twitter: @Alonso_ReYDeS
LinkedIn: pe.linkedin.com/in/alonsocaballeroquezada
Facebook: https://www.facebook.com/alonsoreydes
Youtube: http://www.youtube.com/c/AlonsoCaballero
Resumen de mi CV: http://www.reydes.com/d/?q=node/1