Forskare frĂ„n flera universitet i USA och Australien har utvecklat tvĂ„ Rowhammer-attacker â GDDRHammer och GeForge â som möjliggör bitförvrĂ€ngning i GDDR-videominnechips nĂ€r ett icke-privilegierat CUDA-kĂ€rna körs pĂ„ NVIDIA GPU:er. Till skillnad frĂ„n den tidigare metoden GPUHammer, som presenterades förra Ă„ret, begrĂ€nsas de nya attackerna inte till pĂ„verkan pĂ„ data som behandlas i GPU-minnet, utan ger fullstĂ€ndig tillgĂ„ng till allt primĂ€rt minne som hör till CPU:ns adresseringsutrymme. Forskare har demonstrerat exploateringar som ger root-Ă„tkomst till det underliggande systemet vid körning av ett icke-privilegierat CUDA-kĂ€rna pĂ„ GPU.
BÄda attackerna uppnÄr för tidig laddningsförlust i specifika videominneceller som angriparna inte har direkt Ätkomst till, vilket leder till förÀndringar av de bitar som lagras i dessa celler. Möjligheten att lÀsa och skriva till minnet som hör till CPU:ns adresseringsutrymme realiseras genom att manipulera GPU:s minnesallokerare (cudaMalloc) för att bryta minnesisoleringen för GPU och avbilda GPU:s virtuella adresser till godtyckliga fysiska adresser antingen i GPU eller CPU.
Manipulationen sker genom att förvrĂ€nga bitvĂ€rden i videominne, dĂ€r sidor av GPU-minne lagras och som ansvarar för översĂ€ttning av virtuella adresser till fysiska. Skillnaderna mellan attacker GDDRHammer och GeForge ligger i att GDDRHammer-metoden modifierar den sista nivĂ„n av sidtabellen (PT â Last Level Page Table), medan GeForge-metoden modifierar den sista nivĂ„n av sidkatalogen (PD0 â Last Level Page Directory).
Bland annat anvÀnds de angivna översÀttningstabellerna för att organisera direkt Ätkomst för GPU till CPU-minnet, sÄ att en förÀndring av adressen i GPU:s sidtabell till en fysisk adress i det primÀra RAM-minnet och satt APERTURE-flaggan, som aktiverar CPU-minnesmappning, möjliggör lÀsning och skrivning av data med Ätkomst till det primÀra minnet via PCIe-bussen med IOMMU avstÀngt (som standard avstÀngt).


FramgÄngsrika attacker har demonstrerats för högpresterande professionella grafikkort NVIDIA RTX A6000, baserade pÄ mikroarkitekturen Ampere (priserna för nya kort börjar frÄn $6850, medan begagnade kort ligger pÄ $4000) och konsummodeller NVIDIA RTX 3060 ($250-300). Den utvecklade tekniken för att kringgÄ Rowhammer-skyddet, i kombination med utnyttjande av de resurser som erbjuds i GPU för att parallellisera operationer, har möjliggjort en 64-faldig ökning av frekvensen av celldeformationer jÀmfört med tidigare attacker. Som en tillfÀllig ÄtgÀrd för att blockera attacker kan kommandot "nvidia-smi -e 1" aktivera ECC-felkorrektionslÀget (Error Correcting Codes), men detta medför extra overhead och kan potentiellt kringgÄs med sÄdana attackmetoder som ECCploit och ECC.fail.
RowHammer-attacken möjliggör förvrÀngning av innehÄllet i enskilda bitar av DRAM-minne genom cykliskt lÀsande av data frÄn angrÀnsande minnesceller. Eftersom DRAM-minnet utgörs av en tvÄdimensionell matris av celler, dÀr varje cell bestÄr av en kondensator och en transistor, leder kontinuerligt lÀsande av samma minnesomrÄde till spÀnningsfluktuationer och anomalier som orsakar en liten laddningsförlust i angrÀnsande celler. Om lÀsintensiteten Àr hög kan den angrÀnsande cellen förlora en tillrÀckligt stor mÀngd laddning sÄ att den efterföljande regenereringscykeln inte hinner ÄterstÀlla dess ursprungliga tillstÄnd, vilket leder till en förÀndring av det lagrade datavÀrdet i cellen.
Rowhammer-attackmetoden föreslogs 2014, efter vilket en katt-och-rÄtta-lek inleddes mellan sÀkerhetsforskare och hÄrdvarutillverkare - minneschipstillverkare försökte blockera sÄrbarheten, medan forskarna hittade nya sÀtt att kringgÄ den. Till exempel lade chipstillverkare till TRR-mekanismen (Target Row Refresh) för att skydda mot RowHammer, men det visade sig att den bara blockerar cellförvrÀngningar i specifika fall och inte skyddar mot alla möjliga varianten av attack. Attackmetoder har utvecklats för DDR3, DDR4 och DDR5-chips i system med Intel-, AMD- och ARM-processorer samt för GDDR-minne i NVIDIA-GPU:er. Dessutom har det hittats sÀtt att kringgÄ ECC-felkorrektion och förslag pÄ hur man kan utföra attacker nÀtverksvÀgen och via JavaScript-kod i webblÀsaren.
KĂ€lla: opennet.ru
