Blacksmith - et nytt angrep på DRAM-minne og DDR4-brikker

Et team av forskere fra ETH Zurich, Vrije Universiteit Amsterdam og Qualcomm har publisert en ny RowHammer-angrepsmetode som kan endre innholdet i individuelle biter av dynamisk tilfeldig tilgangsminne (DRAM). Angrepet fikk kodenavnet Blacksmith og identifisert som CVE-2021-42114. Mange DDR4-brikker utstyrt med beskyttelse mot tidligere kjente RowHammer-klassemetoder er utsatt for problemet. Verktøy for å teste systemene dine for sårbarhet er publisert på GitHub.

Husk at RowHammer-klasseangrep lar deg forvrenge innholdet i individuelle minnebiter ved syklisk å lese data fra nabominneceller. Siden DRAM-minne er et todimensjonalt utvalg av celler, som hver består av en kondensator og en transistor, resulterer kontinuerlig avlesning av samme minneregion i spenningsfluktuasjoner og anomalier som forårsaker et lite tap av ladning i naboceller. Hvis leseintensiteten er høy, kan nabocellen miste en tilstrekkelig stor mengde ladning og neste regenereringssyklus vil ikke ha tid til å gjenopprette sin opprinnelige tilstand, noe som vil føre til en endring i verdien av dataene som er lagret i cellen .

For å beskytte mot RowHammer foreslo brikkeprodusenter TRR-mekanismen (Target Row Refresh), som beskytter mot korrupsjon av celler i tilstøtende rader, men siden beskyttelsen var basert på prinsippet om "sikkerhet ved obscurity", løste det ikke problemet på roten, men beskyttet kun mot kjente spesielle tilfeller, noe som gjorde det enkelt å finne måter å omgå beskyttelsen. For eksempel i mai foreslo Google Half-Double-metoden, som ikke ble påvirket av TRR-beskyttelse, siden angrepet påvirket celler som ikke var direkte ved siden av målet.

Blacksmiths nye metode tilbyr en annen måte å omgå TRR-beskyttelse, basert på ujevn tilgang til to eller flere aggressorstrenger ved forskjellige frekvenser for å forårsake ladningslekkasje. For å bestemme minnetilgangsmønsteret som fører til ladelekkasje, er det utviklet en spesiell fuzzer som automatisk velger angrepsparametere for en spesifikk brikke, og varierer rekkefølgen, intensiteten og systematikken til celletilgang.

En slik tilnærming, som ikke er forbundet med å påvirke de samme cellene, gjør gjeldende TRR-beskyttelsesmetoder ineffektive, som i en eller annen form koker ned til å telle antall gjentatte anrop til celler og, når visse verdier er nådd, starte opplading av naboceller. I Blacksmith er tilgangsmønsteret spredt over flere celler samtidig fra forskjellige sider av målet, noe som gjør det mulig å oppnå ladelekkasje uten å nå terskelverdier.

Metoden viste seg å være betydelig mer effektiv enn tidligere foreslåtte metoder for å omgå TRR - forskerne klarte å oppnå bitforvrengning i hele 40 nylig kjøpte forskjellige DDR4-minnebrikker laget av Samsung, Micron, SK Hynix og en ukjent produsent (produsenten var ikke spesifisert på 4 sjetonger). Til sammenligning var TRRespass-metoden tidligere foreslått av de samme forskerne effektiv for bare 13 av 42 sjetonger som ble testet på den tiden.

Generelt forventes Blacksmith-metoden å gjelde 94 % av alle DRAM-brikker på markedet, men forskerne sier at noen brikker er mer sårbare og lettere å angripe enn andre. Bruk av feilrettingskoder (ECC) i brikker og dobling av minneoppdateringsfrekvensen gir ikke fullstendig beskyttelse, men kompliserer driften. Det er bemerkelsesverdig at problemet ikke kan blokkeres i allerede utgitte brikker og krever implementering av ny beskyttelse på maskinvarenivå, så angrepet vil forbli relevant i mange år.

Praktiske eksempler inkluderer metoder for å bruke Blacksmith til å endre innholdet i oppføringer i minnesidetabellen (PTE, sidetabelloppføring) for å få kjerneprivilegier, og ødelegge den offentlige RSA-2048-nøkkelen som er lagret i minnet i OpenSSH (du kan ta med den offentlige nøkkelen inn noen andres virtuelle maskin for å matche angriperens private nøkkel for å koble til offerets VM) og omgå legitimasjonskontrollen ved å modifisere minnet til sudo-prosessen for å få root-privilegier. Avhengig av brikken, tar det alt fra 3 sekunder til flere timers angrepstid å endre én målbit.

I tillegg kan vi legge merke til publiseringen av det åpne LiteX Row Hammer Tester-rammeverket for testing av minnebeskyttelsesmetoder mot angrep fra RowHammer-klassen, utviklet av Antmicro for Google. Rammeverket er basert på bruk av FPGA for å fullstendig kontrollere kommandoene som sendes direkte til DRAM-brikken for å eliminere påvirkningen fra minnekontrolleren. Toolkit i Python tilbys for interaksjon med FPGA. Den FPGA-baserte gatewayen inkluderer en modul for pakkedataoverføring (definerer minnetilgangsmønstre), en Payload Executor, en LiteDRAM-basert kontroller (behandler all logikken som kreves for DRAM, inkludert radaktivering og minneoppdatering) og en VexRiscv CPU. Prosjektets utvikling er distribuert under Apache 2.0-lisensen. Ulike FPGA-plattformer støttes, inkludert Lattice ECP5, Xilinx Series 6, 7, UltraScale og UltraScale+.

Kilde: opennet.ru

Legg til en kommentar