Blacksmith - een nieuwe aanval op DRAM-geheugen en DDR4-chips

Een team van onderzoekers van ETH Zürich, Vrije Universiteit Amsterdam en Qualcomm heeft een nieuwe RowHammer-aanvalsmethode gepubliceerd die de inhoud van individuele bits van dynamisch willekeurig toegankelijk geheugen (DRAM) kan veranderen. De aanval kreeg de codenaam Blacksmith en werd geïdentificeerd als CVE-2021-42114. Veel DDR4-chips die zijn uitgerust met bescherming tegen eerder bekende RowHammer-klassemethoden zijn gevoelig voor dit probleem. Tools voor het testen van uw systemen op kwetsbaarheid zijn gepubliceerd op GitHub.

Bedenk dat RowHammer-klasseaanvallen je in staat stellen de inhoud van individuele geheugenbits te vervormen door cyclisch gegevens uit aangrenzende geheugencellen te lezen. Omdat het DRAM-geheugen een tweedimensionale reeks cellen is, elk bestaande uit een condensator en een transistor, resulteert het continu lezen van hetzelfde geheugengebied in spanningsschommelingen en afwijkingen die een klein ladingsverlies in aangrenzende cellen veroorzaken. Als de leesintensiteit hoog is, kan de naburige cel een voldoende grote hoeveelheid lading verliezen en zal de volgende regeneratiecyclus geen tijd hebben om de oorspronkelijke staat te herstellen, wat zal leiden tot een verandering in de waarde van de gegevens die in de cel zijn opgeslagen .

Ter bescherming tegen RowHammer hebben chipfabrikanten het TRR-mechanisme (Target Row Refresh) voorgesteld, dat beschermt tegen corruptie van cellen in aangrenzende rijen, maar aangezien de bescherming gebaseerd was op het principe van ‘security by obscurity’, loste dit het probleem niet op. de root, maar alleen beschermd tegen bekende speciale gevallen, waardoor het gemakkelijk was om manieren te vinden om de bescherming te omzeilen. In mei stelde Google bijvoorbeeld de Half-Double-methode voor, die niet werd beïnvloed door TRR-bescherming, omdat de aanval cellen trof die niet direct aangrenzend aan het doelwit lagen.

De nieuwe methode van Blacksmith biedt een andere manier om TRR-bescherming te omzeilen, gebaseerd op niet-uniforme toegang tot twee of meer agressorstrings op verschillende frequenties om ladingslekkage te veroorzaken. Om het geheugentoegangspatroon te bepalen dat tot ladingslekkage leidt, is een speciale fuzzer ontwikkeld die automatisch aanvalsparameters voor een specifieke chip selecteert, waarbij de volgorde, intensiteit en systematiek van celtoegang wordt gevarieerd.

Een dergelijke aanpak, die niet wordt geassocieerd met het beïnvloeden van dezelfde cellen, maakt de huidige TRR-beschermingsmethoden ineffectief, die op de een of andere manier neerkomen op het tellen van het aantal herhaalde oproepen naar cellen en, wanneer bepaalde waarden worden bereikt, het starten van het opladen van naburige cellen. In Blacksmith wordt het toegangspatroon verspreid over meerdere cellen tegelijk vanaf verschillende kanten van het doel, wat het mogelijk maakt om ladingslekkage te bereiken zonder drempelwaarden te bereiken.

De methode bleek aanzienlijk effectiever dan eerder voorgestelde methoden om TRR te omzeilen - de onderzoekers slaagden erin bitvervorming te bereiken in alle 40 onlangs aangeschafte verschillende DDR4-geheugenchips gemaakt door Samsung, Micron, SK Hynix en een onbekende fabrikant (de fabrikant was niet gespecificeerd op 4 chips). Ter vergelijking: de eerder door dezelfde onderzoekers voorgestelde TRRespass-methode was effectief voor slechts 13 van de 42 destijds geteste chips.

Over het algemeen wordt verwacht dat de Blacksmith-methode van toepassing zal zijn op 94% van alle DRAM-chips op de markt, maar de onderzoekers zeggen dat sommige chips kwetsbaarder zijn en gemakkelijker aan te vallen dan andere. Het gebruik van foutcorrectiecodes (ECC) in chips en het verdubbelen van de geheugenverversingssnelheid bieden geen volledige bescherming, maar bemoeilijken de werking wel. Het is opmerkelijk dat het probleem niet kan worden geblokkeerd in reeds uitgebrachte chips en de implementatie van nieuwe bescherming op hardwareniveau vereist, zodat de aanval nog vele jaren relevant zal blijven.

Praktische voorbeelden zijn onder meer methoden voor het gebruik van Blacksmith om de inhoud van items in de geheugenpaginatabel (PTE, paginatabelinvoer) te wijzigen om kernelrechten te verkrijgen, waarbij de openbare RSA-2048-sleutel die in het geheugen van OpenSSH is opgeslagen, wordt beschadigd (u kunt de openbare sleutel in de virtuele machine van iemand anders om de privésleutel van de aanvaller te matchen om verbinding te maken met de VM van het slachtoffer) en de inloggegevenscontrole te omzeilen door het geheugen van het sudo-proces aan te passen om rootrechten te verkrijgen. Afhankelijk van de chip duurt het 3 seconden tot enkele uren aanvalstijd om één doelbit te veranderen.

Daarnaast kunnen we de publicatie opmerken van het open LiteX Row Hammer Tester-framework voor het testen van geheugenbeschermingsmethoden tegen RowHammer-klasse-aanvallen, ontwikkeld door Antmicro voor Google. Het raamwerk is gebaseerd op het gebruik van FPGA om de commando's die rechtstreeks naar de DRAM-chip worden verzonden volledig te controleren en zo de invloed van de geheugencontroller te elimineren. Toolkit in Python wordt aangeboden voor interactie met FPGA. De op FPGA gebaseerde gateway bevat een module voor pakketgegevensoverdracht (definieert geheugentoegangspatronen), een Payload Executor, een op LiteDRAM gebaseerde controller (verwerkt alle logica die nodig is voor DRAM, inclusief rij-activatie en geheugenupdates) en een VexRiscv CPU. De ontwikkelingen van het project worden gedistribueerd onder de Apache 2.0-licentie. Er worden verschillende FPGA-platforms ondersteund, waaronder Lattice ECP5, Xilinx Series 6, 7, UltraScale en UltraScale+.

Bron: opennet.ru

Voeg een reactie