Conecta con nosotros

Noticias

Cuatro fallos graves en HTTP/2 ponen en riesgo 85 millones de sitios web

Publicado el

Cuatro fallos graves en HTTP/2 ponen en riesgo 85 millones de sitios web

Cuatro fallos graves en HTTP/2 ponen en riesgo 85 millones de sitios web

Un grupo de investigadores de Imperva ha expuesto en la conferencia de Black Hat los resultados de una investigación llevada a cabo en los últimos cuatro meses, descubriendo cuatro fallos graves en HTTP/2, la última versión del protocolo utilizado para servir sitios web. Las vulnerabilidades descubiertas permiten a los atacantes ralentizar el funcionamiento de los servidores a través de inundarlos con gigabytes de carga de datos o ponerlos a ejecutar bucles infinitos, pudiendo hasta causar su caída.

MS Recomienda

Estudio sobre ciberseguridad en la empresa española ¡Participa en nuestra encuesta y gana!
Estudio "La virtualización en las empresas españolas" ¡Descárgate el informe!
Gestiona los dispositivos de tu empresa de forma inteligente Leer

HTTP/2 fue lanzado en mayo del año pasado, cuando Google empaquetó el proyecto SPDY en dicho protocolo en febrero del mismo año, en un esfuerzo por acelerar la carga de los sitios web y mejorar la experiencia a la hora de navegar. El protocolo que nos ocupa puede ser dividido en tres capas:

  • La capa de transmisión que incluye las propias transmisiones de datos, los marcos y el control de flujo.
  • El binario de cifrado HPACK y el protocolo de compresión.
  • La capa de semántica, que es una versión mejorada de la versión implementada en HTTP/1.1 enriquecida con capacidades para hacer subidas al servidor.

Los investigadores han analizado en profundidad las implementaciones de HTTP/2 de Apache, Microsoft, NGINX, Jetty y nghttp2, descubriendo fallos en todas las grandes implementaciones de este protocolo, incluyendo dos que son muy similares a otros fallos conocidos de HTTP/1.X.

Los cuatro fallos descubiertos por los investigadores de Imperva son los siguientes.

Lectura Lenta (CVE-2016-1546)

Lectura Lenta en HTTP/2 (CVE-2016-1546)

Es idéntico a Slowris, el mayor ataque DDoS realizado contra los principales servicios de tarjetas de crédito y que se produjo en 2010. Con un ataque de Lectura Lenta (Slow Read) se puede realizar llamadas un cliente malicioso para que lea respuestas de forma muy lenta. Además de HTTP/2, también afecta a versiones anteriores del mismo protocolo e Imperva ha descubierto variantes de esta vulnerabilidad que afectan a las distintas implementaciones de Apache, IIS, Jetty, NGINX y nghttp2.

HPACK Bomb (CVE-2016-1544, CVE-2016-2525)

HPACK Bomb en HTTP/2 (CVE-2016-1544, CVE-2016-2525)

HPACK Bomb es una capa de compresión de ataque que se asemeja a una bomba de descompresión. HPACK es utilizado para reducir el tamaño de las cabeceras de los paquetes HTTP, pudiendo el emisor decir al receptor el tamaño máximo de la tabla de compresión de cabecera utilizado para decodificar las cabeceras.

Un hacker puede crear pequeños mensajes que terminan desempaquetando gigabytes de datos en el servidor, consumiendo todos los recursos de memoria del servidor y provocando ralentizaciones o incluso su caída.

Imperva ha sido capaz de crear una cabecera de 4 kilobytes de tamaño para luego, en la misma conexión, se abra nuevas transmisiones que hacen referencia a la cabecera inicial tantas veces como sea posible, subiendo el tamaño de las cabeceras de referencia a 16KB. Después de realizar 14 transmisiones, la conexión había consumido casi 900MB de memoria en el servidor después de la descompresión, provocando su caída.

Ataque de Ciclo de Dependencia (CVE-2015-8659)

Ataque de Ciclo de Dependencia en HTTP/2 (CVE-2015-8659)

Este ataque se apoya en el mecanismo de flujo de control de HTTP/2, utilizado para la optimización de la red.

Un cliente malintencionado puede realizar peticiones específicamente diseñadas para provocar un ciclo de dependencia, forzando al servidor a realizar un bucle infinito y pudiendo causar un ataque DDoS o incluso ejecutar código arbitrario en el sistema.

Abuso de multiplexación en las conexiones (CVE-2016-0150)

Abuso de multiplexación en las conexiones en HTTP/2 (CVE-2016-0150)

Permite a un atacante explotar vulnerabilidades en la manera en que los servidores implementan la función de multiplexación en las conexiones para provocar una caída en el servidor, pudiendo tener como consecuencia una denegación de servicio (DDoS).

Conclusión

Las cuatro vulnerabilidades que nos ocupan en este artículo pueden ser combinadas de distinta manera según el servidor HTTP que se pretenda atacar.

Desde Imperva no se han mostrado sorprendidos al ver fallos de HTTP/1.X en HTTP/2, diciendo además que en toda nueva tecnología las empresas tendrían que poner todo su empeño para implementar salvaguardas que ayuden a reducir la superficie de ataque y proteger los datos críticos de amenazas cibernéticas.

Fuente | The Hacker News
Más información | Imperva

Lo más leído