Hyökkäysmenetelmää on ehdotettu muistinpalasten etämäärittämiseksi palvelimella

Ryhmä Grazin teknillisen yliopiston (Itävalta) tutkijoita, jotka tunnettiin aiemmin MDS-, NetSpectre-, Throwhammer- ja ZombieLoad-hyökkäysten kehittämisestä, on julkaissut uuden sivukanavan hyökkäysmenetelmän (CVE-2021-3714) Memory-Duplikaatiomekanismia vastaan. , jonka avulla voidaan määrittää tiettyjen tietojen läsnäolo muistissa, järjestää muistin sisällön tavu tavuvuoto tai määrittää muistin asettelu, jotta voidaan ohittaa osoitepohjainen satunnaissuoja (ASLR). Uusi menetelmä eroaa aiemmin esitellyistä duplikointimekanismin hyökkäysten muunnelmista suorittamalla hyökkäyksen ulkoisesta isännästä käyttämällä kriteerinä muutosta vasteajassa hyökkääjälle HTTP/1- ja HTTP/2-protokollien kautta lähetettyihin pyyntöihin. Hyökkäyskyky on osoitettu Linux- ja Windows-pohjaisille palvelimille.

Muistin deduplikaatiomekanismiin kohdistuvat hyökkäykset käyttävät kirjoitusoperaation käsittelyajan eroa kanavana tietojen vuotamiseen tilanteissa, joissa tietojen muutos johtaa kopioidun muistisivun kloonaamiseen käyttämällä Copy-On-Write (COW) -mekanismia. . Käytön aikana ydin havaitsee identtiset muistisivut eri prosesseista ja yhdistää ne yhdistäen identtiset muistisivut yhdeksi fyysisen muistin alueeksi tallentaakseen vain yhden kopion. Kun jokin prosesseista yrittää muuttaa kopioituihin sivuihin liittyviä tietoja, tapahtuu poikkeus (sivuvirhe) ja Copy-On-Write -mekanismin avulla muistisivusta luodaan automaattisesti erillinen kopio, joka määritetään prosessille. Kopion viimeistelyyn kuluu lisäaikaa, mikä voi olla merkki tietojen muutoksista, jotka häiritsevät toista prosessia.

Tutkijat ovat osoittaneet, että COW-mekanismista johtuvat viiveet voidaan kaapata paitsi paikallisesti myös analysoimalla muutoksia vastausten toimitusajoissa verkon yli. Useita menetelmiä on ehdotettu muistin sisällön määrittämiseksi etäisännästä analysoimalla pyyntöjen suoritusaika HTTP/1- ja HTTP/2-protokollien kautta. Valittujen mallipohjien tallentamiseen käytetään tavallisia web-sovelluksia, jotka tallentavat pyynnöissä vastaanotetut tiedot muistiin.

Hyökkäyksen yleinen periaate tiivistyy siihen, että palvelimella oleva muistisivu täytetään tiedoilla, jotka mahdollisesti toistavat palvelimella jo olevan muistisivun sisällön. Hyökkääjä odottaa sitten aikaa, joka tarvitaan ytimen poistamiseen ja yhdistämiseen muistisivusta, sitten muuttaa valvottuja kaksoiskappaleita ja arvioi vasteajan määrittääkseen, onnistuiko osuma.

Hyökkäysmenetelmää on ehdotettu muistinpalasten etämäärittämiseksi palvelimella

Kokeiden aikana suurin tiedonvuotonopeus oli 34.41 tavua tunnissa globaalin verkon kautta hyökkätessä ja 302.16 tavua tunnissa paikallisverkon kautta, mikä on nopeampaa kuin muut menetelmät tietojen poimimiseen kolmannen osapuolen kanavien kautta (esim. NetSpectre-hyökkäyksessä tiedonsiirtonopeus on 7.5 tavua kello yhdeltä).

Kolme toimivaa hyökkäysvaihtoehtoa on ehdotettu. Ensimmäisen vaihtoehdon avulla voit määrittää Memcachedia käyttävän verkkopalvelimen muistissa olevat tiedot. Hyökkäys tiivistyy tiettyjen tietojoukkojen lataamiseen Memcached-tallennustilaan, duplikoidun lohkon tyhjentämiseen, saman elementin uudelleenkirjoittamiseen ja ehtojen luomiseen COW-kopioimiselle muuttamalla lohkon sisältöä. Memcached-kokeilun aikana pystyttiin määrittämään 166.51 sekunnissa virtuaalikoneessa toimivaan järjestelmään asennetun libc:n versio.

Toinen vaihtoehto mahdollisti MariaDB DBMS:n tietueiden sisällön selvittämisen InnoDB-tallennustilaa käytettäessä luomalla sisältö uudelleen tavu kerrallaan. Hyökkäys toteutetaan lähettämällä erityisesti muokattuja pyyntöjä, jotka johtavat yhden tavun epäsuhtautumiseen muistisivuilla ja analysoimalla vasteaikaa sen toteamiseksi, että arvaus tavun sisällöstä oli oikea. Tällaisen vuodon nopeus on alhainen ja on 1.5 tavua tunnissa, kun hyökätään paikallisverkosta. Menetelmän etuna on, että sillä voidaan palauttaa tuntematon muistisisältö.

Kolmas vaihtoehto mahdollisti KASLR-suojausmekanismin ohituksen kokonaan 4 minuutissa ja tiedon saamisen virtuaalikoneen ytimen kuvan muistisiirtymästä tilanteessa, jossa offset-osoite on muistisivulla, jossa muut tiedot eivät muutu. Hyökkäys suoritettiin isännästä, joka sijaitsi 14 hypyn päässä hyökkäyksen kohteena olevasta järjestelmästä. Esitettyjen hyökkäysten toteuttamiseen liittyviä koodiesimerkkejä luvataan julkaista GitHubissa.

Lähde: opennet.ru

Lisää kommentti