Një grup kërkuesish nga Universiteti Teknik 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) për kanalet anësore në mekanizmin e dedupikimit të faqeve të memories (Memory-Deduplication), e cila lejon përcaktimin e pranisë së të dhënave të caktuara në memory, organizimin e rrjedhjes së përmbajtjes së memories në mënyrë byte-pas-byte, ose përcaktimin e strukturës së memories për të anashkaluar mbrojtjen e bazuar në randomizimin e adresave (ASLR). Metoda e re e sulmit dallohet nga variantet e mëparshme duke realizuar sulmin nga një host të jashtëm, duke përdorur si kriter ndryshimin e kohës së përgjigjes për kërkesat e dërguara nga sulmuesi për protokollet HTTP/1 dhe HTTP/2. Mundësia e realizimit të sulmit është demonstruar për serverët me bazë Linux dhe Windows.
Sulmet ndaj mekanizmit të dedupikimit të memories përdorin ndryshimin në kohën e përpunimit të operacionit të shkruar si kanal për rrjedhjen e informacionit, në situata kur ndryshimi i të dhënave përfaqëson klonimin e faqeve të dedupikuara të memories përmes mekanizmit Copy-On-Write (COW). Gjatë punës, bërthama përcakton faqet e njëjta të memories nga procese të ndryshme dhe i bashkon ato, duke shfaqur faqet identike të memories në një zonë fizike të memories për ruajtjen e vetëm një kopje. Kur një nga proceset përpiqet të ndryshojë të dhënat që lidhen me faqet e dedupikuara, 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 i ngjitet procesit. Koha e shtuar për përfundimin e kopjimit mund të jetë një tregues i ndryshimit të të dhënave që pranohen nga një proces tjetër.
Kërkuesit treguan se vonesat që ndodhin si rezultat i funksionimit të mekanizmit COW mund të kapen jo vetëm lokalisht, por edhe duke analizuar ndryshimin e kohës së dorëzimit të përgjigjeve në rrjet. Janë propozuar disa metoda për përcaktimin e përmbajtjes së memories nga një host të jashtëm përmes analizës së kohës së përfundimit të kërkesave për protokollet HTTP/1 dhe HTTP/2. Për të ruajtur modelet që po kërkohen, përdoren aplikacione web standarde, që ruajnë informacionin e ardhur në kërkesa në memory.
Parimi i përgjithshëm i sulmit është të mbushë faqet e memorjes me сервере të dhëna që potencialisht përsërisin përmbajtjen e një faqe memorjeje që tashmë ekziston në server. Pastaj, sulmuesi pret kohën e nevojshme për të bërë deduplikimin dhe bashkimin e faqes së memorjes nga bërthama, pas së cilës kryen një ndryshim të kopjes të kontrolluar të të dhënave dhe vlerëson kohën e reagimit për të përcaktuar suksesin e sulmit.

Në eksperimente të zhvilluara, shpejtësia maksimale e rrjedhjes së informacionit arriti 34.41 byte në orë gjatë sulmit përmes rrjetit global dhe 302.16 byte në orë gjatë sulmit përmes rrjetit lokal, që është më e shpejtë se metodat e tjera të nxjerrjes së të dhënave përmes kanaleve të jashtme (p.sh., gjatë sulmit NetSpectre, shpejtësia e transmetimit të të dhënave është 7.5 byte në orë).
Të tre variantet e punës së sulmit janë propozuar. Varianti i parë lejon identifikimin e të dhënave në memorje servert web, i cili përdor Memcached. Sulmi përfshin ngarkimin e grupeve të caktuara të të dhënave në depozitën Memcached, pastrimin e bllokut të deduplikimit, rikthimin e njëjtit element dhe krijimin e kushteve për shfaqjen e COW-kopjimit përmes ndryshimit të përmbajtjes së bllokut. Gjatë eksperimentit me Memcached, arritëm të identifikohet versione libc, e instaluar në sistemin e përfshirë në makinë virtuale, për 166.51 sekonda.
Varianti i dytë ofroi mundësinë për të zbuluar përmbajtjen e regjistrimeve në DBMS MariaDB, duke përdorur depozitën InnoDB, përmes rigjenerimit të përmbajtjes byte për byte. Sulmi realizohet duke dërguar kërkesa të modifikuara posaçërisht, që çojnë në moskoincidenca një byte në faqet e memorjes dhe analizimin e kohës së reagimit për të përcaktuar nëse hipoteza për përmbajtjen e bytes ishte e saktë. Shpejtësia e tillë e rrjedhjes është e vogël dhe arrin 1.5 byte në orë gjatë sulmit nga rrjeti lokal. Një avantazh i këtij metode është se mund të përdoret për rikuperimin e përmbajtjes së panjohur të memorjes.
Të tretën variant e lejoi që brenda 4 minutave të shmang mekanizmin e mbrojtjes KASLR dhe të merr informacion mbi zhvendosjen në memorie të imazhit të bërthamës së makinës virtuale, në situatën kur adresa e zhvendosjes ndodhet në faqen e memories, të dhënat e tjera në të cilën nuk ndryshojnë. Sulmi u realizua nga një host që ndodhej 14 hopa nga sistemi i sulmuar. Shembujt e kodit për realizimin e sulmeve të paraqitura premtojnë të publikohen në GitHub.
Burimi: opennet.ru
