RangeAmp — serie de ataques a CDN que manipula el encabezado HTTP Range

Un grupo de investigadores de la Universidad de Pekín, la Universidad Tsinghua y la Universidad de Texas en Dallas ha identificado nueva clase de ataques DoS — RangeAmp, basado en el uso del encabezado HTTP Rango para organizar el aumento de tráfico a través de redes de entrega de contenido (CDN). La esencia del método radica en que, debido a la forma en que se procesan los encabezados Range en muchos CDN, el atacante puede solicitar a través del CDN un byte de un archivo grande, pero el CDN cargará desde el servidor de destino todo el archivo o un bloque de datos significativamente mayor para almacenarlo en caché. El grado de amplificación del tráfico en este tipo de ataque, según el CDN, varía de 724 a 43330 veces, lo que se puede utilizar para sobrecargar el tráfico entrante del CDN o reducir el ancho de banda del canal de comunicación hacia el sitio de la víctima.

RangeAmp - serie de ataques en CDN, que manipula el encabezado HTTP Range

El encabezado Range permite al cliente especificar rangos de posiciones en un archivo que deben ser cargados en lugar de entregar el archivo completo. Por ejemplo, el cliente puede indicar "Range: bytes=0-1023" y el servidor enviará solo los primeros 1024 bytes de datos. Esta capacidad es útil al descargar archivos grandes: el usuario puede pausar la descarga y luego reanudarla desde la posición interrumpida. Al indicar "bytes=0-0", el estándar prescribe devolver el primer byte del archivo, "bytes=-1" — el último, "bytes=1-" — desde el byte 1 hasta el final del archivo. Se permite la transmisión de varios rangos en un solo encabezado, por ejemplo, "Range: bytes=0-1023,8192-10240".

Además, se propone una segunda variante de ataque, dirigida a aumentar la carga de red al enrutar el tráfico a través de otro CDN que actúa como proxy (por ejemplo, cuando Cloudflare actúa como FCDN y Akamai como BCDN). Este método recuerda al primer ataque, pero se localiza dentro de las redes de CDN y permite amplificar el tráfico al acceder a través de otros CDN, aumentando así la carga en la infraestructura y reduciendo la calidad del servicio.

La idea es que el atacante envía solicitudes de rangos CDN, como «bytes=0-,0-,0-…», «bytes=1-,0-,0-…» o «bytes=-1024,0-,0-…». Las solicitudes contienen muchos rangos «0-», que implican la entrega del archivo desde la posición cero hasta el final. Debido a una implementación incorrecta del análisis de rangos al contactar el primer CDN con el segundo, cada rango «0-» recibe el archivo completo (los rangos no se agregan, sino que se procesan secuencialmente), si hay duplicación y superposición en los rangos presentes en la solicitud originalmente enviada por el atacante. El grado de amplificación de tráfico en este ataque varía de 53 a 7432 veces.

RangeAmp - serie de ataques en CDN, que manipula el encabezado HTTP Range

Durante la investigación se estudió el comportamiento de 13 CDNs —
Akamai, Alibaba Cloud, Azure, CDN77, CDNsun, Cloudflare, CloudFront, Fastly, G-Core Labs, Huawei Cloud, KeyCDN, StackPath y Tencent Cloud. Todos los CDNs analizados permitieron el primer tipo de ataque al servidor final. El segundo tipo de ataque a los CDNs afectó a 6 servicios, de los cuales cuatro pueden actuar en el ataque como frontend (CDN77, CDNsun, Cloudflare y StackPath) y tres como backend (Akamai, Azure y StackPath). La mayor amplificación se alcanza en Akamai y StackPath, que permiten especificar en el encabezado Range más de 10,000 rangos. Los propietarios de los CDNs fueron informados sobre las vulnerabilidades hace aproximadamente 7 meses y al momento de la divulgación pública, 12 de los 13 CDNs habían solucionado los problemas detectados o expresado su disposición a solucionarlos (solo el servicio StackPath no respondió).

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster