← Últimos artículos
💻 computer science

PUFFERDOS: Efficient and Effective Attack String Generation for Regular Expression Denial of Service Vulnerabilities

Este artículo presenta PUFFERDOS, una nueva herramienta que genera cadenas de ataque ReDoS prácticas y efectivas mediante la síntesis de entradas basadas en tres patrones vulnerables formalmente verificados y su refinamiento a través de la ejecución concolica composicional para asegurar la explotabilidad en el mundo real dentro de presupuestos de longitud realistas.

Autores originales: Shangzhi Xu, Ziqi Ding, Xiao Cheng, Yuekang Li, Nan Sun, Benjamin Turnbull, Shuangxiang Kan, Siqi Ma

Publicado 2026-06-19
📖 5 min de lectura🧠 Análisis profundo

Autores originales: Shangzhi Xu, Ziqi Ding, Xiao Cheng, Yuekang Li, Nan Sun, Benjamin Turnbull, Shuangxiang Kan, Siqi Ma

Artículo original bajo licencia CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta es una explicación generada por IA del artículo a continuación. No ha sido escrita ni avalada por los autores. Para mayor precisión técnica, consulte el artículo original. Leer descargo de responsabilidad completo

Imagina que tienes a un guardia de seguridad muy inteligente, pero ligeramente obsesivo, en la puerta de un edificio. Su trabajo es comprobar si tu tarjeta de identificación (la entrada) coincide con un patrón específico (la expresión regular, o "regex"). Normalmente, esto es rápido y fácil.

Pero hay un truco. Si le entregas una tarjeta de identificación muy específica y confusa, el cerebro del guardia se queda atrapado en un bucle. Empieza a comprobar todas las formas posibles en las que tu identificación podría coincidir con el patrón, una y otra vez, hasta que se queda sin energía y se desmaya. Esto se llama un ataque ReDoS (Denegación de Servicio por Expresión Regular). Es como engañar a una calculadora para que haga matemáticas para siempre hasta que se bloquea.

Durante mucho tiempo, los investigadores de seguridad han intentado encontrar estas trampas y crear "identificaciones de prueba" para demostrar que el guardia está averiado. Sin embargo, los métodos antiguos tenían dos grandes problemas:

  1. Las identificaciones eran demasiado largas: Requerían entradas tan enormes (como un libro lleno de texto) que ningún sitio web real aceptaría jamás.
  2. No encajaban con el edificio: Probaban al guardia de forma aislada, ignorando el hecho de que en un edificio real puede haber otros guardias (filtros) que detengan tu identificación antes de que llegue a la puerta principal.

Aquí entra PUFFERDOS. Piensa en PUFFERDOS como un maestro cerrajero que no solo elige la cerradura, sino que descubre exactamente cómo caminar por todo el edificio para llegar a la cerradura, utilizando la llave más corta y eficiente posible.

Así es como funciona PUFFERDOS, desglosado en pasos sencillos:

1. La estrategia del "Punto de Parada" (Hacer que el guardia trabaje más duro)

Los investigadores se dieron cuenta de que, para hacer que el guardia se congele, no basta con un patrón cualquiera que sea confuso; necesitas un patrón donde el guardia tenga que dar pasos diminutos e ineficientes.

  • La analogía: Imagina que el guardia camina por un pasillo. Si haces que se detenga en cada pulgada para revisar el suelo, se cansará rápido. Si solo se detiene cada 10 pies, se cansará más lento.
  • La solución: PUFFERDOS crea "llaves" (cadenas de ataque) que obligan al guardia a detenerse en cada pequeña pulgada. Lo hace eligiendo cuidadosamente caracteres específicos y organizándolos de modo que el guardia tenga que retroceder (volver atrás para comprobar de nuevo) tantas veces como sea posible. Esto hace que el ataque sea miles de veces más rápido que los métodos anteriores porque logra el mismo efecto de "congelación" con una llave mucho más corta.

2. Los tres patrones de "Trampa"

El equipo descubrió que la mayoría de las cerraduras rotas caen en tres formas específicas. PUFFEDORS tiene una receta especial para cada una:

  • La trampa de un solo bucle: Un único patrón que puede leerse de varias formas confusas. PUFFERDOS elige el carácter más corto y confuso para repetir.
  • La trampa de dos bucles: Dos patrones uno al lado del otro que pueden leer el mismo carácter. PUFFERDOS utiliza un carácter que ambos patrones pueden leer, forzándolos a discutir sobre quién se encarga de procesarlo.
  • La trampa de bucles múltiples: Una larga cadena de patrones. PUFFERDOS construye una llave que obliga al guardia a comprobar cada eslabón de la cadena individualmente.

3. El recorrido por el "Mundo Real" (Ejecución Concolica)

Esta es la parte más importante. Las herramientas antiguas simplemente probaban la cerradura en el vacío. PUFFERDOS simula el edificio completo.

  • La analogía: Imagina que tienes una llave que abre una puerta, pero la puerta está detrás de un control de seguridad, un recepcionista y un laberinto. Las herramientas antiguas solo te mostraban que la llave funciona en la puerta. PUFFERDOS te guía a través del laberinto, comprueba si el recepcionista te deja pasar y se asegura de que realmente llegues a la puerta.
  • El método: Utiliza una técnica llamada "ejecución concolica composicional". Piensa en esto como un resumen de mapa. En lugar de volver a recorrer cada paso del edificio cada vez, PUFFERDOS crea una "hoja de trucos" para cada habitación (función) del edificio. Pregunta: "¿Si le doy a esta habitación una llave confusa, la pasa a la siguiente habitación o la desecha?".
  • Al usar estas hojas de trucos, PUFFERDOS puede averiguar rápidamente si una llave corta y eficiente llegará realmente a la cerradura vulnerable en un programa real, o si será bloqueada por un filtro antes de que el proceso comience.

Los Resultados

El equipo probó PUFFERDOS en miles de programas del mundo real y en vulnerabilidades conocidas (CVE).

  • Velocidad: Generó cadenas de ataque que fueron entre 97 y 3.800 veces más eficientes que la mejor herramienta anterior. Podía congelar un sistema con una cadena diminuta en lugar de una enorme.
  • Tasa de éxito: Recreó con éxito el 96,8% de las vulnerabilidades conocidas (comparado con el 77,4% de la herramienta antigua).
  • Nuevos descubrimientos: Cuando probaron PUFFERDOS en 12 proyectos de software populares y reales, encontraron 59 nuevas vulneridades de seguridad, previamente desconocidas, que las herramientas antiguas pasaron por alto porque las herramientas antiguas no podían generar un ataque realista y lo suficientemente corto para demostrar que la vulnerabilidad existía.

En resumen: PUFFERDOS es una forma más inteligente y práctica de encontrar y demostrar que un sistema informático puede ser congelado por un patrón confuso. No solo encuentra la cerradura; encuentra la llave más corta y realista para trabarla, demostrando que el peligro es real y debe ser solucionado.

¿Ahogado en artículos de tu campo?

Recibe resúmenes diarios de los artículos más novedosos que coincidan con tus palabras clave de investigación — con resúmenes técnicos, en tu idioma.

Probar Digest →