Onderzoekers hebben een kwetsbaarheid van DRAM voor het eerst gebruikt om bitflips te veroorzaken in GDDR6-geheugen van een Nvidia GPU. De impact kan groot zijn, zeker wanneer die GPU’s LLM’s uitvoeren.
Onderzoekers van de Universiteit van Toronto hebben voor het eerst een succesvolle Rowhammer-aanval uitgevoerd op GPU-geheugen. De aanval, GPUHammer genoemd, toont aan dat ook GDDR6-geheugen in grafische kaarten kwetsbaar is voor zogenaamde bitflips.
Rowhammer is een gekende kwetsbaarheid in DRAM, gebaseerd op fysieke effecten in de geheugencellen. Aanvallers proberen geheugencellen herhaaldelijk te activeren, tot dat bitflips veroorzaakt in de cellen in aangrenzende rijen.
Tot nu toe werd het fenomeen vooral onderzocht bij CPU-geheugentypes waaronder DDR4. De onderzoekers richtten zich op GDDR6-geheugen in de Nvidia RTX A6000 GPU en slaagden erin om met gebruik van CUDA-code bitflips te veroorzaken in alle geteste DRAM-banken.
Ontdekte adressen
Dat is frappant aangezien GDDR6-geheugen in Nvidia-GPU’s in theorie beter beveiligd is. De GPU’s delen fysieke geheugenadressen immers niet met de CUDA-code, en die fysieke adressen zijn wel nodig om gericht bitflips uit te lokken.
De onderzoekers hebben daarom onderzocht hoe de Nvidia-driver adressen toewijst. Het lukte heb om via reverse engineering alsnog tot de fysieke adressen te komen. Zo de onderzoekers voldoende geheugentoegang genereren om bitflips te veroorzaken.
In een proof-of-concept toonden ze aan dat een enkele bitflip in een deep learning-model op de GPU de accuraatheid kan doen dalen van 80 procent naar minder dan één procent. Ze manipuleerden daarvoor specifiek de exponent van 16 bit-zwevendekommagegetallen in modelgewichten, wat aanzienlijke impact heeft op het eindresultaat.
ECC beperkt schade
De onderzoekers merkten op dat het inschakelen van ECC (Error Correction Code) via de Nvidia-driver de waargenomen enkelvoudige bitflips kan corrigeren. Dat is logisch, het is de rol van ECC om geheugenfouten door bitflips, uitgelokt door bijvoorbeeld kosmische straling, te detecteren.
ECC is standaard uitgeschakeld op veel GPU’s omwille van de prestatie-impact. Die kan tot tien procent bedragen. ECC voorkomt echter niet de onderliggende kwetsbaarheid, die voortkomt uit de fysieke eigenschappen van DRAM-geheugen. De bitflips blijven mogelijk, maar het geheugen kan ze in principe tijdig corrigeren.
Hoewel de aanval enkel bevestigd werd op de RTX A6000 met GDDR6, benadrukken de onderzoekers dat de gebruikte technieken uitbreidbaar zijn naar andere GPU’s. Nieuwere modellen met HBM of GDDR7 lijken voorlopig immuun door betere foutcorrectie. De onderzoekers roepen op tot verdere studie en aanpassing van DRAM-ontwerpen om dit soort aanvallen structureel te voorkomen.
Kwetsbare GPU’s
Nvidia raadt gebruikers aan om ECC-geheugen in te schakelen om misbruik te voorkomen. Die suggestie geldt voor volgende server-GPU’s:
- Ampere: A100, A40, A30, A16, A10, A2, A800
- Ada: L40S, L40, L4
- Hopper: H100, H200, GH200, H20, H800
- Blackwell: GB200, B200, B100
- Turing: T1000, T600, T400, T4
- Volta: Tesla V100, Tesla V100S
Ook GPU’s in workstations zijn in theorie kwetsbaar. Het gaat dan om volgende chips:
- Ampere RTX: A6000, A5000, A4500, A4000, A2000, A1000, A400
- Ada RTX: 6000, 5000, 4500, 4000, 4000 SFF, 2000
- Blackwell RTX PRO
- Turing RTX: 8000, 6000, 5000, 4000
- Volta: Quadro GV100
De Rowhammer-aanval op GPU’s kan schade berokkenen, maar is ook complex om uit te voeren. Een aanvaller moet al verregaande toegang hebben tot een systeem om succesvol bitflips uit te voeren. Een afweging tussen het risico enerzijds, en de prestatiedip van ECC anderzijds, is daarom nodig op individuele basis.
