RangeAmp — seria ataków na CDN, manipulująca nagłówkiem HTTP Range

Grupa badaczy z Uniwersytetu Pekińskiego, Uniwersytetu Tsinghua i Uniwersytetu Teksańskiego w Dallas ujawnili nowa klasa ataków DoS — RangeAmp, oparta na wykorzystaniu nagłówka HTTP Range do organizowania wzmocnienia ruchu przez sieci dostarczania treści (CDN). Istota metody polega na tym, że z powodu specyfiki przetwarzania nagłówków Range w wielu CDN atakujący może zażądać przez CDN jednego bajta z dużego pliku, ale CDN pobierze z serwera docelowego cały plik lub znacznie większy blok danych do umieszczenia w pamięci podręcznej. Stopień wzmocnienia ruchu w takim ataku, w zależności od CDN, wynosi od 724 do 43330 razy, co może być wykorzystywane do przeciążania ruchu przychodzącego CDN lub zmniejszenia przepustowości końcowego kanału komunikacyjnego do witryny ofiary.

RangeAmp - seria ataków na CDN, manipulująca nagłówkiem HTTP Range

Nagłówek Range umożliwia klientowi określenie zakresu pozycji w pliku, które mają zostać pobrane zamiast dostarczania całego pliku. Na przykład, klient może wskazać „Range: bytes=0-1023”, a serwer przekaże tylko pierwsze 1024 bajty danych. Taka możliwość jest przydatna przy pobieraniu dużych plików — użytkownik może wstrzymać pobieranie, a następnie wznowić je z przerwanej pozycji. Przy wskazaniu „bytes=0-0” standard nakazuje przesyłanie pierwszego bajtu w pliku, „bytes=-1” — ostatniego, „bytes=1-” — począwszy od 1 bajta do końca pliku. Można przesyłać kilka zakresów w jednym nagłówku, na przykład „Range: bytes=0-1023,8192-10240”.

Dodatkowo zaproponowano drugi wariant ataku, mający na celu zwiększenie obciążenia sieci przy przekazywaniu ruchu przez inny CDN, który działa jako proxy (na przykład, gdy jako front-end (FCDN) występuje Cloudflare, a back-end (BCDN) — Akamai). Metoda przypomina pierwszy atak, ale lokalizuje się wewnątrz sieci CDN i pozwala na wzmacnianie ruchu, przy korzystaniu z innych CDN, zwiększając obciążenie infrastruktury i obniżając jakość usługi.

Idea polega na tym, że atakujący kieruje do CDN zapytania Range z wieloma zakresami, takimi jak „bytes=0-,0-,0-…”, „bytes=1-,0-,0-…” lub „bytes=-1024,0-,0-…”. Zapytania zawierają dużą liczbę zakresów „0-“, implikujących dostarczenie pliku od zerowej pozycji do końca. Z powodu nieprawidłowej implementacji analizy zakresów, podczas gdy pierwszy CDN kontaktuje się z drugim, na każdy zakres „0-” dostarczany jest pełny plik (zakresy nie są agregowane, a kolejne przechodzą przez siebie), jeśli w pierwotnie wysłanym zapytaniu atakującego występuje powielanie i nakładanie się zakresów. Stopień wzmocnienia ruchu w takim ataku wynosi od 53 do 7432 razy.

RangeAmp - seria ataków na CDN, manipulująca nagłówkiem HTTP Range

W trakcie badania przeanalizowano zachowanie 13 CDN —
Akamai, Alibaba Cloud, Azure, CDN77, CDNsun, Cloudflare, CloudFront, Fastly, G-Core Labs, Huawei Cloud, KeyCDN, StackPath i Tencent Cloud. Wszystkie rozważane CDN zezwalały na pierwszy rodzaj ataku na serwer końcowy. Drugi rodzaj ataku na CDN dotknął 6 usług, z których cztery mogą pełnić rolę front-endu (CDN77, CDNsun, Cloudflare i StackPath), a trzy w roli back-endu (Akamai, Azure i StackPath). Największe wzmocnienie osiąga się w Akamai i StackPath, które pozwalają na określenie w nagłówku Range więcej niż 10 tysięcy zakresów. Właściciele CDN zostali powiadomieni o lukach bezpieczeństwa około 7 miesięcy temu i do momentu publicznego ujawnienia informacji 12 z 13 CDN usunęło wykryte problemy lub wyraziło gotowość do ich usunięcia (tylko usługa StackPath nie zareagowała).

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster