RAM-Chips geben Angreifern Root-Rechte

Durch permanente Speicherzugriffe lassen sich bei manchen Arbeitsspeichermodulen Bits umkippen. Dadurch sind verschiedene Angriffe möglich. Der Fehler liegt in der Hardware, ohne einen Austausch der Speichermodule ist der Angriff kaum zu verhindern.

Den IT-Sicherheitsforschern Mark Seaborn, Matthew Dempsky und Thomas Dullien ist es gelungen, durch permanente Speicherzugriffe ausgelöste Bitflips auszunutzen, um aus einer Sandbox auszubrechen und auf einem Linux-System Root zu werden. Das Problem betrifft zahlreiche aktuelle PCs, bei einem Test mit aktuellen Laptops war etwa die Hälfte betroffen. Verhindern lässt sich der Angriff nur durch neue Hardware. Seaborn hat die Angriffsmethoden im Blog von Googles Project Zero erläutert.

Speicherzugriffe verändern den Speicher nebenan

Die Grundidee des sogenannten Rowhammer-Angriffs ist simpel. Greift man permanent auf eine bestimmte Stelle im Speicher zu, so führt das unter Umständen dazu, dass im Speicher, der sich physikalisch daneben befindet, ein Bit verändert wird. Schuld daran ist die kompakte Bauform moderner Speicherchips: Die Bits liegen immer näher beieinander und beeinflussen sich dadurch gegenseitig.

Bekannt ist das Problem schon länger, allerdings ist dies der erste praktische Angriff. Im vergangenen Jahr hatte ein Forscherteam von der Carnegie Mellon University und von Intel die Problematik anhand verschiedener DRAM-Chips mit Hilfe von speziell dafür programmierten FPGAs getestet.

Um vom theoretischen Szenario zu einem praktischen Angriff auf handelsüblichen PCs zu kommen, musste Seaborn einige Probleme lösen. Unter Linux kann ein Benutzerprozess über das Proc-Dateisystem Informationen dazu auslesen, welche Teile des virtuellen Speichers an welcher Stelle im physikalischen Speicher abgelegt werden. Das hilft zwar teilweise, ohne genaue Kenntnis der Hardware lässt sich allerdings nur erraten, welche physikalischen Speicherstellen sich direkt in nebeneinander liegenden Reihen befinden. Es lassen sich allerdings mehrere mögliche Abstände von Speicherreihen parallel testen. Deutlich effektiver lässt sich ein Angriff durchführen, wenn man parallel eine Speicherstelle auf beiden Seiten angreift.

Ausbruch aus der Chrome-Sandbox

Ein erfolgreicher Rowhammer-Angriff führt zu einem umgekippten Bit. Um das für einen Angriff auszunutzen, sind verschiedene Tricks möglich. Seaborn beschreibt einen ersten Angriff anhand der NaCl-Sandbox, die unter anderem von Chrome genutzt wird. Die Idee bei NaCl: Der Maschinencode wird vor dem Ausführen auf Instruktionen getestet, die gefährlich sein könnten und einen Ausbruch aus der Sandbox erlauben.

Durch einen Rowhammer-Angriff lassen sich diese gefilterten Instruktionen durch gefährliche Instruktionen ersetzen. Ein einfaches Beispiel wäre ein Sprungbefehl, der durch einen Bitflip in einen Sprung zu einer Adresse in einem normalen CPU-Register umgewandelt wird. Der Sandbox-Code kann diese Veränderung prüfen und dann durch einen erlaubten Sprung auf diesen Code einen Sprung an eine beliebige Adresse im Arbeitsspeicher erreichen.

Von 29 getesteten handelsüblichen Laptops waren 15 für das Rowhammer-Problem anfällig. Seaborn erwähnt allerdings, dass seine Tests keine Garantie liefern könnten, dass die Geräte nicht betroffen seien. Die Ergebnisse hat er nur anonymisiert veröffentlicht.

ECC-Speicher hilft vielleicht

Bei Tests auf verschiedenen Desktop-PCs mit ECC-Speicher ließ sich das Problem nicht reproduzieren. Die ECC-Funktion von DRAM-Chips garantiert die Korrektheit der Daten im Arbeitsspeicher anhand von Prüfbits. ECC-Speicher kommt vor allem in teureren PCs zum Einsatz. Wenn sich herausstellt, dass ECC-Speicher generell nicht betroffen ist, könnte das die Lösung für das Rowhammer-Problem sein. Eine einfache Methode, um zu prüfen, ob ECC wirklich aktiviert ist, gibt es allerdings nicht.

Ein Test-Tool wurde auf Github veröffentlicht. Das Tool führt keinen vollständigen Angriff durch. Es versucht lediglich, eine Speicherstelle zu manipulieren und testet, ob ein Bit gekippt wurde. Den Rowhammer-Test sollte man jedoch nur mit Bedacht einsetzen: Zufällige Veränderungen im Arbeitsspeicher könnten zu Abstürzen, undefiniertem Verhalten oder in ungünstigen Fällen auch zu korrupten Daten auf der Festplatte führen.

Spannend dürfte werden, wie die Hardwareindustrie mit dem Problem umgeht. Bislang scheint es keine zuverlässige Möglichkeit zu geben, das Problem durch Bios-Updates oder durch Änderungen am Betriebssystem zu beheben. Eigentlich müssten sämtliche betroffenen Arbeitsspeicherchips ersetzt werden.

(Hanno Böck / Golem)

E-Mail Benachrichtigung
Benachrichtige mich zu:
0 Kommentare
Älteste
Neuste Beste Bewertung
Nach oben