HTTP Flood
Un HTTP Flood es un tipo de ataque de Denegación de Servicio (DDoS) que se dirige específicamente a aplicaciones web y servidores web.
Su objetivo es abrumar al servidor objetivo con una avalancha de solicitudes HTTP aparentemente legítimas, hasta que este ya no pueda responder al tráfico normal y el servicio se vuelva inaccesible para los usuarios reales.
¿Cómo funciona?
A diferencia de otros ataques DDoS que saturan el ancho de banda de la red, un HTTP Flood opera en la Capa 7 del modelo OSI (la capa de aplicación), que es donde funcionan protocolos como HTTP.
El ataque sigue estos pasos:
1. Creación de Solicitudes: El atacante utiliza una red de equipos comprometidos (un botnet) para generar una enorme cantidad de peticiones HTTP.
2. Tipos de Solicitudes:
- HTTP GET Flood: El botnet envía una gran cantidad de solicitudes de obtención (GET) para recuperar contenido del servidor. Por ejemplo, podría estar pidiendo repetidamente la misma página web, una imagen grande, un archivo PDF o cualquier recurso que consuma muchos recursos del servidor para ser generado o enviado.
- HTTP POST Flood: El botnet envía una gran cantidad de solicitudes de envío (POST), normalmente utilizadas en formularios de login, búsquedas o comentarios. Estas solicitudes obligan al servidor a procesar los datos recibidos, lo que consume aún más recursos de CPU y memoria que una simple solicitud GET.
3. Apariencia Legítima: Las solicitudes suelen provenir de direcciones IP diversas y imitan el comportamiento de un navegador web real (usando headers HTTP comunes como User-Agent), lo que hace que sea difícil diferenciarlas del tráfico legítimo con métodos simples.
4. Agotamiento de Recursos: El servidor web, al intentar responder a cada una de estas millones de solicitudes, agota sus recursos:
- CPU para procesar las peticiones.
- Memoria RAM para manejar las conexiones simultáneas.
- Ancho de banda para enviar las respuestas.
Finalmente, se sobrecarga y no puede atender a los usuarios reales, resultando en una denegación de servicio.
Objetivo Principal
Agotar los recursos del servidor web (como Apache, Nginx o IIS) o de la aplicación web que se ejecuta en él, haciendo que el sitio web o servicio online se vuelva extremadamente lento o completamente inaccesible.
Características Clave
- Ataque de Capa 7: Es sofisticado porque ataca la lógica de la aplicación, no solo la infraestructura de red.
- Bajo costo para el atacante: Enviar solicitudes HTTP simples requiere muy poco ancho de banda para el atacante, pero puede causar un gran impacto en el objetivo.
- Difícil de Mitigar: Dado que el tráfico malicioso se mezcla con el tráfico legítimo, los firewalls tradicionales suelen ser insuficientes. Se necesitan soluciones especializadas como Web Application Firewalls (WAF) y sistemas de mitigación DDoS que analicen el comportamiento de las solicitudes.
Ejemplo Sencillo
Imagina que un servidor web es una camarera en un restaurante muy concurrido. Un HTTP Flood sería como si 1000 personas (el botnet) le hicieran pedidos larguísimos y complicados al mismo tiempo, o le cambiaran constantemente su orden. La camarera estaría tan ocupada atendiendo estas peticiones falsas que no tendría tiempo para servirle a los clientes reales que solo quieren un café.
En resumen
Un HTTP Flood es un ataque DDoS que satura un servidor web con peticiones HTTP aparentemente normales, consumiendo todos sus recursos y dejándolo fuera de servicio.