WAFFLED TL;DR (castellano)

WAFFLED TL;DR (castellano)

Nota importada desde Inbox durante consolidacion bulk.

Resumen

Resumen analitico del paper academico WAFFLED, que demuestra como evadir Web Application Firewalls explotando discrepancias de parseo en encabezados y cuerpos HTTP. Mediante fuzzing estructurado sobre multipart/form-data, application/json y application/xml, se generaron 373.670 peticiones y se hallaron 1.207 bypasses unicos contra cinco WAF lideres. Se propone HTTP-Normalizer como defensa y se incluyen recomendaciones operativas para equipos SOC.

Contenido

Hallazgos Principales

  • WAFFLED demuestra que es posible evadir WAFs explotando discrepancias de parseo en encabezados y cuerpos HTTP
  • Mediante fuzzing estructurado se generaron 373.670 peticiones y se hallaron 1.207 bypasses unicos
  • WAFs evaluados: AWS WAF, Azure WAF, Google Cloud Armor, Cloudflare, ModSecurity
  • AWS WAF fue el unico que no se pudo eludir en las pruebas
  • El 90% de los sitios analizados aceptan intercambiablemente application/x-www-form-urlencoded y multipart/form-data, ampliando la superficie de ataque
  • Se clasificaron 24 familias de bypass (manipulacion de delimitadores, inyeccion de cabeceras en el cuerpo, insercion de bytes NULL, etc.)
  • Como defensa proponen HTTP-Normalizer: proxy que valida y normaliza cuerpos segun las RFC antes de que lleguen al WAF, bloqueando el 100% de los bypasses evaluados

Analisis

Recomendaciones para SOC

Area de Control Que vigilar / Como detectar Motivo tecnico
Registro y correlacion de parseos Replicar en modo shadow el resultado de parseo del WAF y del servidor. Alerta si difieren El ataque se basa en que ambos interpretan la peticion de forma distinta
Validacion estricta de RFC en gateway Descartar/normalizar peticiones con: parametros boundary continuados, Content-Type con bytes no imprimibles, Content-Length incoherentes Mutaciones exitosas descritas en WAFFLED
Analisis de entropia/longitud Alerta en peticiones multipart con una sola parte pequena o JSON/XML con nombres de campo atipicos (ej: f\x00ield) Mutaciones minimas disenadas para no alterar el payload pero si el parsing
Deteccion de caracteres anomalos Regla IDS/WAF para bytes de control (\x00, \x01-\x1F) en cabeceras y nombres de campo Boundary Delimiter Manipulation, Field Name Hack
Analisis de frecuencia de Content-Type Si un endpoint alterna frecuentemente entre JSON y multipart, generar alerta Muchos sitios aceptan ambos formatos, facilitando evasion
Pruebas de integridad lateral Reinyectar la peticion original al motor de aplicacion sin pasar por el WAF y comparar respuestas Detecta casos donde el WAF vio algo inocuo pero la app ejecuto el payload
Parsers redundantes (canary parse) Deserializar la peticion con dos librerias distintas; si el AST resultante difiere, marcar como sospechosa Previene discrepancias WAF-framework
Threat hunting proactivo Construir playbooks con las 24 familias de mutacion de WAFFLED para test interno continuo Reduce ventana de exposicion y valida reglas

Nota: Las contramedidas dependen del entorno y la capacidad de registrar/trazar el parseo en cada capa.

Puntos Clave

  • Las discrepancias de parseo HTTP son un vector de ataque real y medible contra WAFs de produccion
  • AWS WAF fue el mas resistente; Cloudflare, Azure, Google Cloud Armor y ModSecurity fueron eludidos
  • 24 familias de bypass clasificadas sistematicamente
  • HTTP-Normalizer como proxy de validacion RFC bloqueo el 100% de bypasses
  • La deteccion requiere correlacion entre lo que ve el WAF y lo que ejecuta la aplicacion

Referencias

  • Paper WAFFLED (fuente original)
  • OWASP WAF Bypass techniques
  • RFC 7578 (multipart/form-data)
  • RFC 7159 (JSON)

Themes