Një metodë sulmi është propozuar për të përcaktuar në distancë fragmentet e kujtesës në server

Një grup studiuesish nga Universiteti Teknik i Gracit (Austri), i njohur më parë për zhvillimin e sulmeve MDS, NetSpectre, Throwhammer dhe ZombieLoad, ka publikuar një metodë të re sulmi në kanalin anësor (CVE-2021-3714) kundër mekanizmit Memory-Deduplication. , i cili lejon të përcaktojë praninë e në memorie të të dhënave të caktuara, të organizojë një rrjedhje bajt pas bajt të përmbajtjes së memories ose të përcaktojë paraqitjen e kujtesës për të anashkaluar mbrojtjen e rastësishme të bazuar në adresa (ASLR). Metoda e re ndryshon nga variantet e demonstruara më parë të sulmeve në mekanizmin e dedulikimit duke kryer një sulm nga një host i jashtëm duke përdorur si kriter ndryshimin në kohën e përgjigjes ndaj kërkesave të dërguara sulmuesit nëpërmjet protokolleve HTTP/1 dhe HTTP/2. Aftësia për të kryer sulmin është demonstruar për serverët e bazuar në Linux dhe Windows.

Sulmet në mekanizmin e heqjes së dyfishimit të kujtesës përdorin diferencën në kohën e përpunimit të një operacioni shkrimi si një kanal për rrjedhjen e informacionit në situatat kur një ndryshim në të dhëna çon në klonimin e një faqeje memorie të hequr duke përdorur mekanizmin Copy-On-Write (COW). . Gjatë funksionimit, kerneli zbulon faqe identike memorie nga procese të ndryshme dhe i bashkon ato, duke hartuar faqe identike memorie në një zonë të vetme të memories fizike për të ruajtur vetëm një kopje. Kur një nga proceset përpiqet të ndryshojë të dhënat e lidhura me faqet e çdublikuara, ndodh një përjashtim (gabim i faqes) dhe, duke përdorur mekanizmin Copy-On-Write, krijohet automatikisht një kopje e veçantë e faqes së kujtesës, e cila i caktohet procesit. Koha shtesë shpenzohet për plotësimin e kopjes, e cila mund të jetë një shenjë e ndryshimeve të të dhënave që ndërhyjnë në një proces tjetër.

Studiuesit kanë treguar se vonesat që rezultojnë nga mekanizmi COW mund të kapen jo vetëm në nivel lokal, por edhe duke analizuar ndryshimet në kohën e shpërndarjes së përgjigjeve në rrjet. Janë propozuar disa metoda për përcaktimin e përmbajtjes së memories nga një host në distancë duke analizuar kohën e ekzekutimit të kërkesave mbi protokollet HTTP/1 dhe HTTP/2. Për të ruajtur shabllonet e zgjedhura, përdoren aplikacione standarde në ueb që ruajnë informacionin e marrë në kërkesat në memorie.

Parimi i përgjithshëm i sulmit zbret në mbushjen e një faqe memorie në server me të dhëna që potencialisht përsërisin përmbajtjen e një faqe memorie tashmë ekzistuese në server. Sulmuesi më pas pret kohën e nevojshme që kerneli të fshijë dhe bashkojë faqen e memories, më pas modifikon të dhënat e kontrolluara të kopjuara dhe vlerëson kohën e përgjigjes për të përcaktuar nëse goditja ishte e suksesshme.

Një metodë sulmi është propozuar për të përcaktuar në distancë fragmentet e kujtesës në server

Gjatë eksperimenteve, shkalla maksimale e rrjedhjes së informacionit ishte 34.41 bajt në orë kur sulmohej përmes një rrjeti global dhe 302.16 bajt në orë kur sulmohej përmes një rrjeti lokal, që është më i shpejtë se metodat e tjera të nxjerrjes së të dhënave përmes kanaleve të palëve të treta (për shembull, në një sulm NetSpectre, shpejtësia e transferimit të të dhënave është 7.5 bajt në orën një).

Janë propozuar tre opsione sulmi pune. Opsioni i parë ju lejon të përcaktoni të dhënat në kujtesën e serverit në internet që përdor Memcached. Sulmi zbret në ngarkimin e grupeve të caktuara të të dhënave në hapësirën ruajtëse të Memcached, pastrimin e bllokut të deblikuar, rishkrimin e të njëjtit element dhe krijimin e një kushti që kopjimi COW të ndodhë duke ndryshuar përmbajtjen e bllokut. Gjatë eksperimentit me Memcached, ishte e mundur të përcaktohej në 166.51 sekonda versioni i libc i instaluar në një sistem që funksiononte në një makinë virtuale.

Opsioni i dytë bëri të mundur zbulimin e përmbajtjes së regjistrimeve në MariaDB DBMS, kur përdorni ruajtjen e InnoDB, duke rikrijuar përmbajtjen bajt pas bajt. Sulmi kryhet duke dërguar kërkesa të modifikuara posaçërisht, duke rezultuar në mospërputhje me një bajt në faqet e memories dhe duke analizuar kohën e përgjigjes për të përcaktuar se supozimi për përmbajtjen e bajtit ishte i saktë. Shkalla e një rrjedhjeje të tillë është e ulët dhe arrin në 1.5 bajt në orë kur sulmohet nga një rrjet lokal. Avantazhi i metodës është se mund të përdoret për të rikuperuar përmbajtje të panjohura të memories.

Opsioni i tretë bëri të mundur anashkalimin e plotë të mekanizmit të mbrojtjes KASLR në 4 minuta dhe marrjen e informacionit për kompensimin e memories së imazhit të kernelit të makinës virtuale, në një situatë kur adresa e kompensimit është në një faqe memorie në të cilën të dhënat e tjera nuk ndryshojnë. Sulmi u krye nga një host i vendosur 14 hops nga sistemi i sulmuar. Shembujt e kodeve për zbatimin e sulmeve të paraqitura premtohen të publikohen në GitHub.

Burimi: opennet.ru

Shto një koment