RangeAmp – lẹsẹsẹ awọn ikọlu CDN ti o ṣe afọwọyi akọsori Range HTTP

Ẹgbẹ kan ti awọn oniwadi lati Ile-ẹkọ giga Peking, Ile-ẹkọ giga Tsinghua ati Ile-ẹkọ giga ti Texas ni Dallas fi han kilasi tuntun ti awọn ikọlu DoS - RangeAmp, da lori lilo akọsori HTTP kan Range lati ṣeto iṣeduro ijabọ nipasẹ awọn nẹtiwọki ifijiṣẹ akoonu (CDN). Koko-ọrọ ti ọna naa ni pe nitori ọna ti a ṣe ilana awọn akọle Range ni ọpọlọpọ awọn CDN, ikọlu le beere fun baiti kan lati faili nla nipasẹ CDN, ṣugbọn CDN yoo ṣe igbasilẹ gbogbo faili naa tabi bulọọki data ti o tobi pupọ lati olupin afojusun lati gbe sinu kaṣe. Iwọn ilọsiwaju ijabọ lakoko iru ikọlu, ti o da lori CDN, awọn sakani lati awọn akoko 724 si 43330, eyiti o le ṣee lo lati apọju CDN pẹlu ijabọ ti nwọle tabi dinku agbara ti ikanni ibaraẹnisọrọ ikẹhin si aaye olufaragba naa.

RangeAmp – lẹsẹsẹ awọn ikọlu CDN ti o ṣe afọwọyi akọsori Range HTTP

Akọsori Range n fun alabara ni agbara lati pato awọn ipo pupọ ninu faili ti o yẹ ki o ṣe igbasilẹ dipo ti o da gbogbo faili pada. Fun apẹẹrẹ, onibara le pato "Range: bytes=0-1023" ati olupin naa yoo gbejade nikan 1024 baiti ti data akọkọ. Ẹya yii wa ni ibeere nigbati o ṣe igbasilẹ awọn faili nla - olumulo le da idaduro igbasilẹ naa duro lẹhinna tẹsiwaju lati ipo idilọwọ. Nigbati o ba n ṣalaye “awọn baiti = 0-0”, boṣewa paṣẹ lati fun baiti akọkọ ninu faili naa, “baiti = -1” - ikẹhin, “baiti = 1-” - bẹrẹ lati 1 baiti titi di opin faili naa. O ṣee ṣe lati tan kaakiri awọn sakani pupọ ni akọsori kan, fun apẹẹrẹ “Range: bytes=0-1023,8192-10240”.

Ni afikun, a ti dabaa aṣayan ikọlu keji, ti o ni ero lati jijẹ fifuye nẹtiwọọki nigbati o ba nfi ọna gbigbe nipasẹ CDN miiran, eyiti o lo bi aṣoju (fun apẹẹrẹ, nigbati Cloudflare ṣe bii iwaju iwaju (FCDN), ati Akamai ṣe bi ẹhin ( BCDN). Ọna naa jẹ iru si ikọlu akọkọ, ṣugbọn o wa ni agbegbe laarin awọn nẹtiwọọki CDN ati gba laaye fun ijabọ pọ si nigbati o wọle nipasẹ awọn CDN miiran, jijẹ fifuye lori awọn amayederun ati idinku didara iṣẹ.

Ero naa ni pe ikọlu naa firanṣẹ awọn ibeere Range ti awọn sakani pupọ si CDN, gẹgẹbi “bytes=0-,0-,0-...", “bytes=1-,0-,0-..." tabi "baiti=-1024,0 ,0-,0-...". Awọn ibeere ni nọmba nla ti awọn sakani “0-” ninu, ti o tumọ si pe faili naa ti pada lati ipo odo si opin. Nitori imuse ti ko tọ ti itọka iwọn, nigbati CDN akọkọ ba wọle si ekeji, faili pipe ni a firanṣẹ fun iwọn “53-” kọọkan (awọn sakani naa ko ni akojọpọ, ṣugbọn tito lẹsẹsẹ), ti o ba jẹ pe ẹda-iwe ati ikorita ti awọn sakani wa. ìbéèrè lakoko rán nipasẹ awọn attacker. Iwọn iwọn ijabọ ni iru ikọlu kan wa lati awọn akoko 7432 si XNUMX.

RangeAmp – lẹsẹsẹ awọn ikọlu CDN ti o ṣe afọwọyi akọsori Range HTTP

Lakoko iwadi naa, ihuwasi ti awọn CDN 13 ti ṣe iwadi -
Akamai, Alibaba Cloud, Azure, CDN77, CDNsun, Cloudflare, CloudFront, Fastly, G-Core Labs, Huawei Cloud, KeyCDN, StackPath ati Tencent Cloud. Gbogbo awọn CDN ti a ṣe ayẹwo laaye iru ikọlu akọkọ lori olupin opin. Iyatọ keji ti ikọlu CDN kan awọn iṣẹ 6, eyiti mẹrin le ṣe bi iwaju iwaju ni ikọlu (CDN77, CDNsun, Cloudflare ati StackPath) ati mẹta bi ẹhin (Akamai, Azure ati StackPath). Ere ti o tobi julọ ni aṣeyọri ni Akamai ati StackPath, eyiti o gba laaye diẹ sii ju awọn sakani 10 ẹgbẹrun lati ni pato ninu akọsori Range. Awọn oniwun CDN ti gba iwifunni ti awọn ailagbara ni oṣu 7 sẹhin, ati ni akoko ti alaye naa ti ṣafihan ni gbangba, 12 ninu 13 CDN ti ṣeto awọn iṣoro ti a damọ tabi ṣafihan imurasilẹ lati ṣatunṣe wọn (iṣẹ StackPath nikan ko dahun).

orisun: opennet.ru

Fi ọrọìwòye kun