ETH Zurichin tutkijat ovat kehittäneet ZenHammer-hyökkäyksen, muunnelman RowHammer-hyökkäysten luokasta dynaamisen hajasaantimuistin (DRAM) yksittäisten bittien sisällön muokkaamiseksi, ja se on mukautettu käytettäväksi AMD-prosessoreilla varustetuissa alustoissa. Aiemmat RowHammer-hyökkäykset ovat rajoittuneet Intel-prosessoreihin perustuviin järjestelmiin, mutta tutkimukset ovat osoittaneet, että muistikorruptio voidaan saavuttaa myös AMD-muistiohjaimilla.
Menetelmä esiteltiin AMD Zen 2- ja Zen 3 -järjestelmissä kolmen johtavan valmistajan (Samsung, Micron ja SK Hynix) DDR4-muistilla. Hyökkäys ohittaa onnistuneesti muistisiruihin toteutetun TRR-mekanismin (Target Row Refresh), jonka tarkoituksena on suojata vierekkäisten rivien muistisolujen korruptoitumista vastaan. Tutkijoiden mukaan AMD Zen 3 -suorittimiin perustuvat järjestelmät ovat haavoittuvampia kuin Intel Coffee Lake -suorittimilla varustetut järjestelmät, ja niitä on helpompi ja tehokkaampi hyökätä. AMD Zen 2 -järjestelmissä solun vääristymiä saavutettiin 7:ssä kymmenestä testatusta DDR10-siruista ja Zen 4 -järjestelmistä 3:lla 6:stä. Tutkijat analysoivat myös mahdollisuutta hyökätä DDR10-muistilla varustettuja AMD Zen 4 -järjestelmiä vastaan, mutta hyökkäys tapahtui DDR5:lle kehitetty menetelmä toistettiin onnistuneesti vain yhdellä kymmenestä testatusta DDR4-muistipiiristä, vaikka itse hyökkäyksen mahdollisuus ei ole poissuljettu, mutta vaatii tehokkaampien DDR1-laitteille sopivien lukumallien kehittämistä.
AMD-sirujen kanssa työskennelläkseen he pystyivät mukauttamaan aiemmin kehitettyjä hyväksikäyttöjä, jotka muuttavat muistisivutaulukon merkintöjen sisältöä (PTE, sivutaulukon merkintä) saadakseen ytimen oikeudet, ohittaakseen salasanan/valtuutuksen tarkistukset muokkaamalla sudo-prosessin muistia. , ja vahingoittaa OpenSSH:n muistiin tallennettua julkista RSA-2048-avainta yksityisen avaimen uudelleenluomiseksi. Muistisivuhyökkäys toistettiin 7:llä kymmenestä testatusta DDR10-siruista, RSA-avainhyökkäys 4 sirulle ja sudohyökkäys 6 sirulle hyökkäysajoilla 4, 164 ja 267 sekuntia.

Menetelmää voidaan käyttää myös järjestelmän kimppuun selainten kautta muutosten tekemiseksi virtuaalikoneet tai järjestää verkkohyökkäyksen. DARE-työkalupakin lähdekoodi DRAM-osoiteasettelujen käänteiseen suunnitteluun on saatavilla GitHubissa MIT-lisenssillä, samoin kuin kaksi apuohjelmaa muistibittien vioittumisen sumentamiseen – ddr4_zen2_zen3_pub DDR4-siruille (Zen 2 ja Zen 3) ja ddr5_zen4_pub DDR5-siruille (Zen 4). Näitä voidaan käyttää järjestelmien hyökkäyshaavoittuvuuden testaamiseen.

Bittien vääristämiseen käytetään RowHammer-menetelmää, joka perustuu siihen, että DRAM-muistissa, joka on kondensaattorista ja transistorista koostuva kaksiulotteinen solujoukko, saman muistialueen jatkuvan lukemisen suorittaminen johtaa jännitteen vaihteluihin ja poikkeavuuksia, jotka aiheuttavat pienen naapurisolujen varaushäviön. Jos lukuintensiteetti on korkea, naapurisolu voi menettää riittävän suuren määrän varausta ja seuraavalla regenerointijaksolla ei ole aikaa palauttaa alkuperäistä tilaansa, mikä johtaa soluun tallennetun datan arvon muutokseen. . Tutkija tunnisti fyysisen muistin kartoituksen ja synkronoinnin ominaisuudet AMD-prosessoreissa käytettävien muistin päivitysmekanismeiden kanssa, mikä mahdollisti matalan tason DRAM-osoitteiden luomisen, naapurisolujen osoitteiden määrittämisen, välimuistin ohittamisen menetelmien kehittämisen sekä kuvioiden ja taajuuden laskemisen. toiminnot, jotka johtavat latauksen menettämiseen.
Suojautuakseen RowHammeria vastaan siruvalmistajat käyttävät TRR (Target Row Refresh) -mekanismia, joka estää solujen korruption erikoistapauksissa, mutta ei suojaa kaikilta mahdollisilta hyökkäysvaihtoehdoilta. Tehokkain suojausmenetelmä on edelleen muistin käyttö virheenkorjauskoodeilla (ECC), jotka vaikeuttavat merkittävästi, mutta eivät täysin poista RowHammer-hyökkäykset. Muistin elvyttämisen tiheyden lisääminen voi myös vähentää onnistuneen hyökkäyksen todennäköisyyttä.
AMD on julkaissut ongelmasta raportin, jossa todetaan, että AMD-prosessorit käyttävät muistiohjaimia, jotka noudattavat DDR-spesifikaatioita, ja koska hyökkäyksen onnistuminen riippuu ensisijaisesti järjestelmäasetuksista ja DRAM-muistista, ongelman ratkaisemista koskevat kysymykset tulee osoittaa muistin valmistajille. ja järjestelmät Nykyisiä tapoja tehdä Rowhammer-luokan hyökkäyksistä vaikeampia ovat ECC-muistin käyttö, muistin uudelleenmuodostuksen taajuuden lisääminen, viivästetyn regenerointitilan poistaminen käytöstä ja prosessorien käyttäminen ohjaimilla, jotka tukevat MAC (Maximum Activate Count) -tilaa DDR4:lle (1., 2. ja 3.). sukupolven AMD EPYC "Naple", "Rome" ja "Milan") ja RFM (Refresh Management) DDR5:lle (4. sukupolvi AMD EPYC).
Lähde: opennet.ru
