Një grup studiuesish nga Universitete Teknologjik i Grazit (Austria), i njohur më parë për zhvillimin e sulmeve MDS, NetSpectre, Throwhammer dhe ZombieLoad, publikoi një metodë të re sulmi (CVE-2021-3714) nëpërmjet kanaleve anësore në mekanizmin e deduplifikimit të faqeve të memories (Memory-Deduplication), e cila lejon të përcaktohet prania e të dhënave të caktuara në memorie, të organizohet një rrjedhje byte-për-byte e përmbajtjes së memories ose të përcaktohet shpërndarja e memories për të kaluar mbrojtjen e bazuar në randomizimin e adresave (ASLR). Metoda e re e sulmit ndryshon nga variantet e mëparshme të demonstruara të sulmeve në mekanizmin e deduplifikimit duke kryer sulmin nga një host i jashtëm duke përdorur si kriter ndryshimin e kohës së përgjigjeve ndaj kërkesave të dërguara nga sulmuesi për protokolet HTTP/1 dhe HTTP/2. Mundësia e realizimit të sulmit është demonstruar për serverët në bazë Linux dhe Windows.
Sulmet e mekanizmit të deduplikimit të memories përdorin si kanal për rrjedhjen e informacionit ndryshimin në kohën e përpunimit të operacionit të shkruar në situata kur ndryshimi i të dhënave çon në klonimin e faqeve të deduplikura të memories përmes mekanizmit Copy-On-Write (COW). Gjatë funksionimit të tij, bërthama identifikon faqet e njëjta të memories nga procese të ndryshme dhe i bashkon ato, duke shfaqur faqet identike të memories në një zonë të vetme fizike për ruajtjen e vetëm një kopje. Kur një nga proceset përpiqet të ndryshojë të dhënat e lidhura me faqet e deduplikura të memories, ndodh një përjashtim (page fault) dhe përmes mekanizmit Copy-On-Write krijohet automatikisht një kopje e veçantë e faqes së memories, e cila sigurohet për procesin. Koha e shtuar e nevojshme për kopjimin mund të jetë një shenjë e ndryshimit të të dhënave që prek një proces tjetër.
Hulumtuesit kanë treguar se vonesat që shfaqen si rezultat i funksionit COW mund të kapen jo vetëm lokal, por gjithashtu duke analizuar ndryshimin e kohës së dorëzimit të përgjigjeve përmes rrjetit. Shumë metode janë propozuar për të përcaktuar përmbajtjen e memories nga një host të largët përmes analizës së kohës së ekzekutimit të kërkesave për protokollet HTTP/1 dhe HTTP/2. Për ruajtjen e modeleve të zgjedhura përdoren aplikacione tipike web që ruajnë informacionin e marrë në kërkesa në memoria.
Principi i përgjithshëm i sulmit përqendrohet në mbushjen e serveri faqeve të memories me të dhëna që mund të përsërisin përmbajtjen e faqes së memories që tashmë ekziston në server. Më pas, sulmuesi pret kohën e nevojshme për që bërja e deduplikimit dhe bashkimit të faqes së memories të kryhet nga bërthama, pas së cilës ai/modifikon një dublikat të kontrolluar të të dhënave dhe vlerëson kohën e reagimit për të përcaktuar suksesin e depërtimit.

Në eksperimentet e zhvilluara, shpejtësia maksimale e rrjedhjes së informacionit arriti në 34.41 byte në orë për sulmet përmes rrjetit global dhe 302.16 byte në orë për sulmet përmes rrjetit lokal, që është më e shpejtë se metoda të tjera të nxjerrjes së të dhënave përmes kanaleve të jashtme (për shembull, në sulmin NetSpectre, shpejtësia e transferimit të të dhënave është 7.5 byte në orë).
Janë propozuar tri variante funksionale të sulmit. Varianti i parë lejon identifikimin e të dhënave në memorje server web, i cili përdor Memcached. Sulmi konsiston në ngarkimin e grupeve të caktuara të të dhënave në ruajtjen Memcached, pastrimin e bllokut të deduplikuar, riparimin e po të njëjtit element dhe krijimin e kushteve për formimin e kopjimit COW përmes ndërrimit të përmbajtjes së bllokut. Gjatë eksperimentit me Memcached, arriti të identifikojë për versionin libc të instaluar në sistemin që funksiononte në një makinë virtuale për 166.51 sekonda.
E dyti variant ofron mundësinë për të zbuluar përmbajtjen e shënimeve në DBMS MariaDB, duke përdorur depozitimin InnoDB, përmes ripërshkrimit të përmbajtjes byte për byte. Sulmi kryhet duke dërguar kërkesa të modifikuara veçmas, të cilat shkaktojnë mosrregullsira njëbyte në faqet e memories dhe analizimin e kohës së reagimit për të përcaktuar nëse qëllimi për përmbajtjen e byte-it ishte i saktë. Shpejtësia e këtij rrjedhje nuk është e madhe dhe arrin 1.5 byte në orë gjatë sulmit nga një rrjet lokal. Njëavantazhi i metodës është se ajo mund të përdoret për rikuperimin e përmbajtjes së panjohur të memories.
E treta variant lejon që brenda 4 minutash të kalojë plotësisht mekanizmin e mbrojtjes KASLR dhe të marrë informacion rreth zhvendosjes në kujtesën e imazhit të bërthamës së makinerisë virtuale, në situatën kur adresa e zhvendosjes ndodhet në një faqe të memories, të dhëna të tjera në të cilën nuk ndryshojnë. Sulmi u realizua nga një host, që ndodhej pas 14 kalimeve (hops) të sistemit të sulmuar. Shembujt e kodit për realizimin e sulmeve të prezentuara do të publikohen në GitHub.
Burimi: opennet.ru
