Ataques a la capa de aplicación - Prácticas recomendadas de AWS para la resiliencia DDoS

Ataques a la capa de aplicación

Un atacante puede apuntar hacia la propia aplicación mediante un ataque de capa 7 o de capa de aplicación. En estos ataques, similares a los ataques a la infraestructura de inundación SYN, el atacante intenta sobrecargar funciones específicas de una aplicación para que la aplicación no esté disponible o no responda a los usuarios legítimos. En ocasiones, esto se puede lograr con volúmenes de solicitudes muy bajos que generan solo un volumen pequeño de tráfico de red. Esto puede hacer que el ataque sea difícil de detectar y no se pueda mitigar. Los ejemplos de ataques a la capa de aplicación incluyen inundaciones de HTTP, ataques de eliminación de caché e inundaciones XML-RPC de WordPress.

En un ataque de inundación de HTTP, un atacante envía solicitudes HTTP que parecen provenir de un usuario válido de la aplicación web. Algunas inundaciones de HTTP se dirigen a un recurso específico, mientras que las inundaciones de HTTP más complejas intentan emular la interacción humana con la aplicación. Esto puede aumentar la dificultad de usar técnicas de mitigación comunes, como la limitación de la velocidad de solicitudes.

Los ataques de eliminación de caché son un tipo de inundación de HTTP que utiliza variaciones en la cadena de consulta para eludir el almacenamiento en caché de la red de entrega de contenido (CDN, por sus siglas en inglés). En lugar de poder devolver los resultados almacenados en caché, la CDN debe contactar con el servidor de origen para cada solicitud de página, y estas recuperaciones de origen provocan una tensión adicional en el servidor web de la aplicación.

Con un ataque de inundación XML-RPC de WordPress, también conocido como inundación de pingback de WordPress, un atacante ataca un sitio web alojado en el software de gestión de contenido de WordPress. El atacante usa incorrectamente la función de API XML-RPC para generar una inundación de solicitudes HTTP. La característica de pingback permite que un sitio web alojado en WordPress (sitio A) notifique a un sitio diferente de WordPress (sitio B) a través de un enlace que el sitio A ha creado al sitio B. El sitio B intenta buscar el sitio A para verificar la existencia del enlace. En una inundación de pingback, el atacante hace un mal uso de esta capacidad para hacer que el sitio B ataque al sitio A. Este tipo de ataque tiene una firma clara: WordPress suele estar presente en el agente de usuario del encabezado de la solicitud HTTP.

Existen otras formas de tráfico malintencionado que pueden afectar a la disponibilidad de una aplicación. Los bots Scraper automatizan los intentos de acceder a una aplicación web para robar contenido o registrar información competitiva, como los precios. Los ataques de fuerza bruta y la reutilización de credenciales robadas son esfuerzos programados para obtener acceso no autorizado a áreas seguras de una aplicación. No se trata estrictamente de ataques DDoS; pero su naturaleza automatizada puede parecerse a un ataque DDoS y se pueden mitigar implementando algunas de las mismas prácticas recomendadas que se explican en este documento.

Los ataques a la capa de aplicación también pueden dirigirse a los servicios del sistema de nombres de dominio (DNS, por sus siglas en inglés). El más común de estos ataques es una inundación de consultas de DNS en la que un atacante utiliza muchas consultas de DNS bien formadas para agotar los recursos de un servidor de DNS. Estos ataques también pueden incluir un componente de eliminación de caché en el que el atacante aleatoriza la cadena de subdominio para evitar la memoria caché de DNS local de cualquier solucionador determinado. En consecuencia, el solucionador no puede aprovechar las consultas de dominio almacenadas en caché y, en su lugar, debe contactar repetidamente con el servidor de DNS autorizado, lo que amplifica el ataque.

Si una aplicación web se entrega a través de la seguridad de la capa de transporte (TLS, por sus siglas en inglés), un atacante también puede elegir atacar el proceso de negociación de TLS. La TLS es cara desde el punto de vista computacional, por lo que un atacante, al generar una carga de trabajo adicional en el servidor para procesar datos ilegibles (o ininteligibles [texto cifrado]) como un apretón de manos legítimo, puede reducir la disponibilidad del servidor. Otra variante posible de este ataque es que un atacante complete el protocolo de apretón de manos de TLS pero renegocie permanentemente el método de cifrado. Alternativamente, un atacante puede intentar agotar los recursos del servidor abriendo y cerrando muchas sesiones de TLS.