Introducción al Fuzzing

Una de las maneras más rápidas de entrar en la investigación de vulnerabilidades, es a través de las pruebas de software. Las pruebas tradicionales de software de tipo caja negra, son interesantes desde la perspectiva de investigación de vulnerabilidades, porque no requieren una comprensión de los mecanismos internos del software. El único requerimiento para empezar a buscar por vulnerabilidades, es conocer cuales interfaces permiten la interacción con el software, y generar los datos pasados a través de estas interfaces.

El “Fuzzing” o pruebas de “fuzz” son una clase de pruebas a software y hardware, en el cual los datos utilizados para realizar las pruebas son aleatoriamente generados. De esta manera, el problema de generar entradas se simplifica enormemente, además de no requerir ningún conocimiento sobre el funcionamiento interno del software, o la estructura de los datos de entrada. Esto puede parecer una perspectiva simplificada, pero se ha comprobado produce resultados, y permite encontrar vulnerabilidades relevantes de seguridad en el software.

A través de los años, mucha investigación ha sido realizada para mejorar las pruebas de software y técnicas de fuzzing. En la actualidad, el fuzzing no implica más el uso de datos generados aleatoriamente como un medio para probar las entradas, pero en su lugar es más un sinónimo para cualquier tipo de prueba automática de software y hardware.

El objetivo principal es tener ideas para mejorar las diferentes etapas del fuzzing, lo cual permitirá encontrar más vulnerabilidades de seguridad. Algunos términos utilizados de manera similar son software, programa y aplicación. También “fuzzing”, pruebas de fuzz, y pruebas. Y finalmente agujero, vulnerabilidad o falla.

Fuentes:

https://en.wikipedia.org/wiki/Fuzzing
https://www.owasp.org/index.php/Fuzzing

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