RangeAmp este o serie de atacuri CDN care manipulează antetul Range HTTP.

O echipă de cercetători de la Universitatea Peking, Universitatea Tsinghua și Universitatea din Texas din Dallas dezvăluit o nouă clasă de atacuri DoS - RangeAmp, bazată pe utilizarea unui antet HTTP Gamă pentru a organiza amplificarea traficului prin intermediul rețelelor de livrare de conținut (CDN). Esența metodei este că, datorită modului în care anteturile Range sunt procesate în multe CDN-uri, un atacator poate solicita un octet dintr-un fișier mare prin intermediul CDN-ului, dar CDN-ul va descărca întregul fișier sau un bloc mult mai mare de date din serverul țintă să fie plasat în cache. Gradul de amplificare a traficului în timpul unui astfel de atac, în funcție de CDN, variază de la 724 la 43330 de ori, ceea ce poate fi utilizat pentru a supraîncărca CDN-ul cu traficul de intrare sau pentru a reduce capacitatea canalului final de comunicare către site-ul victimei.

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

Antetul Range oferă clientului posibilitatea de a specifica un interval de poziții în fișier care ar trebui să fie descărcat în loc să returneze întregul fișier. De exemplu, clientul poate specifica „Range: bytes=0-1023” iar serverul va transmite doar primii 1024 bytes de date. Această caracteristică este solicitată atunci când descărcați fișiere mari - utilizatorul poate întrerupe descărcarea și apoi poate continua din poziția întreruptă. Când se specifică „octeți=0-0”, standardul indică să dați primul octet din fișier, „octeți=-1” - ultimul, „octeți=1-” - începând de la 1 octet până la sfârșitul fișierului. Este posibil să se transmită mai multe intervale într-un singur antet, de exemplu „Range: bytes=0-1023,8192-10240”.

În plus, a fost propusă o a doua opțiune de atac, care vizează creșterea încărcării rețelei atunci când se redirecționează traficul printr-un alt CDN, care este folosit ca proxy (de exemplu, când Cloudflare acționează ca front-end (FCDN) și Akamai acționează ca backend ( BCDN). Metoda este similară cu primul atac, dar este localizată în rețelele CDN și permite creșterea traficului atunci când este accesată prin alte CDN-uri, crescând sarcina asupra infrastructurii și reducând calitatea serviciului.

Ideea este că atacatorul trimite solicitări Range din mai multe intervale către CDN, cum ar fi „bytes=0-,0-,0-...”, „bytes=1-,0-,0-...” sau „octeți=-1024,0 ,0-,0-...”. Solicitările conțin un număr mare de intervale „0-”, ceea ce implică faptul că fișierul este returnat de la poziția zero până la sfârșit. Datorită unei implementări incorecte a analizei intervalului, atunci când primul CDN îl accesează pe al doilea, este trimis un fișier complet pentru fiecare interval „53-” (intervalele nu sunt agregate, ci repetate secvențial), dacă există dublare și intersecție a intervalelor în cererea trimisă inițial de atacator. Gradul de amplificare a traficului într-un astfel de atac variază de la 7432 la XNUMX de ori.

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

În timpul studiului, a fost studiat comportamentul a 13 CDN-uri -
Akamai, Alibaba Cloud, Azure, CDN77, CDNsun, Cloudflare, CloudFront, Fastly, G-Core Labs, Huawei Cloud, KeyCDN, StackPath și Tencent Cloud. Toate CDN-urile examinate au permis primul tip de atac pe serverul final. A doua variantă a atacului CDN a afectat 6 servicii, dintre care patru ar putea acționa ca front-end în atac (CDN77, CDNsun, Cloudflare și StackPath) și trei ca backend (Akamai, Azure și StackPath). Cel mai mare câștig este obținut în Akamai și StackPath, care permit specificarea a mai mult de 10 mii de intervale în antetul Range. Proprietarii de CDN au fost notificați cu privire la vulnerabilități în urmă cu aproximativ 7 luni, iar până când informațiile au fost dezvăluite public, 12 din 13 CDN-uri remediaseră problemele identificate sau și-au exprimat disponibilitatea de a le remedia (doar serviciul StackPath nu a răspuns).

Sursa: opennet.ru

Adauga un comentariu