Blacksmith: un nou atac a la memòria DRAM i els xips DDR4

Un equip d'investigadors de l'ETH Zurich, la Vrije Universiteit Amsterdam i Qualcomm ha publicat un nou mètode d'atac RowHammer que pot alterar el contingut de bits individuals de memòria dinàmica d'accés aleatori (DRAM). L'atac va rebre el nom en clau de Blacksmith i es va identificar com a CVE-2021-42114. Molts xips DDR4 equipats amb protecció contra mètodes de classe RowHammer coneguts anteriorment són susceptibles al problema. Les eines per provar la vulnerabilitat dels vostres sistemes es publiquen a GitHub.

Recordeu que els atacs de classe RowHammer us permeten distorsionar el contingut dels bits de memòria individuals llegint cíclicament dades de les cel·les de memòria veïnes. Com que la memòria DRAM és una matriu de cèl·lules bidimensionals, cadascuna formada per un condensador i un transistor, la realització de lectures contínues de la mateixa regió de memòria provoca fluctuacions de tensió i anomalies que provoquen una petita pèrdua de càrrega a les cèl·lules veïnes. Si la intensitat de lectura és alta, aleshores la cèl·lula veïna pot perdre una quantitat de càrrega prou gran i el següent cicle de regeneració no tindrà temps de restaurar el seu estat original, cosa que provocarà un canvi en el valor de les dades emmagatzemades a la cel·la. .

Per protegir contra RowHammer, els fabricants de xips van proposar el mecanisme TRR (Target Row Refresh), que protegeix contra la corrupció de les cel·les de les files adjacents, però com que la protecció es basava en el principi de "seguretat per l'obscuritat", no va resoldre el problema en l'arrel, però protegit només de casos especials coneguts, cosa que facilitava trobar maneres d'evitar la protecció. Per exemple, al maig, Google va proposar el mètode Half-Double, que no es va veure afectat per la protecció TRR, ja que l'atac va afectar cèl·lules que no eren directament adjacents a l'objectiu.

El nou mètode de Blacksmith ofereix una manera diferent d'evitar la protecció TRR, basada en un accés no uniforme a dues o més cadenes d'agressors a diferents freqüències per provocar fuites de càrrega. Per determinar el patró d'accés a la memòria que condueix a la fuita de càrrega, s'ha desenvolupat un fuzzer especial que selecciona automàticament els paràmetres d'atac per a un xip específic, variant l'ordre, la intensitat i la sistematicitat de l'accés a la cèl·lula.

Aquest enfocament, que no està associat a influir en les mateixes cèl·lules, fa que els mètodes de protecció TRR actuals siguin ineficaços, que d'una forma o altra es redueixen a comptar el nombre de trucades repetides a les cèl·lules i, quan s'assoleixen determinats valors, iniciar la recàrrega. de cèl·lules veïnes. A Blacksmith, el patró d'accés s'estén per diverses cel·les alhora des de diferents costats de l'objectiu, la qual cosa permet aconseguir una fuita de càrrega sense assolir els valors de llindar.

El mètode va resultar ser significativament més eficaç que els mètodes proposats anteriorment per evitar el TRR: els investigadors van aconseguir aconseguir una distorsió de bits en els 40 xips de memòria DDR4 comprats recentment fabricats per Samsung, Micron, SK Hynix i un fabricant desconegut (el fabricant va ser no especificat en 4 fitxes). Per comparar, el mètode TRRespass proposat anteriorment pels mateixos investigadors va ser efectiu només per a 13 dels 42 xips provats en aquell moment.

En general, s'espera que el mètode Blacksmith s'apliqui al 94% de tots els xips DRAM del mercat, però els investigadors diuen que alguns xips són més vulnerables i més fàcils d'atacar que d'altres. L'ús de codis de correcció d'errors (ECC) als xips i la duplicació de la freqüència d'actualització de la memòria no ofereix una protecció completa, però complica el funcionament. Cal destacar que el problema no es pot bloquejar en xips ja llançats i requereix la implementació d'una nova protecció a nivell de maquinari, de manera que l'atac seguirà sent rellevant durant molts anys.

Els exemples pràctics inclouen mètodes per utilitzar Blacksmith per canviar el contingut de les entrades a la taula de pàgines de memòria (PTE, entrada de la taula de pàgines) per obtenir privilegis del nucli, corrompre la clau pública RSA-2048 emmagatzemada a la memòria a OpenSSH (podeu introduir la clau pública en la màquina virtual d'una altra persona per fer coincidir la clau privada de l'atacant per connectar-se a la màquina virtual de la víctima) i passar per alt la comprovació de credencials modificant la memòria del procés sudo per obtenir privilegis de root. Depenent del xip, es triga entre 3 segons i diverses hores de temps d'atac per canviar un bit objectiu.

A més, podem destacar la publicació del marc obert LiteX Row Hammer Tester per provar mètodes de protecció de memòria contra atacs de classe RowHammer, desenvolupat per Antmicro per a Google. El marc es basa en l'ús de FPGA per controlar completament les ordres transmeses directament al xip DRAM per eliminar la influència del controlador de memòria. S'ofereix Toolkit a Python per a la interacció amb FPGA. La passarel·la basada en FPGA inclou un mòdul per a la transferència de dades de paquets (defineix els patrons d'accés a la memòria), un Payload Executor, un controlador basat en LiteDRAM (procesa tota la lògica necessària per a la DRAM, inclosa l'activació de fila i l'actualització de memòria) i una CPU VexRiscv. Els desenvolupaments del projecte es distribueixen sota la llicència Apache 2.0. S'admeten diverses plataformes FPGA, com ara Lattice ECP5, Xilinx Series 6, 7, UltraScale i UltraScale+.

Font: opennet.ru

Afegeix comentari