La reciente revelación de un ataque de Denegación de Servicio (DoS) que afecta al protocolo HTTP/2 ha encendido las alarmas en la comunidad de seguridad cibernética. Este método, capaz de bloquear servidores web utilizando únicamente una conexión, marca un hito en la sofisticación de las amenazas digitales. La implementación generalizada de HTTP/2, diseñada para agilizar y optimizar la comunicación en la web, ahora enfrenta un desafío significativo.
Protocolo HTTP/2
Para comprender la magnitud de este descubrimiento, es esencial tener un conocimiento básico del protocolo HTTP/2. Introducido en 2015, HTTP/2 fue diseñado para mejorar la eficiencia, la velocidad y la seguridad de la comunicación en la web en comparación con su predecesor, HTTP/1.1. Con características como la multiplexación de solicitudes, la compresión de encabezados y la priorización de solicitudes, HTTP/2 ha sido ampliamente adoptado por sitios web de todo el mundo para ofrecer experiencias de usuario más rápidas y seguras.
Te podrá interesar: ¿Qué es HTTPS y para qué sirve?
El Ataque de Denegación de Servicio (DoS) en HTTP/2
Recientemente se han identificado vulnerabilidades en el protocolo HTTP/2, conocidas como "Continuation Flood", que pueden desencadenar ataques de denegación de servicio (DoS) capaces de inutilizar servidores web mediante una única conexión TCP en ciertas configuraciones.
Introducido en 2015, HTTP/2 se diseñó para potenciar el rendimiento web a través de la implementación de marcos binarios que permiten una transmisión de datos más eficiente, la multiplexación para habilitar numerosas solicitudes y respuestas simultáneas sobre una única conexión, y la compresión de encabezados para minimizar la latencia.
El investigador Barket Nowotarski descubrió las vulnerabilidades de Continuation Flood, señalando que están vinculadas al manejo inadecuado de los marcos de Continuation en HTTP/2, los cuales en muchas implementaciones no son adecuadamente limitados o verificados.
Los mensajes en HTTP/2 se componen de encabezados y cuerpos que se serializan en bloques, los cuales a su vez pueden dividirse en varios marcos para su transmisión. Los marcos de Continuation se emplean para ensamblar estos segmentos durante la transmisión.
Conoce más sobre: Pentesting vs Análisis de Vulnerabilidades
La falta de verificaciones rigurosas en muchas implementaciones permite a los atacantes enviar secuencias excesivamente largas de estos marcos, simplemente omitiendo la señal de 'FIN DE ENCABEZADOS', lo que lleva a los servidores a un colapso por desbordamiento de memoria o consumo excesivo de recursos de CPU mientras procesan estos marcos.
Nowotarski destacó que las situaciones de desbordamiento de memoria pueden causar la caída de los servidores utilizando solo una conexión TCP de HTTP/2 en algunas configuraciones, señalando que estos escenarios, aunque técnicamente simples y sin elementos de complejidad como lógicas extrañas o condiciones de carrera, son críticamente serios.
"Los casos de desbordamiento de memoria son probablemente los más mundanos, pero al mismo tiempo, los más peligrosos. No implican ninguna complejidad especial: no hay lógicas intrincadas, condiciones de carrera fascinantes, etc.", menciona Nowotarski.
"Las configuraciones que permiten el desbordamiento de memoria simplemente no limitaron el tamaño de la lista de encabezados que se puede crear mediante marcos de Continuation".
"Aquellas configuraciones sin un tiempo máximo para los encabezados solo necesitaban una conexión HTTP/2 para provocar la caída del servidor".
También te podrá interesar leer: Azure WAF: Una Barrera ante Amenazas Web
Implementación de HTTP/2 en el último año
El Centro de Coordinación CERT (CERT-CC) ha emitido una alerta, detallando una serie de identificadores de vulnerabilidades CVE vinculados a diversas implementaciones de HTTP/2 susceptibles a ataques de denegación de servicio (DoS). Estas vulnerabilidades varían en su naturaleza, incluyendo fuga de memoria, consumo excesivo de memoria y agotamiento de recursos de CPU, descritas de la siguiente manera:
- CVE-2024-27983: Impacta al servidor HTTP/2 de Node.js, donde ciertas tramas HTTP/2 pueden causar fugas de memoria debido a condiciones de carrera, llevando a posibles ataques DoS.
- CVE-2024-27919: Concierna al códec oghttp de Envoy, caracterizado por un consumo de memoria ilimitado al no finalizar una solicitud tras superar los límites del mapa de encabezados.
- CVE-2024-2758: Relacionado con Tempesta FW, cuyas restricciones de velocidad no detienen efectivamente ataques mediante tramas de Continuation vacías, permitiendo potenciales DoS.
- CVE-2024-2653: Afecta a amphp/http, acumulando tramas de Continuation en un buffer ilimitado, con el riesgo de colapso por desbordamiento de memoria (OOM) al superar el límite de tamaño de encabezado.
- CVE-2023-45288: Impacta a los paquetes net/http y net/http2 de Go, permitiendo el envío de un número arbitrariamente grande de encabezados, provocando un consumo excesivo de CPU.
- CVE-2024-28182: Implica a implementaciones que usan la biblioteca nghttp2, que siguen recibiendo tramas de Continuation sin una devolución de llamada de reinicio adecuada, generando DoS.
- CVE-2024-27316: Afecta a Apache Httpd, permitiendo el envío continuo de tramas Continuation sin el indicador END_HEADERS, finalizando solicitudes incorrectamente.
- CVE-2024-31309: Concierna al servidor de tráfico Apache, donde un ataque DoS mediante Continuation HTTP/2 puede causar un consumo excesivo de recursos en el servidor.
- CVE-2024-30255: Impacta a Envoy en versiones 1.29.2 o anteriores, vulnerable al agotamiento de CPU por una cascada de tramas de Continuation, consumiendo recursos significativos del servidor.
Conoce más sobre: Identificando vulnerabilidades: El poder de las CVE
Hasta la fecha, según CERT-CC, las entidades afectadas que han confirmado su vulnerabilidad a uno o más de los CVE mencionados incluyen Red Hat, SUSE Linux, Arista Networks, Apache HTTP Server Project, nghttp2, Node.js, AMPHP y el lenguaje de programación Go.
Nowotarski señala que este problema es más severo que el ataque 'HTTP/2 Rapid Reset' reportado previamente, destacando la amplia explotación activa de estas vulnerabilidades desde agosto de 2023. Con el tráfico HTTP superando el 70% de toda la transferencia de internet y la relevancia de los proyectos afectados, se estima que una gran porción de la red global podría estar expuesta a ataques relativamente simples de ejecutar, a menudo requiriendo solo una conexión TCP para comprometer un servidor.
El investigador también advierte sobre la complejidad de diagnosticar y mitigar estos problemas sin un conocimiento profundo de HTTP/2, ya que las solicitudes malintencionadas podrían no registrarse si no se habilita el análisis avanzado de tramas en el servidor, lo cual es común.
Dada la tendencia de los atacantes de adaptar rápidamente nuevas técnicas de ataques distribuidos de denegación de servicio (DDoS) para sus operaciones, es crucial actualizar los servidores y bibliotecas comprometidos a la brevedad para prevenir explotaciones activas.
Conclusión
El descubrimiento de este nuevo ataque de Denegación de Servicio en HTTP/2 sirve como un recordatorio de la constante evolución de las amenazas de seguridad cibernética. A medida que los atacantes continúan encontrando nuevas formas de explotar tecnologías establecidas, es imperativo que las organizaciones se mantengan vigilantes y proactivas en la implementación de medidas de seguridad robustas. Mantenerse informado sobre los últimos descubrimientos y tendencias en seguridad cibernética es esencial para defenderse contra ataques potenciales y asegurar la integridad y disponibilidad de los servicios en línea.
Para enfrentar eficazmente estas amenazas cibernéticas en constante evolución, contar con un SOC como Servicio es esencial. Este enfoque no solo proporciona una visibilidad completa de las amenazas en tiempo real sino también asegura una respuesta rápida y eficiente ante incidentes de seguridad. No esperes a ser el próximo objetivo; fortalece tu postura de seguridad hoy mismo con el SOC as a Service de TecnetOne y mantén tus operaciones seguras y resilientes.