Blacksmith – ein neuer Angriff auf DRAM-Speicher und DDR4-Chips

Ein Forscherteam der ETH Zürich, der Vrije Universiteit Amsterdam und Qualcomm hat eine neue RowHammer-Angriffsmethode veröffentlicht, die den Inhalt einzelner Bits des dynamischen Direktzugriffsspeichers (DRAM) verändern kann. Der Angriff trug den Codenamen Blacksmith und wurde als CVE-2021-42114 identifiziert. Viele DDR4-Chips, die mit einem Schutz gegen bisher bekannte Methoden der RowHammer-Klasse ausgestattet sind, sind anfällig für das Problem. Tools zum Testen Ihrer Systeme auf Schwachstellen werden auf GitHub veröffentlicht.

Denken Sie daran, dass Sie mit Angriffen der RowHammer-Klasse den Inhalt einzelner Speicherbits verzerren können, indem Sie zyklisch Daten aus benachbarten Speicherzellen lesen. Da es sich bei einem DRAM-Speicher um eine zweidimensionale Anordnung von Zellen handelt, die jeweils aus einem Kondensator und einem Transistor bestehen, führt das kontinuierliche Lesen desselben Speicherbereichs zu Spannungsschwankungen und Anomalien, die zu einem geringen Ladungsverlust in benachbarten Zellen führen. Wenn die Leseintensität hoch ist, verliert die Nachbarzelle möglicherweise eine ausreichend große Ladungsmenge und der nächste Regenerationszyklus hat keine Zeit, ihren ursprünglichen Zustand wiederherzustellen, was zu einer Änderung des Werts der in der Zelle gespeicherten Daten führt .

Zum Schutz vor RowHammer schlugen Chiphersteller den TRR-Mechanismus (Target Row Refresh) vor, der vor der Beschädigung von Zellen in benachbarten Reihen schützt. Da der Schutz jedoch auf dem Prinzip der „Sicherheit durch Unklarheit“ basierte, löste er das Problem nicht im Stammverzeichnis, aber nur vor bekannten Sonderfällen geschützt, was es einfach machte, Möglichkeiten zu finden, den Schutz zu umgehen. Beispielsweise schlug Google im Mai die Half-Double-Methode vor, die nicht vom TRR-Schutz betroffen war, da der Angriff Zellen betraf, die nicht direkt an das Ziel angrenzten.

Die neue Methode von Blacksmith bietet eine andere Möglichkeit zur Umgehung des TRR-Schutzes, die auf einem ungleichmäßigen Zugriff auf zwei oder mehr Aggressor-Strings mit unterschiedlichen Frequenzen basiert, was zu Ladungslecks führt. Um das Speicherzugriffsmuster zu bestimmen, das zu Ladungslecks führt, wurde ein spezieller Fuzzer entwickelt, der automatisch Angriffsparameter für einen bestimmten Chip auswählt und dabei die Reihenfolge, Intensität und Systematik des Zellzugriffs variiert.

Ein solcher Ansatz, der nicht mit der Beeinflussung derselben Zellen verbunden ist, macht aktuelle TRR-Schutzmethoden unwirksam, die in der einen oder anderen Form darauf hinauslaufen, die Anzahl der wiederholten Anrufe an Zellen zu zählen und bei Erreichen bestimmter Werte das Aufladen einzuleiten benachbarter Zellen. Bei Blacksmith wird das Zugriffsmuster auf mehrere Zellen gleichzeitig auf verschiedenen Seiten des Ziels verteilt, was einen Ladungsverlust ermöglicht, ohne dass Schwellenwerte erreicht werden.

Die Methode erwies sich als wesentlich effektiver als zuvor vorgeschlagene Methoden zur Umgehung von TRR – den Forschern gelang es, bei allen 40 kürzlich gekauften verschiedenen DDR4-Speicherchips von Samsung, Micron, SK Hynix und einem unbekannten Hersteller (der Hersteller war) eine Bitverzerrung zu erzielen nicht auf 4 Chips angegeben). Zum Vergleich: Die zuvor von denselben Forschern vorgeschlagene TRRespass-Methode war nur für 13 von 42 damals getesteten Chips wirksam.

Im Allgemeinen wird erwartet, dass die Blacksmith-Methode auf 94 % aller DRAM-Chips auf dem Markt anwendbar ist, aber die Forscher sagen, dass einige Chips anfälliger und leichter anzugreifen sind als andere. Die Verwendung von Fehlerkorrekturcodes (ECC) in Chips und die Verdoppelung der Speicheraktualisierungsrate bieten keinen vollständigen Schutz, erschweren jedoch die Bedienung. Bemerkenswert ist, dass das Problem nicht in bereits freigegebenen Chips blockiert werden kann und die Implementierung eines neuen Schutzes auf Hardwareebene erfordert, sodass der Angriff noch viele Jahre lang relevant bleiben wird.

Zu den praktischen Beispielen gehören Methoden zur Verwendung von Blacksmith, um den Inhalt von Einträgen in der Speicherseitentabelle (PTE, Seitentabelleneintrag) zu ändern, um Kernel-Berechtigungen zu erlangen, und die den im Speicher in OpenSSH gespeicherten öffentlichen RSA-2048-Schlüssel beschädigen (Sie können den öffentlichen Schlüssel einbringen). Sie können die virtuelle Maschine einer anderen Person so anpassen, dass sie mit dem privaten Schlüssel des Angreifers übereinstimmt, um eine Verbindung zur VM des Opfers herzustellen) und die Überprüfung der Anmeldeinformationen umgehen, indem Sie den Speicher des Sudo-Prozesses ändern, um Root-Rechte zu erhalten. Je nach Chip dauert es zwischen 3 Sekunden und mehreren Stunden Angriffszeit, um ein Zielbit zu ändern.

Darüber hinaus können wir die Veröffentlichung des offenen LiteX Row Hammer Tester-Frameworks zum Testen von Speicherschutzmethoden gegen Angriffe der RowHammer-Klasse erwähnen, das von Antmicro für Google entwickelt wurde. Das Framework basiert auf der Verwendung von FPGA zur vollständigen Steuerung der direkt an den DRAM-Chip übertragenen Befehle, um den Einfluss des Speichercontrollers zu eliminieren. Für die Interaktion mit FPGA wird ein Toolkit in Python angeboten. Das FPGA-basierte Gateway umfasst ein Modul für die Paketdatenübertragung (definiert Speicherzugriffsmuster), einen Payload Executor, einen LiteDRAM-basierten Controller (verarbeitet die gesamte für DRAM erforderliche Logik, einschließlich Zeilenaktivierung und Speicheraktualisierung) und eine VexRiscv-CPU. Die Entwicklungen des Projekts werden unter der Apache 2.0-Lizenz vertrieben. Es werden verschiedene FPGA-Plattformen unterstützt, darunter Lattice ECP5, Xilinx Series 6, 7, UltraScale und UltraScale+.

Source: opennet.ru

Kommentar hinzufügen