RangeAmp: una técnica de ataque a prueba de CDNs
¿Puede un CDN volverse en contra de los sitios a los que da servicio? RangeAmp es la muestra de que sí, y aunque hasta el momento solo era una prueba de concepto desarrollada por un equipo de investigación y que permanecía en el anonimato, el trabajo realizado por un equipo de expertos de varias universidades y centros de estudios e investigación, ha sido publicada, dejando al descubierto que solo son necesarios ciertos conocimientos del protocolo http y, claro, malas intenciones, para efectuar un ataque contra un sitio web servido por un CDN… o incluso contra la propia red de distribución de contenidos.
Para entender cómo funciona RangeAmp tenemos que remontarnos a 2014, momento en el que la Internet Engineering Task Force (IETF) publica la RFC 7233, un documento en el que se presenta la función HTTP/1.1 range requests, una función que permite a los clientes (generalmente navegadores) solicitar al servidor solo una porción específica (rango) de un archivo. Esta función se creó para pausar y reanudar el tráfico en situaciones controladas (pausa / reanudación) o no controladas (congestión o desconexiones de la red).
Es importante aclarar que, desde entonces, se ha mantenido una discusión abierta en el seno de la IETF sobre esta función. Sin embargo, y dada su gran utilidad a la hora de optimizar el uso y rendimiento de las redes, ya ha sido implementada en navegadores, servidores y redes de distribución de contenidos. Algo que, sin duda, muchos usuarios hemos agradecido en más de una ocasión, cuando tras ver detenerse una descarga de gran tamaño y ya bastante avanzada, hemos podido retomarla exactamente allí donde se había quedado.
El problema (o los problemas, pues en realidad son dos) detectados por los investigadores y bautizados comoo RangeAmp, es que un atacante puede confeccionar peticiones de rango malintencionadas que, al llegar a la red de distribución de contenidos, pueden tener dos efectos distintos, dependiendo de la variante de ataque que se quiera emplear, algo que a su vez dependerá del objetivo buscado.
En primer lugar tenemos RangeAmp Small Byte Range (SBR). En este caso, el cliente enviará al CDN una petición HTTP range request malformada y de pequeño tamaño. Sin embargo, al ser recibida y gestionada por el CDN, se producirá un acusado ejemplo de amplificación en el volumen de datos entre el propio CDN y el servidor al que iba dirigida la petición original. Dicho de otra manera, será el servidor del CDN el que, de manera involuntaria, lleve a cabo un ataque de denegación de servicio (DoS) contra el servidor que, en teoría, estaba protegiendo.
¿Y hasta qué nivel se puede amplificar el volumen de datos de la petición malintencionada? El equipo de investigación descubrió que los atacantes podían usar un ataque RangeAmp SBR para inflar el tráfico de 724 a 43.330 veces el tráfico original. Un volumen de datos que, al tiempo, supondrá una importante carga de trabajo para la red del CDN, y muy probablemente podrá llegar a bloquear el servidor de destino del ataque.
El segundo ataque recibe el nombre de RangeAmp Overlapping Byte Ranges (OBR). En este caso, el atacante envía una solicitud de rango HTTP con formato incorrecto a un proveedor de CDN, y en este ataque, el tráfico se canaliza a través de otros servidores de CDN. Su objetivo es que el tráfico se amplifique dentro de las redes de las redes de distribución de contenidos hasta llegar a bloquear los servidores de la infraestructura. Este ataque es, potencialmente, mucho más peligroso, puesto que al bloquear la red de distribución, todos los servidores web (y por lo tanto los servicios que prestan) protegidos y gestionados por la misma serán inaccesibles.
Afortunadamente, los ataques OBR RangeAmp son más complejos y requieren de una determinada configuración de la infraestructura de la CDN. Eso sí, cuando se da dicha circunstancia, este tipo de ataque puede llegar a inflar el tráfico dentro de una red CDN con factores de amplificación de hasta casi 7,500 veces el tamaño del paquete inicial.
En las pruebas efectuadas por los investigadores, se lanzaron ataques contra trece redes de distribución de contenidos, con el resultado de que las trece resultaron ser vulnerables a los ataques RangeAmp SBR. Por su parte, los ataques OBR resultaron efectivos frente a seis de las trece redes puestas a prueba, demostrando que, pese a ser un ataque más complejo (por las necesidades específicas del mismo), también resulta bastante efectivo.
Respuesta de los CDN a RangeAmp
Tras realizar las pruebas, los investigadores se pusieron en contacto con los servicios CDN potenciales víctimas de RangeAmp para informarles sobre el mismo, así como para asesorarlos sobre las medidas que podían adoptar para mitigar los riesgos consecuentes a esta amenaza. Esta es la lista de las redes contactadas: Akamai, Alibaba Cloud, Azure, Cloudflare, CloudFront, CDNsun, CDN77, Fastly, G-Core Labs, Huawei Cloud, KeyCDN, StackPath y Tencent Cloud.
De ellas, doce respondieron a las comunicaciones de los investigadores, entablando en muchos casos una conversación con ellos para buscar las soluciones necesarias para protegerse de este tipo de amenaza. Solo, y pese a los múltiples intentos de contacto en los últimos meses, hubo un servicio que no llegó a acusar recibo sobre las comunicaciones acerca de RangeAmp, StackPath. Las respuestas de cada servicio se encuentran detalladas en el informe.
Hay un punto muy importante que debemos tener en cuenta al hablar de RangeAmp, y es que se trata de un ataque de denegación de servicio (DoS), sí, pero no es un ataque DDoS. Es decir, el atacante no necesita de una gran botnet para efectuar un ataque. Es obvio que, cuantos más sistemas cursen peticiones malformadas a los servidores de la red CDN más devastador será su efecto, pero en realidad un único atacante puede ocasionar la caída completa de una red.
Imagen: Tokota
La entrada RangeAmp: una técnica de ataque a prueba de CDNs es original de MuySeguridad. Seguridad informática.
Powered by WPeMatico