by drmunozcl
Share
Por drmunozcl
Compartir
El Fuzzing es una técnica de prueba automatizada que envía entradas aleatorias, mutadas o generadas a un objetivo para provocar fallos y descubrir vulnerabilidades. En ciberseguridad, el Fuzzing permite detectar errores de memoria, validación deficiente de datos y estados inesperados en binarios, parsers, protocolos, APIs y firmware. Su eficacia radica en la ejecución masiva y guiada por cobertura, lo que revela defectos que escapan a pruebas tradicionales.
Cómo funciona el Fuzzing
A grandes rasgos, el flujo de trabajo del Fuzzing es el siguiente:
- Definir el objetivo: binario, biblioteca, parser, protocolo o endpoint HTTP.
- Preparar un harness y un corpus de semillas representativo; instrumentar con cobertura y sanitizadores como ASan y UBSan.
- Ejecutar el fuzzer en bucle; muta o genera casos de prueba y prioriza rutas nuevas mediante cobertura.
- Monitorizar resultados: registrar bloqueos, timeouts y aserciones; reproducir y minimizar casos que fallan.
- Triaged y corrección: deduplicar por backtrace y cobertura, priorizar impactos y automatizar en CI CD para evitar regresiones.
Tipos de Fuzzing y herramientas
- Basado en mutación: altera entradas reales para explorar variaciones rápidamente. Ejemplos: AFL y AFL++, honggfuzz.
- Basado en generación: crea entradas con conocimiento del formato o protocolo, útil para gramáticas complejas.
- Guiado por cobertura: instrumenta el código y favorece casos que abren nuevas rutas. Ejemplos: libFuzzer, AFL++.
- Ecosistema: OSS-Fuzz ofrece infraestructura en la nube para proyectos open source y acelera la detección de fallos críticos.
Métricas y buenas prácticas de Fuzzing
- Cobertura alcanzada y funciones no ejercitadas.
- Crashes únicos y calidad del corpus minimizado.
- Rendimiento del fuzzer en ejecuciones por segundo y estabilidad.
- Integración en CI CD, sandboxing y limitación de recursos.
- Harnesses pequeños y deterministas; registro de semillas que reproducen fallos.
Conclusión
El Fuzzing aporta una defensa proactiva al encontrar vulnerabilidades desconocidas con alta probabilidad de explotación. Integrarlo en el ciclo de desarrollo seguro complementa SAST y DAST, reduce deuda técnica y eleva la resiliencia de software y servicios.
Relacionado
MANTENTE INFORMADO
Suscríbete a nuestro newsletter gratuito.
Te preguntas «¿Qué es Credential Stuffing?» Es un ataque automatizado donde delincuentes prueban, a gran escala, combinaciones de usuario y contraseña filtradas en otros servicios. Si un usuario reutiliza credenciales, el atacante accede sin necesidad de hackear el sistema. Spoiler: no son hackers con capucha adivinando contraseñas una por una, son bots probando miles por
Si te preguntas qué es criptojacking, es el uso no autorizado de los recursos de cómputo (CPU/GPU, energía y red) de tus equipos o servidores para minar criptomonedas, generalmente Monero, por parte de atacantes. No roban datos directamente, pero exprimen tu infraestructura, encarecen la nube y reducen el rendimiento; si tu CPU suena como turbina
Si tu estrategia de seguridad se basa en que nadie entenderá tu código o en mantener en secreto cómo funciona tu sistema, estás compitiendo contra el tiempo. Un empleado que cambia de equipo, un repositorio mal configurado o una filtración en un proveedor pueden exponer tus detalles técnicos. Cuando eso ocurre, el ataque deja de
La criptografía poscuántica (PQC) es el conjunto de algoritmos diseñados para proteger datos y comunicaciones frente a computadoras cuánticas que podrían romper criptosistemas clásicos como RSA y ECC. Su objetivo es mantener la confidencialidad y la integridad a largo plazo, mitigando el riesgo de capturar ahora y descifrar después. El NIST lidera la estandarización de



