RangeAmp — o serie de atacuri asupra CDN, care manipulează antetul HTTP Range

Un grup de cercetători de la Universitatea din Beijing, Universitatea Tsinghua și Universitatea din Texas din Dallas a evidențiat o nouă clasă de atacuri DoS — RangeAmp, bazată pe utilizarea antetului HTTP Range pentru organizarea amplificării traficului prin rețelele de livrare de conținut (CDN). Esența metodei este că, datorită modului de procesare a antetelor Range în multe CDN-uri, atacatorul poate solicita prin CDN un singur byte dintr-un fișier mare, dar CDN-ul va descărca de la serverul țintă întregul fișier sau un bloc de date semnificativ mai mare pentru a-l pune în cache. Gradul de amplificare a traficului în cadrul unui astfel de atac, în funcție de CDN, variază de la 724 la 43330 de ori, ceea ce poate fi folosit pentru a copleși traficul de intrare al CDN-ului sau pentru a reduce lățimea de bandă a canalului de comunicație final către site-ul victimei.

RangeAmp - o serie de atacuri asupra CDN-ului, care manipulează antetul HTTP Range

Antetul Range permite clientului să definească un interval de poziții în fișier, care trebuie descărcat în locul livrării întregului fișier. De exemplu, clientul poate specifica „Range: bytes=0-1023” și serverul va transmite doar primii 1024 de bytes de date. Această capacitate este cerută la descărcarea fișierelor mari — utilizatorul poate suspenda descărcarea și apoi o poate continua din poziția întreruptă. La specificarea „bytes=0-0”, standardul prevede livrarea primului byte din fișier, „bytes=-1” — ultimul, „bytes=1-” — începând de la 1 byte și până la sfârșitul fișierului. Se permite transmiterea mai multor intervale într-un singur antet, de exemplu „Range: bytes=0-1023,8192-10240”.

De asemenea, a fost propus o a doua variantă de atac, vizând creșterea încărcăturii rețelei prin redirecționarea traficului printr-un alt CDN, care este utilizat ca proxy (de exemplu, atunci când frontend-ul (FCDN) este Cloudflare, iar backend-ul (BCDN) — Akamai). Metoda este similară cu primul atac, dar se localizează în interiorul rețelelor CDN și permite amplificarea traficului atunci când se accesează prin alte CDN-uri, crescând sarcina asupra infrastructurii și reducând calitatea serviciului.

Ideea este că atacatorul trimite cereri Range către CDN pentru mai multe intervale, cum ar fi „bytes=0-,0-,0-…”, „bytes=1-,0-,0-…” sau „bytes=-1024,0-,0-…”. Cererile conțin un număr mare de intervale „0-”, implicând livrarea fișierului de la poziția zero până la final. Din cauza unei implementări necorespunzătoare a analizei intervalelor între primul CDN și al doilea, pentru fiecare interval „0-” se livrează întreg fișierul (intervalele nu sunt agregate, ci parcurse secvențial), dacă în cererea inițial trimisă de atacator există duplicări și suprapuneri ale intervalelor. Gradul de amplificare a traficului într-un astfel de atac variază între 53 și 7432 de ori.

RangeAmp - o serie de atacuri asupra CDN-ului, care manipulează antetul HTTP Range

În cadrul cercetării, s-a studiat comportamentul a 13 CDN —
Akamai, Alibaba Cloud, Azure, CDN77, CDNsun, Cloudflare, CloudFront, Fastly, G-Core Labs, Huawei Cloud, KeyCDN, StackPath și Tencent Cloud. Toate CDN-urile analizate au fost susceptibile la primul tip de atac asupra serverului final. Cel de-al doilea tip de atac împotriva CDN a afectat 6 servicii, dintre care patru pot acționa ca frontend în atac (CDN77, CDNsun, Cloudflare și StackPath) și trei ca backend (Akamai, Azure și StackPath). Cele mai mari amplificări au fost observate la Akamai și StackPath, care permit specificarea în antetul Range a mai mult de 10.000 de intervale. Proprietarii CDN-urilor au fost informați despre vulnerabilitățile acum aproximativ 7 luni, iar până la momentul divulgării publice, 12 din 13 CDN-uri au remediat problemele identificate sau au exprimat disponibilitatea de a le rezolva (doar serviciul StackPath nu a reacționat).

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster