GDDRHammer i GeForge: dos nous atacs via Rowhammer a GPUs

Punts clau:
  • Investigadors desenvolupen tècniques per amplificar els atacs Rowhammer en memòries GDDR6 aconseguint milers d'alteracions de bits.
  • Els atacs GDDRHammer i GeForge manipulen l'assignador de memòria per ubicar taules de pàgines a sectors vulnerables.
  • L'alteració d'un bit a la taula de pàgines permet redirigir els capdavanters de memòria cap a estructures controlades per l'atacant.
  • Si canvieu el camp d'obertura del sistema a l'entrada de la taula, la GPU obté accés directe de lectura i escriptura a la memòria física del host.
  • La vulnerabilitat afecta models com la RTX 3060 i RTX A6000, i requereix l'activació de l'IOMMU com a mesura principal de defensa

atacs Rowhammer GPU

Investigadors de seguretat han demostrat que la vulnerabilitat física Rowhammer representa una amenaça severa per a les unitats de processament gràfic modernes, presentant dues cadenes datac completes denominades GeForge i GDDRHammer. A diferència d'investigacions preliminars que amb prou feines van aconseguir induir una quantitat mínima d'alteracions de bits per degradar la inferència de xarxes neuronals, aquests nous tipus d'atacs aconsegueixen un compromís absolut a nivell de sistema.

En executar codi estàndard i sense privilegis en una GPU NVIDIA, un atacant pot corrompre les estructures de memòria internes del dispositiu per obtenir accés arbitrari de lectura i escriptura sobre tota la memòria física de la CPU amfitriona. Aquesta manipulació creuada permet a l'atacant escalar privilegis i obtenir una consola de superusuari al sistema operatiu central.

Evasió de mitigacions i patrons

L'èxit d'aquests atacs depèn de tècniques inèdites per evadir les mitigacions d'actualització de files objectiu (TRR) implementades a la memòria GDDR6. La investigació de GeForge introdueix patrons no uniformes que abasten múltiples intervals d'actualització, variant la intensitat i l'ordre de les activacions de les files de memòria per evitar la detecció del maquinari.

Per aplicar mapes d'adreces físiques obtinguts mitjançant perfils fora de línia a les assignacions dinàmiques de memòria, van desenvolupar una tècnica d'ancoratge de pàgines que explota l'assignació no lineal de les adreces físiques cap als conjunts de la memòria cau L2.

simultàniament, l'equip de GDDRHammer va descobrir que les files de memòria DRAM a les targetes gràfiques segueixen una disposició geomètrica no monòtona, cosa que els va permetre construir patrons de doble cara altament efectius malgrat que les direccions físiques semblés distants. En assignar tasques de bancs de memòria individuals a diferents multiprocessadors de transmissió i sincronitzar parcialment l'execució, van aconseguir maximitzar el rendiment d'activació esquivant el mostreig de seguretat.

Aquests enfocaments van generar resultats massius; el mètode GeForge va induir 1,171 alteracions de bits en una RTX 3060 de consum i 202 en una RTX A6000 professional, mentre que GDDRHammer va aconseguir una mitjana de 1,032 alteracions per gigabyte, representant un augment de 64 vegades respecte a intents anteriors.

Manipulació de taules de pàgines i massatge de memòria

Per convertir aquestes alteracions elèctriques en una arma, els atacants apunten a les taules de pàgines jeràrquiques administrades per la unitat de gestió de memòria de la GPU. Com que el controlador assigna normalment aquestes estructures a regions protegides o impredictibles, els exploits es basen en tècniques de massatge de memòria per forçar la ubicació de les entrades de la taula de pàgines en ubicacions físiques que l'atacant sap que són vulnerables.

l'atac GDDRHammer utilitza mapatges de memòria compartida per inundar l'assignador, escurçant la bretxa entre les regions de taules de pàgines i la memòria controlada per l'usuari. GeForge se centra específicament a corrompre les entrades del Directori de Pàgines 0 (PD0).

En assignar i alliberar acuradament fragments de Memòria Virtual Unificada, l'atacant dirigeix ​​la creació de noves estructures PD0 directament cap a una subpàgina específica de 4 kilobytes. Un cop en posició, el procés altera un bit dins del punter de direcció física de l'entrada, redirigint-lo cap a una taula de pàgines falsificada i controlada completament pel codi maliciós.

Escalada de privilegis a través del bus PCIe

El control sobre la taula de pàgines de la targeta gràfica es tradueix directament en control sobre el processador central de lequip. Les entrades de la taula de pàgines de NVIDIA contenen un camp d'obertura específic que dicta si l'adreça física associada resideix a la memòria local del dispositiu oa la memòria del sistema amfitrió. Quan altereu aquest camp a l'entrada falsificada, qualsevol operació de lectura o escriptura posterior realitzada per la GPU s'enruta a través del bus PCIe directament cap a la memòria RAM física del host.

Aquest accés directe a la memòria eludeix la pròpia unitat de gestió de memòria de la CPU i les proteccions de còpia en escriptura del sistema operatiu. En la demostració pràctica, Els investigadors van utilitzar aquesta capacitat per sobreescriure el segment de codi de la biblioteca estàndard de C directament a la memòria del host. Específicament, van injectar codi màquina a la funció de tancament de registre, la qual va ser executada posteriorment per un programa legítim amb privilegis elevats, atorgant immediatament a l'atacant accés absolut al sistema.

Prevalença del maquinari i mesures de mitigació

Las proves exhaustives van confirmar que aquesta vulnerabilitat està generalitzada al maquinari actual. L'estudi de GDDRHammer va avaluar 25 targetes gràfiques de gamma alta i va descobrir que 16 dels 17 models RTX A6000 basats en l'arquitectura Ampere eren susceptibles a aquests atacs. Tot i que la memòria amb codi de correcció d'errors (ECC) pot mitigar la confiança de l'atac en corregir errors d'un sol bit, aquesta funció està desactivada per defecte a moltes targetes d'estació de treball a causa de la penalització del rendiment i està completament absent en models de consum massiu.

La defensa immediata més efectiva contra el compromís del host és la aplicació d´una Unitat de Gestió de Memòria d´Entrada-Sortida (IOMMU). Quan està activa, la IOMMU restringeix l'accés directe de la GPU als marcs de pàgina del host explícitament autoritzats, neutralitzant el mapatge d'obertura falsificat. Tot i això, ambdós equips de recerca assenyalen que la IOMMU es troba sovint desactivada per defecte en sistemes Linux comercials per raons de compatibilitat, deixant una quantitat significativa d'equips exposats a aquest vector d'atac.

Finalment si estàs interessat en poder conèixer més sobre això, pots consultar els detalls al següent enllaç.