Rannsakendur frá Netflix og Google
Vandamálin stafa af fylgikvillum sem komu inn í HTTP/2 samskiptareglur sem tengjast notkun tvíundirvirkja, kerfi til að takmarka gagnaflæði innan tenginga, forgangsröðunarkerfi fyrir flæði og tilvist ICMP-líkra stjórnskilaboða sem starfa við HTTP/2 tenginguna stigi (til dæmis ping, endurstilla og flæðisstillingar). Margar útfærslur takmarkaðu ekki flæði stjórnunarskilaboða á réttan hátt, stjórnuðu ekki forgangsröðinni á skilvirkan hátt við vinnslu beiðna eða notuðu óákjósanlegar útfærslur á flæðistýringaralgrími.
Flestar auðkenndar árásaraðferðir snúast um að senda ákveðnar beiðnir til netþjónsins, sem leiðir til fjölda svara. Ef viðskiptavinurinn les ekki gögn úr falsinu og lokar ekki tengingunni, fyllist stöðugt biðröð fyrir svörun á miðlarahliðinni. Þessi hegðun skapar álag á biðraðastjórnunarkerfið til að vinna úr nettengingum og leiðir, allt eftir útfærslueiginleikum, til tæmingar á tiltæku minni eða örgjörvaforða.
Greind veikleika:
- CVE-2019-9511 (Data Dribble) - árásarmaður biður um mikið magn af gögnum í marga þræði með því að vinna með rennigluggastærð og þráðaforgang, sem neyðir þjóninn til að setja gögnin í biðröð í 1-bæta blokkum;
- CVE-2019-9512 (Ping Flood) - árásarmaður eitrar stöðugt ping-skilaboð yfir HTTP/2 tengingu, sem veldur því að innri biðröð sendra svara flæða yfir hinum megin;
- CVE-2019-9513 (Resource Loop) - árásarmaður býr til marga beiðniþræði og breytir stöðugt forgangi þráðanna, sem veldur því að forgangstréð stokkast upp;
- CVE-2019-9514 (Endurstilla flóð) - árásarmaður býr til marga þræði
og sendir ógilda beiðni í gegnum hvern þráð, sem veldur því að þjónninn sendir RST_STREAM ramma, en samþykkir þá ekki til að fylla í svarröðina; - CVE-2019-9515 (Settings Flood) - árásarmaðurinn sendir straum af tómum „SETTINGS“ ramma, sem svar við því að þjónninn verður að staðfesta móttöku hverrar beiðni;
- CVE-2019-9516 (0-Length Headers Leak) - árásarmaður sendir straum af hausum með núllheiti og núllgildi og þjónninn úthlutar biðminni í minni til að geyma hvern haus og sleppir honum ekki fyrr en lotunni lýkur ;
- CVE-2019-9517 (Internal Data Buffering) - árásarmaður opnast
HTTP/2 rennandi gluggi fyrir netþjóninn til að senda gögn án takmarkana, en heldur TCP glugganum lokuðum og kemur í veg fyrir að gögn séu í raun skrifuð í falsið. Næst sendir árásarmaðurinn beiðnir sem krefjast mikils svars; - CVE-2019-9518 (Empty Frames Flood) - Árásarmaður sendir straum af römmum af gerðinni DATA, HEADERS, CONTINUATION eða PUSH_PROMISE, en með tómu farmfari og án flæðislokunarfána. Miðlarinn eyðir tíma í að vinna úr hverjum ramma, í óhófi við bandbreiddina sem árásarmaðurinn notar.
Heimild: opennet.ru