Blacksmith - jauns uzbrukums DRAM atmiņai un DDR4 mikroshēmām

Pētnieku komanda no ETH Zurich, Vrije Universiteit Amsterdam un Qualcomm ir publicējusi jaunu RowHammer uzbrukuma metodi, kas var mainīt dinamiskās brīvpiekļuves atmiņas (DRAM) atsevišķu bitu saturu. Uzbrukumam tika dots kodētais nosaukums Blacksmith, un tas tika identificēts kā CVE-2021-42114. Daudzas DDR4 mikroshēmas, kas aprīkotas ar aizsardzību pret iepriekš zināmām RowHammer klases metodēm, ir jutīgas pret problēmu. Rīki sistēmu ievainojamības pārbaudei ir publicēti vietnē GitHub.

Atgādiniet, ka RowHammer klases uzbrukumi ļauj izkropļot atsevišķu atmiņas bitu saturu, cikliski nolasot datus no blakus esošajām atmiņas šūnām. Tā kā DRAM atmiņa ir divdimensiju šūnu masīvs, katrs 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 rada nelielu lādiņa zudumu blakus esošajās šūnās. 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. .

Lai aizsargātu pret RowHammer, mikroshēmu ražotāji piedāvāja TRR (Target Row Refresh) mehānismu, kas aizsargā pret blakus esošo rindu šūnu bojājumiem, taču, tā kā aizsardzība tika balstīta uz principu "drošība ar tumsu", tas neatrisināja problēmu. sakne, bet aizsargāta tikai no zināmiem īpašiem gadījumiem, kas ļāva viegli atrast veidus, kā apiet aizsardzību. Piemēram, maijā Google ierosināja Half-Double metodi, kuru TRR aizsardzība neietekmēja, jo uzbrukums skāra šūnas, kas nebija tieši blakus mērķim.

Blacksmith jaunā metode piedāvā atšķirīgu veidu, kā apiet TRR aizsardzību, pamatojoties uz nevienmērīgu piekļuvi divām vai vairākām agresoru virknēm dažādās frekvencēs, lai izraisītu lādiņa noplūdi. Lai noteiktu atmiņas piekļuves modeli, kas noved pie uzlādes noplūdes, ir izstrādāts īpašs fuzeris, kas automātiski atlasa uzbrukuma parametrus konkrētai mikroshēmai, mainot šūnu piekļuves secību, intensitāti un sistemātiskumu.

Šāda pieeja, kas nav saistīta ar to pašu šūnu ietekmēšanu, padara pašreizējās TRR aizsardzības metodes neefektīvas, kas vienā vai otrā veidā aprobežojas ar atkārtotu šūnu zvanu skaita skaitīšanu un, sasniedzot noteiktas vērtības, uzlādes uzsākšanu. kaimiņu šūnām. Blacksmithā piekļuves modelis tiek izplatīts vairākās šūnās vienlaikus no dažādām mērķa pusēm, kas ļauj sasniegt lādiņa noplūdi, nesasniedzot sliekšņa vērtības.

Metode izrādījās ievērojami efektīvāka nekā iepriekš piedāvātās metodes TRR apiešanai - pētniekiem izdevās panākt bitu kropļojumu visās 40 nesen iegādātajās dažādās Samsung, Micron, SK Hynix un nezināma ražotāja DDR4 atmiņas mikroshēmās (ražotājs bija nav norādīts uz 4 mikroshēmām). Salīdzinājumam, to pašu pētnieku iepriekš piedāvātā TRRespass metode bija efektīva tikai 13 no 42 tajā laikā pārbaudītajām mikroshēmām.

Kopumā sagaidāms, ka Blacksmith metode attieksies uz 94% no visām tirgū esošajām DRAM mikroshēmām, taču pētnieki saka, ka dažas mikroshēmas ir neaizsargātākas un vieglāk uzbrukt nekā citas. Kļūdu labošanas kodu (ECC) izmantošana mikroshēmās un atmiņas atsvaidzes intensitātes dubultošana nenodrošina pilnīgu aizsardzību, taču apgrūtina darbību. Zīmīgi, ka problēmu nevar bloķēt jau izlaistajās mikroshēmās, un tai ir jāievieš jauna aizsardzība aparatūras līmenī, tāpēc uzbrukums paliks aktuāls daudzus gadus.

Praktiski piemēri ietver metodes, kā izmantot Blacksmith, lai mainītu ierakstu saturu atmiņas lappušu tabulā (PTE, lappušu tabulas ieraksts), lai iegūtu kodola privilēģijas, sabojājot OpenSSH atmiņā saglabāto RSA-2048 publisko atslēgu (jūs varat ievietot publisko atslēgu kāda cita virtuālā mašīna, lai tā atbilstu uzbrucēja privātajai atslēgai, lai izveidotu savienojumu ar upura virtuālo mašīnu), un apiet akreditācijas datu pārbaudi, modificējot sudo procesa atmiņu, lai iegūtu root tiesības. Atkarībā no mikroshēmas viena mērķa bita maiņa aizņem no 3 sekundēm līdz vairākām stundām uzbrukuma laika.

Turklāt mēs varam atzīmēt atklātā LiteX Row Hammer Tester ietvara publikāciju atmiņas aizsardzības metožu testēšanai pret RowHammer klases uzbrukumiem, ko izstrādājis uzņēmums Antmicro for Google. Ietvars ir balstīts uz FPGA izmantošanu, lai pilnībā kontrolētu komandas, kas tiek nosūtītas tieši uz DRAM mikroshēmu, lai novērstu atmiņas kontrollera ietekmi. Python rīkkopa tiek piedāvāta mijiedarbībai ar FPGA. Uz FPGA balstīta vārteja ietver moduli pakešu datu pārsūtīšanai (definē atmiņas piekļuves modeļus), Payload Executor, LiteDRAM bāzes kontrolieri (apstrādā visu DRAM nepieciešamo loģiku, ieskaitot rindu aktivizēšanu un atmiņas atjaunināšanu) un VexRiscv centrālo procesoru. Projekta izstrādes tiek izplatītas saskaņā ar Apache 2.0 licenci. Tiek atbalstītas dažādas FPGA platformas, tostarp Lattice ECP5, Xilinx Series 6, 7, UltraScale un UltraScale+.

Avots: opennet.ru

Pievieno komentāru