RangeAmp: una sèrie d'atacs CDN que manipulen la capçalera Range HTTP

Un equip d'investigadors de la Universitat de Pequín, la Universitat de Tsinghua i la Universitat de Texas a Dallas revelat una nova classe d'atacs DoS - RangeAmp, basada en l'ús d'una capçalera HTTP Abast per organitzar l'amplificació del trànsit mitjançant xarxes de lliurament de continguts (CDN). L'essència del mètode és que, a causa de la manera com es processen les capçaleres de rang en molts CDN, un atacant pot sol·licitar un byte d'un fitxer gran a través del CDN, però el CDN baixarà el fitxer sencer o un bloc de dades molt més gran del CDN. servidor de destinació que es col·locarà a la memòria cau. El grau d'amplificació del trànsit durant un atac d'aquest tipus, depenent del CDN, oscil·la entre 724 i 43330 vegades, que es pot utilitzar per sobrecarregar el CDN amb trànsit entrant o reduir la capacitat del canal de comunicació final al lloc de la víctima.

RangeAmp: una sèrie d'atacs CDN que manipulen la capçalera Range HTTP

La capçalera Range ofereix al client la possibilitat d'especificar un rang de posicions al fitxer que s'hauria de baixar en lloc de tornar tot el fitxer. Per exemple, el client pot especificar "Range: bytes=0-1023" i el servidor només transmetrà els primers 1024 bytes de dades. Aquesta funció es demanda quan es descarreguen fitxers grans: l'usuari pot aturar la descàrrega i després continuar des de la posició interrompuda. Quan s'especifica "bytes=0-0", l'estàndard indica que proporcioneu el primer byte del fitxer, "bytes=-1" - l'últim, "bytes=1-" - començant des d'1 byte fins al final del fitxer. És possible transmetre diversos rangs en una capçalera, per exemple "Range: bytes=0-1023,8192-10240".

A més, s'ha proposat una segona opció d'atac, destinada a augmentar la càrrega de la xarxa quan s'envia trànsit a través d'un altre CDN, que s'utilitza com a proxy (per exemple, quan Cloudflare actua com a frontend (FCDN) i Akamai actua com a backend ( BCDN). El mètode és similar al primer atac, però es localitza dins de les xarxes CDN i permet augmentar el trànsit quan s'accedeix a través d'altres CDN, augmentant la càrrega de la infraestructura i reduint la qualitat del servei.

La idea és que l'atacant enviï peticions de rang de diversos rangs al CDN, com ara "bytes=0-,0-,0-...", "bytes=1-,0-,0-..." o "bytes=-1024,0 ,0-,0-...". Les sol·licituds contenen un gran nombre d'intervals "0-", la qual cosa implica que el fitxer es retorna des de la posició zero fins al final. A causa d'una implementació incorrecta de l'anàlisi d'intervals, quan el primer CDN accedeix al segon, s'envia un fitxer complet per a cada interval "53-" (els intervals no s'agreguen, sinó que s'iteren seqüencialment), si hi ha duplicació i intersecció d'intervals en la sol·licitud enviada inicialment per l'atacant. El grau d'amplificació del trànsit en aquest atac oscil·la entre 7432 i XNUMX vegades.

RangeAmp: una sèrie d'atacs CDN que manipulen la capçalera Range HTTP

Durant l'estudi, es va estudiar el comportament de 13 CDN -
Akamai, Alibaba Cloud, Azure, CDN77, CDNsun, Cloudflare, CloudFront, Fastly, G-Core Labs, Huawei Cloud, KeyCDN, StackPath i Tencent Cloud. Tots els CDN examinats van permetre el primer tipus d'atac al servidor final. La segona variant de l'atac CDN va afectar 6 serveis, dels quals quatre podrien actuar com a interfície en l'atac (CDN77, CDNsun, Cloudflare i StackPath) i tres com a backend (Akamai, Azure i StackPath). El guany més gran s'aconsegueix a Akamai i StackPath, que permeten especificar més de 10 mil intervals a la capçalera Range. Els propietaris de CDN van rebre una notificació de les vulnerabilitats fa uns 7 mesos i, quan la informació es va revelar públicament, 12 de cada 13 CDN havien solucionat els problemes identificats o s'havien mostrat disposats a solucionar-los (només el servei StackPath no va respondre).

Font: opennet.ru

Afegeix comentari