ZenHammer - uzbrukuma metode atmiņas satura sabojāšanai AMD Zen platformās

ETH Zurich pētnieki ir izstrādājuši ZenHammer uzbrukumu, kas ir RowHammer uzbrukumu klases variants, lai modificētu atsevišķu dinamiskās brīvpiekļuves atmiņas (DRAM) bitu saturu, kas pielāgots izmantošanai platformās ar AMD procesoriem. Iepriekšējie RowHammer uzbrukumi aprobežojās ar sistēmām, kuru pamatā ir Intel procesori, taču pētījumi liecina, ka atmiņas bojājumus var panākt arī platformās ar AMD atmiņas kontrolieriem.

Metode tika demonstrēta AMD Zen 2 un Zen 3 sistēmās ar DDR4 atmiņu no trim vadošajiem ražotājiem (Samsung, Micron un SK Hynix). Uzbrukums veiksmīgi apiet atmiņas mikroshēmās ieviesto TRR (Target Row Refresh) mehānismu, kura mērķis ir aizsargāt pret blakus esošo rindu atmiņas šūnu bojājumiem. Pēc pētnieku domām, sistēmas, kuru pamatā ir AMD Zen 3 CPU, ir neaizsargātākas nekā sistēmas ar Intel Coffee Lake procesoriem, un tām ir vieglāk un efektīvāk uzbrukt. AMD Zen 2 sistēmās šūnu kropļojumi tika sasniegti 7 no 10 pārbaudītajām DDR4 mikroshēmām, bet Zen 3 sistēmās 6 no 10. Pētnieki arī analizēja iespēju uzbrukt AMD Zen 4 sistēmām ar DDR5 atmiņu, taču uzbrukums DDR4 izstrādātā metode tika veiksmīgi reproducēta tikai 1 no 10 pārbaudītajām DDR5 atmiņas mikroshēmām, savukārt pati uzbrukuma iespēja nav izslēgta, taču ir jāizstrādā efektīvāki nolasīšanas modeļi, kas piemēroti DDR5 ierīcēm.

Lai strādātu ar AMD mikroshēmām, viņi varēja pielāgot iepriekš izstrādātos izlietojumus, kas maina ierakstu saturu atmiņas lappušu tabulā (PTE, lappušu tabulas ieraksts), lai iegūtu kodola privilēģijas, apietu paroles/autoritātes pārbaudes, modificējot sudo procesa atmiņu. , un sabojāt OpenSSH atmiņā saglabāto publisko atslēgu RSA-2048, lai atkārtoti izveidotu privāto atslēgu. Atmiņas lapas uzbrukums tika reproducēts 7 no 10 pārbaudītajām DDR4 mikroshēmām, RSA atslēgas uzbrukums 6 mikroshēmām un sudo uzbrukums 4 mikroshēmām ar uzbrukuma laikiem attiecīgi 164, 267 un 209 sekundes.

ZenHammer - uzbrukuma metode atmiņas satura sabojāšanai AMD Zen platformās

Šo metodi var izmantot arī, lai uzbruktu sistēmai, izmantojot pārlūkprogrammas, veiktu izmaiņas no virtuālajām mašīnām vai uzsāktu uzbrukumu tīklā. DARE rīkkopas avota kods DRAM atmiņas adrešu izkārtojuma reversajai inženierijai ir ievietots GitHub saskaņā ar MIT licenci, kā arī divi utilītu komplekti atmiņas bitu bojājumu izplūdes testēšanai - ddr4_zen2_zen3_pub DDR4 mikroshēmām (Zen 2 un Zen 3) un ddr5_zen4_pub DDR5 mikroshēmām ( Zen 4), ko var izmantot, lai pārbaudītu to sistēmu jutīgumu pret uzbrukumiem.

ZenHammer - uzbrukuma metode atmiņas satura sabojāšanai AMD Zen platformās

Bitu kropļošanai tiek izmantota RowHammer metode, kuras pamatā ir fakts, ka DRAM atmiņā, kas ir divdimensiju šūnu masīvs, kas sastāv no kondensatora un tranzistora, viena un tā paša atmiņas apgabala nepārtrauktas nolasīšanas rezultātā rodas sprieguma svārstības un anomālijas, kas izraisa nelielu lādiņa zudumu blakus esošajām šūnām. Ja nolasīšanas intensitāte ir augsta, tad blakus esošā šūna var zaudēt pietiekami lielu lādiņa daudzumu un nākamajā reģenerācijas ciklā nebūs laika atjaunot sākotnējo stāvokli, kas novedīs pie šūnā saglabāto datu vērtības izmaiņām. . Pētnieks identificēja fiziskās atmiņas kartēšanas un sinhronizācijas iezīmes ar AMD procesoros izmantotajiem atmiņas atjaunināšanas mehānismiem, kas ļāva atjaunot zema līmeņa DRAM adresāciju, noteikt blakus esošo šūnu adreses, izstrādāt metodes kešatmiņas apiešanai, kā arī aprēķināt modeļus un frekvenci. darbības, kuru rezultātā tiek zaudēta uzlāde.

Lai aizsargātu pret RowHammer, mikroshēmu ražotāji izmanto TRR (Target Row Refresh) mehānismu, kas īpašos gadījumos bloķē šūnu bojājumus, bet neaizsargā pret visām iespējamām uzbrukuma iespējām. Visefektīvākā aizsardzības metode joprojām ir atmiņas izmantošana ar kļūdu labošanas kodiem (ECC), kas ievērojami sarežģī RowHammer uzbrukumus, bet ne pilnībā novērš tos. Atmiņas atjaunošanas biežuma palielināšana var arī samazināt veiksmīga uzbrukuma iespējamību.

AMD ir publicējusi ziņojumu par šo problēmu, kurā teikts, ka AMD procesori izmanto atmiņas kontrolierus, kas atbilst DDR specifikācijām, un tā kā uzbrukuma panākumi galvenokārt ir atkarīgi no sistēmas iestatījumiem un DRAM atmiņas, jautājumi par problēmas atrisināšanu ir jāvēršas pie atmiņas ražotājiem. un sistēmas Esošie veidi, kā padarīt Rowhammer klases uzbrukumus grūtākus, ietver ECC atmiņas izmantošanu, atmiņas reģenerācijas biežuma palielināšanu, atliktās reģenerācijas režīma atspējošanu un procesoru izmantošanu ar kontrolieriem, kas atbalsta MAC (maksimālais aktivitāšu skaits) režīmu DDR4 (1., 2. un 3.). paaudzes AMD EPYC "Naple", "Rome" un "Milan") un RFM (atsvaidzināšanas pārvaldība) DDR5 (4. paaudzes AMD EPYC).

Avots: opennet.ru

Pievieno komentāru