¿Qué es fuzzing?

| Última modificación: 18 de abril de 2024 | Tiempo de Lectura: 3 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

Existen diversas 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, debes saber que se trata de una técnica de pruebas automatizadas, mediante la que se introducen datos inválidos, aleatorios o inesperados en 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 hacking se centra en búsqueda de errores. En el caso de aplicaciones web, el fuzzing se usa de otro modo para encontrar vulnerabilidades.

Qué es fuzzing

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

🔴 ¿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

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 test.

Fuzzing de aplicaciones móviles

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 profundizar en cómo hacer fuzzing de sistemas operativos, aplicaciones móviles o aplicaciones web, estas tres herramientas te serán de gran ayuda.

  • 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 es una alternativa que se está popularizando y se está prefiriendo 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 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 evitar problemas con la ley.

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

Carlos Cilleruelo

CEO and co-founder of Byron Labs & Coordinador del Bootcamp en Ciberseguridad.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Ciberseguridad

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado