Blacksmith - et nyt angreb på DRAM-hukommelse og DDR4-chips

Et team af forskere fra ETH Zürich, Vrije Universiteit Amsterdam og Qualcomm har udgivet en ny RowHammer-angrebsmetode, der kan ændre indholdet af individuelle bits af dynamisk random access memory (DRAM). Angrebet fik kodenavnet Blacksmith og identificeret som CVE-2021-42114. Mange DDR4-chips udstyret med beskyttelse mod tidligere kendte RowHammer-klassemetoder er modtagelige for problemet. Værktøjer til at teste dine systemer for sårbarhed er offentliggjort på GitHub.

Husk, at RowHammer-klasseangreb giver dig mulighed for at forvrænge indholdet af individuelle hukommelsesbits ved cyklisk at læse data fra tilstødende hukommelsesceller. Da DRAM-hukommelse er et todimensionelt array af celler, der hver består af en kondensator og en transistor, resulterer udførelse af kontinuerlige aflæsninger af det samme hukommelsesområde i spændingsudsving og anomalier, der forårsager et lille tab af ladning i naboceller. Hvis læseintensiteten er høj, kan nabocellen miste en tilstrækkelig stor mængde ladning, og den næste regenereringscyklus vil ikke have tid til at genoprette sin oprindelige tilstand, hvilket vil føre til en ændring i værdien af ​​de data, der er lagret i cellen .

For at beskytte mod RowHammer foreslog chipproducenterne TRR (Target Row Refresh) mekanismen, som beskytter mod korruption af celler i tilstødende rækker, men da beskyttelsen var baseret på princippet om "sikkerhed ved obscurity", løste det ikke problemet kl. roden, men kun beskyttet mod kendte særlige tilfælde, hvilket gjorde det nemt at finde måder at omgå beskyttelsen. For eksempel foreslog Google i maj Half-Double-metoden, som ikke var påvirket af TRR-beskyttelse, da angrebet ramte celler, der ikke var direkte ved siden af ​​målet.

Blacksmiths nye metode tilbyder en anden måde at omgå TRR-beskyttelse på, baseret på uensartet adgang til to eller flere aggressorstrenge ved forskellige frekvenser for at forårsage ladningslækage. For at bestemme hukommelsesadgangsmønsteret, der fører til ladningslækage, er der udviklet en speciel fuzzer, der automatisk vælger angrebsparametre for en specifik chip, og varierer rækkefølgen, intensiteten og systematikken af ​​celleadgang.

En sådan tilgang, som ikke er forbundet med at påvirke de samme celler, gør de nuværende TRR-beskyttelsesmetoder ineffektive, som i en eller anden form går ud på at tælle antallet af gentagne opkald til celler og, når visse værdier er nået, starte genopladning af naboceller. I Blacksmith er adgangsmønsteret spredt over flere celler på én gang fra forskellige sider af målet, hvilket gør det muligt at opnå ladningslækage uden at nå tærskelværdier.

Metoden viste sig at være væsentlig mere effektiv end tidligere foreslåede metoder til at omgå TRR - forskerne formåede at opnå bitforvrængning i hele 40 nyligt indkøbte forskellige DDR4-hukommelseschips lavet af Samsung, Micron, SK Hynix og en ukendt producent (producenten var ikke specificeret på 4 chips). Til sammenligning var TRRespass-metoden tidligere foreslået af de samme forskere effektiv for kun 13 ud af 42 testede chips på det tidspunkt.

Generelt forventes Blacksmith-metoden at gælde for 94% af alle DRAM-chips på markedet, men forskerne siger, at nogle chips er mere sårbare og lettere at angribe end andre. Brugen af ​​fejlkorrektionskoder (ECC) i chips og fordobling af hukommelsesopdateringshastigheden giver ikke fuldstændig beskyttelse, men komplicerer driften. Det er bemærkelsesværdigt, at problemet ikke kan blokeres i allerede frigivne chips og kræver implementering af ny beskyttelse på hardwareniveau, så angrebet vil forblive relevant i mange år.

Praktiske eksempler omfatter metoder til at bruge Blacksmith til at ændre indholdet af poster i hukommelsessidetabellen (PTE, sidetabelindgang) for at opnå kernerettigheder, hvilket ødelægger den offentlige RSA-2048-nøgle, der er gemt i hukommelsen i OpenSSH (du kan bringe den offentlige nøgle ind i en andens virtuelle maskine for at matche angriberens private nøgle for at oprette forbindelse til offerets VM) og omgå legitimationskontrollen ved at ændre sudo-processens hukommelse for at få root-privilegier. Afhængigt af chippen tager det alt fra 3 sekunder til flere timers angrebstid at ændre en målbit.

Derudover kan vi bemærke udgivelsen af ​​den åbne LiteX Row Hammer Tester-ramme til test af hukommelsesbeskyttelsesmetoder mod RowHammer-klasseangreb, udviklet af Antmicro for Google. Rammerne er baseret på brugen af ​​FPGA til fuldt ud at kontrollere de kommandoer, der sendes direkte til DRAM-chippen for at eliminere indflydelsen fra hukommelsescontrolleren. Toolkit i Python tilbydes til interaktion med FPGA. Den FPGA-baserede gateway inkluderer et modul til pakkedataoverførsel (definerer hukommelsesadgangsmønstre), en Payload Executor, en LiteDRAM-baseret controller (behandler al den logik, der kræves til DRAM, inklusive rækkeaktivering og hukommelsesopdatering) og en VexRiscv CPU. Projektets udviklinger distribueres under Apache 2.0-licensen. Forskellige FPGA-platforme understøttes, herunder Lattice ECP5, Xilinx Series 6, 7, UltraScale og UltraScale+.

Kilde: opennet.ru

Tilføj en kommentar