RangeAmp ─ серия атаки на CDN, манипулирующая HTTP заголовком Range

Група изследователи от Пекинския университет, Университет Цинхуа и Тексаския университет в Далас разкри нов клас DoS атаки — RangeAmp, основан на използването на HTTP заглавието Range за организиране на усилване на трафика през мрежи за доставка на съдържание (CDN). Същността на метода е, че заради особеностите в обработката на Range заглавията в много CDN, атакуващият може да поиска чрез CDN един байт от голям файл, но CDN ще зареди от целевия сървър целия файл или значително по-голям блок данни за кеширане. Степента на усилване на трафика при такава атака в зависимост от CDN варира от 724 до 43330 пъти, което може да бъде използвано за пренасищане на входящия трафик към CDN или за намаляване на капацитета на крайната връзка към сайта на жертвата.

RangeAmp - поредица от атаки на CDN, манипулиращи HTTP заглавието Range

Заглавието Range дава на клиента възможността да определи диапазона позиции в файла, които трябва да бъдат заредени вместо изпращането на целия файл. Например, клиентът може да зададе „Range: bytes=0-1023“ и сървърът ще изпрати само първите 1024 байта данни. Подобна възможност е търсена при сваляне на големи файлове — потребителят може да спре свалянето, а после да го продължи от прекъснатата позиция. При задаване на „bytes=0-0“ стандартът предписва да се изпрати първият байт от файла, „bytes=-1“ — последния, „bytes=1-” — от 1-ви байт до края на файла. Допуска се предаване на няколко диапазона в едно заглавие, например „Range: bytes=0-1023,8192-10240“.

Допълнително е предложен втори вариант на атаката, насочен към увеличаване на мрежовото натоварване при пренасочване на трафик през още един CDN, който се използва като прокси (например, когато Cloudflare е фронтенд (FCDN), а Akamai е бекенд (BCDN)). Методът наподобява първата атака, но е локализиран в рамките на CDN мрежите и позволява усилване на трафика при обращение през други CDN, увеличавайки натоварването на инфраструктурата и намалявайки качеството на услугата.

Идеята е, че атакуващият насочва в CDN Range-запитвания на няколко диапазона, като „bytes=0-,0-,0-…“, „bytes=1-,0-,0-…“ или „bytes=-1024,0-,0-…“. Запитванията съдържат голям брой диапазони „0-“, предполагайки предаване на файла от нулевата позиция до края. Поради неправилната имплементация на анализа на диапазоните при връзката на първия CDN с втория, за всеки диапазон „0-“ се предава целият файл (диапазоните не се агрегат, а последователно се обработват), ако в първоначално изпратеното от атакуващия запитване присъства дублиране и припокриване на диапазоните. Степента на усилване на трафика в такава атака е от 53 до 7432 пъти.

RangeAmp - поредица от атаки на CDN, манипулиращи HTTP заглавието Range

В процеса на изследване беше проучено поведението на 13 CDN —
Akamai, Alibaba Cloud, Azure, CDN77, CDNsun, Cloudflare, CloudFront, Fastly, G-Core Labs, Huawei Cloud, KeyCDN, StackPath и Tencent Cloud. Всички от разглежданите CDN допуснаха първия вид атака на крайния сървър. Вторият вариант на атаката на CDN беше засегнат от 6 услуги, от които четири могат да действат в атаката като фронтенд (CDN77, CDNsun, Cloudflare и StackPath) и три в ролята на бекенд (Akamai, Azure и StackPath). Най-голямо усилване се постига в Akamai и StackPath, които позволяват указване в заглавката Range на повече от 10 хиляди диапазона. Собствениците на CDN бяха уведомени за уязвимостите преди около 7 месеца и към момента на публичното разкритие 12 от 13 CDN отстраниха откритите проблеми или изразиха готовност да ги отстранят (единствено услугата StackPath не реагира).

Източник: opennet.ru

Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри 🔥 Купете надежден хостинг за сайтове със защита от DDoS, VPS и VDS сървъри | ProHoster