Graz Tehnika Ălikooli (Austria) teadlaste rĂŒhm, kes on varem tuntud MDS-, NetSpectre-, Throwhammer- ja ZombieLoad-rĂŒnnakute arendamise poolest, avaldas uue rĂŒnnakumeetodi (CVE-2021-3714), mis maandub mĂ€lu deduplikatsiooni mehhanismi (Memory-Deduplication) kaudu. See meetod vĂ”imaldab mÀÀrata, kas mĂ€lu on teatud andmeid, korraldada baitide eraldumist mĂ€lu sisust vĂ”i mÀÀrata mĂ€lu jaotust, et vĂ€ltida aadresside randomiseerimise (ASLR) pĂ”hist kaitset. Varasemast rĂŒnnakute nĂ€idust, deduplikatsiooni mehhanismi rĂŒnnakud, uus meetod erineb selles, et rĂŒnnak viiakse lĂ€bi vĂ€lisest hostist, kasutades kui kriteeriumi vastuste ajavahemike muutumist rĂŒnnakute saatmisel protokollide HTTP/1 ja HTTP/2 kaudu. RĂŒnnaku teostamine on demonstreeritud Linuxi ja Windowsi baasil olevatel serveritel.
MĂ€lu deduplikatsiooni mehhanismi rĂŒnnakud kasutavad kanalisandiks ajavahe tingimusi, kui andmete muutmine toob kaasa dedupikitud mĂ€lu lehe kopeerimise Copy-On-Write (COW) mehhanismi abil. Töö kĂ€igus tuvastab kernel sama mĂ€lu lehe erinevatest protsessidest ja ĂŒhendab need, kuvades identsete mĂ€lu lehed ĂŒhte fĂŒĂŒsilise mĂ€lu alasse, et salvestada ainult ĂŒks koopia. Kui ĂŒks protsess pĂŒĂŒab muuta andmeid, mis on seotud deduplikeeritud lehtedega, tekib erand (page fault) ja Copy-On-Write mehhanismi abil luuakse automaatselt eraldi mĂ€lu lehe koopia, mis kinnitatakse protsessile. Kopeerimise tĂ€itmiseks kulub lisatĂ€htaeg, mis vĂ”ib olla mĂ€rk andmete muutmisest, mis kattub teise protsessiga.
Teadlased on nĂ€idanud, et Copy-On-Write mehhanismi tĂ”ttu tekkivaid viivitusi saab tabada mitte ainult lokaalselt, vaid ka analĂŒĂŒsides vastuste saatmise ajavahemiku muutust vĂ”rgus. Pakutakse vĂ€lja mitmeid meetodeid, et mÀÀrata kaugehuli sisu, analĂŒĂŒsides pĂ€ringute töötlemise aega HTTP/1 ja HTTP/2 protokollide kaudu. Pööramismustrite sĂ€ilitamiseks kasutatakse tĂŒĂŒpilisi veebirakendusi, mis salvestavad mĂ€lu sissepÀÀsu andmed.
RĂŒnnaku ĂŒldine pĂ”himĂ”te seisneb. serveris mĂ€lulehtede andmed, mis vĂ”ivad potentsiaalselt korrata juba serveris olevate mĂ€lulehtede sisu. SeejĂ€rel ootab rĂŒndaja aega, mis on vajalik tuumade deduplikatsiooniks ja mĂ€lulehtede ĂŒhendamiseks, pĂ€rast mida muudab ta kontrollitava andmepĂ€randi ja hindab reageerimise aega, et mÀÀrata rĂŒnnaku Ă”nnestumise mÀÀra.

Tehtud katsete kĂ€igus oli maksimaalne teabe leke 34,41 baiti tunnis globaalse vĂ”rgu kaudu ja 302,16 baiti tunnis kohaliku vĂ”rgu kaudu, mis on kiirem kui teiste andmete vĂ€ljatoomise meetodite kaudu kolmandate osapoolte kanalite kaudu (nĂ€iteks NetSpectre rĂŒnnaku korral on andmeedastuskiirus 7,5 baiti tunnis).
Pakutakse vĂ€lja kolm rĂŒndevĂ”imalust. Esimene variant vĂ”imaldab mÀÀrata andmeid mĂ€lus veebiserver, kus kasutatakse Memcachedi. RĂŒnnak seisneb teatud andmekomplektide laadimises Memcachedi salvestusse, deduplikatsiooni blokeerimise kustutamises, sama elemendi uuesti kirjutamises ja tingimuste loomises COW-kopide tekkimiseks bloke sisu muutmise kaudu. Memcachediga katse kĂ€igus Ă”nnestus 166,51 sekundiga mÀÀrata sĂŒsteemis, mis töötab virtuaalmasinas, installitud libc versioon.
Teine variant vĂ”imaldas teada saada MariaDB andmebaasi sisu, kasutades InnoDB salvestust, sisu taastamise kaudu bait baidi kaupa. RĂŒnnak viiakse lĂ€bi spetsiaalselt muudetud pĂ€ringute saatmise kaudu, mis pĂ”hjustavad mĂ€lulehtedes ĂŒhebaidiseid erinevusi ja reageerimise aja analĂŒĂŒsimise tulemuste mÀÀramiseks, et teada saada, et byte'i sisu pĂŒsimine oli Ă”ige. Sellise leke kiirus on vĂ€ike ja on 1,5 baiti tunnis kohalikust vĂ”rgust rĂŒnnates. Meetodi plussiks on see, et seda saab kasutada tundmatu mĂ€lusisalduse taastamiseks.
Kolmas variant lubas 4 minutiga tĂ€ielikult ĂŒletada KASLR kaitsme ja saada teavet virtuaalmasina tuuma kuvandi mĂ€lu nihke kohta, olukorras, kus nihke aadress on mĂ€lulehes, mille teised andmed ei muutu. RĂŒnnak toimus hostilt, mis oli 14 edastuspunkti (hops) kaugusel rĂŒnnatavast sĂŒsteemist. KoodinĂ€idised esitatud rĂŒnnakute realiseerimiseks lubatakse avaldada GitHubis.
Allikas: opennet.ru
