¿Qué es fuzzing?

Autor: | Última modificación: 9 de junio de 2022 | Tiempo de Lectura: 3 minutos
Temas en este post:

Existen técnicas para auditar sistemas y comprobar dónde tienen fallos; aquí es donde entra la importancia de conocer qué es fuzzing, ya que es una de ellas.

La ciberseguridad debe abarcar muchos frentes y, entre ellos, se encuentran el factor humano y el factor técnico. El factor humano se protege por medio de información, educación y capacitación. Los usuarios de un sistema son puertas impredecibles de ciberataques. Pero ¿qué hay de las amenazas técnicas de un sistema? ¿Son predecibles en un 100%? ¿Cómo puedes encontrarlas de manera exhaustiva?

Las amenazas técnicas abarcan la mayor parte de la ciberseguridad y hay un espectro de vulnerabilidades que una buena protección debe cubrir. Para encontrarlas, existen diferentes técnicas y herramientas. A continuación, te presentamos una de ellas y te explicamos qué es fuzzing.

¿Qué es fuzzing?

Si te preguntas qué es fuzzing, se trata de una técnica de testeo automatizado mediante la que se introducen datos inválidos, aleatorios o inesperados a un sistema informático. Estos datos de entrada podrían dar origen a algún error, y allí es donde los investigadores deben centrar su atención.

Encontrar un error por medio del fuzzing significa que hay un fallo por reparar. En el caso de pruebas de software y aplicaciones móviles, el fuzzing se centra en búsqueda de errores. En el caso de aplicaciones web, el fuzzing se usa de otro modo para encontrar vulnerabilidades.

Tipos de fuzzing

Ya hemos visto qué es fuzzing y que existen diferentes campos en los que puede aplicarse. Por lo tanto, ahora veremos qué tipos de fuzzing hay y para qué se usan en ciberseguridad.

Fuzzing de sistemas operativos

Un ejemplo famoso del uso de técnicas de fuzzing es el del sistema operativo de Apple para dispositivos móviles, iOS. Se han encontrado fallos para este sistema operativo usando el método de fuzzing, que prueba datos aleatorios en todos los puntos de entrada que encuentre el programa. Existen herramientas de código abierto y de pago para hace estos tests.

Fuzzing de aplicaciones móviles

🔴 ¿Quieres entrar de lleno a la Ciberseguridad? 🔴

Descubre el Ciberseguridad Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp en Ciberseguridad por una semana

En aplicaciones móviles, también se puede automatizar el ingreso de valores aleatorios en todos los puntos de entrada posibles. Un caso famoso ocurrió en WhatsApp con un fallo que fue encontrado por medio de fuzzing y que hubiese puesto en peligro los datos de los usuarios.

Fuzzing de aplicaciones web

El web fuzzing tiene un método diferente para encontrar errores, pues no busca el fallo directamente.

En cambio, un web fuzzer permite rastrear qué direcciones URL de un dominio están activas, para ver si hay contenido vulnerable disponible en ellas.

En el caso de encontrarse un archivo vulnerable en una dirección URL desprotegida, se estaría hallando un fallo de seguridad. Algunos de estos son recompensados en programas de Bug Bounty.

Herramientas para fuzzing

En auditorías de seguridad, tendrás que intentar descubrir fallos y saber qué es fuzzing te será muy útil para hacerlo. Para hacer fuzzing de sistemas operativos, aplicaciones móviles o aplicaciones web, estas tres herramientas te serán de gran ayuda.

Dirb

Dirb es un web fuzzer que viene instalado en Kali Linux. Este programa prueba direcciones URL aleatorias para probar si están activas en un dominio web. Al encontrar rutas activas, puedes revisar su contenido y encontrar si allí hay archivos vulnerables, como el código fuente.

Ffuf

Ffuf es una alternativa que se está popularizando y se está prefirendo por encima de Dirb. También es un web fuzzer, pero su principal ventaja es que está escrito en el lenguaje de programación Go. Dirb, por estar escrito en Python, es un programa mucho más lento.

American Fuzzy Lop

American Fuzzy Lop es un fuzzer desarrollado por Google. Lo puedes aplicar en aplicaciones web y sistemas operativos. Sin embargo, al probar fuzzers populares es menos probable que encuentres fallos en sitios más protegidos.

¿Cómo aprender más?

En ciberseguridad, descubrir las vulnerabilidades es una tarea que requiere de un conjunto amplio de técnicas y estrategias. El primer paso para encontrar posibles ataques al sistema es hacer una recolección de información completa sobre el estado en el que se encuentra. Por ello, para hacer auditorías, se usan herramientas como el fuzzing.

Ahora que sabes qué es fuzzing y cómo se usa en seguridad informática, puedes aplicarlo tú mismo para encontrar fallos. Recuerda contar con todos los permisos por parte del dueño de un sistema para aplicar estas herramientas. Revisa qué empresas tienen programas de Bug Bounty y practica con ellas para evitarte problemas con la ley.

Si quieres seguir aprendiendo y especializarte en ciberseguridad, tenemos la mejor alternativa para ti. Conoce nuestro Ciberseguridad Full Stack Bootcamp y descubre cómo convertirte en experto en menos de 7 meses. ¿A qué esperas? ¡Pide más información e inscríbete ya!

[email protected]

¿Sabías que hay más de 24.000 vacantes para especialistas en Ciberseguridad sin cubrir en España? 

En KeepCoding llevamos desde 2012 guiando personas como tú a áreas de alta empleabilidad y alto potencial de crecimiento en IT con formación de máxima calidad.

 

Porque creemos que un buen trabajo es fuente de libertad, independencia, crecimiento y eso ¡cambia historias de vida!


¡Da el primer paso!