Der neue Angriff erlaubt das Auslesen von Speicherinhalten. Bisher beschränkt sich Rowhammer auf das Verändern von Inhalten. Eine ECC-Fehlerkorrektur schützt nicht vor RAMBleed.
Ein Team von Forschern aus Australien, Österreich und den USA hat eine neue Variante des Rowhammer-Angriffs entwickelt. Das als RAMBleed bezeichnete Verfahren erlaubt es, Daten aus dem Arbeitsspeicher zu stehlen. Die bisher bekannten Rowhammer-Attacken gaben Hackern lediglich die Möglichkeit, vorhandene Daten zu verändern oder sich höhere Benutzerrechte zu verschaffen.
Als Rowhammer werden Exploits bezeichnet, die einen Hardware-Design-Fehler in DRAM-Speicherriegeln ausnutzen. Das wiederholte Lesen von Daten bestimmter Speicherzellen – auch Row Hammering genannt – kann dazu führen, dass eine elektrische Ladung aufgebaut wird, die Daten in der benachbarten Speicherzelle verändert (Bit Flip).
Erstmals 2014 beschrieben, wurde Rowhammer seitdem kontinuierlich weiterentwickelt. So lassen sich inzwischen Daten in DDR3- und DDR4-Speicherriegeln verändern. Auch ist es möglich, die Angriffe über das Web per JavaScript auszuführen. Forschern gelang es aber auch, einen Windows-PC per Rowhammer über den Browser Microsoft Edge zu kontrollieren. Außerdem wurde Rowhammer erfolgreich gegen linuxbasierte Virtuelle Maschinen in Cloud-Umgebungen eingesetzt. Im November 2018 zeigten niederländische Forscher sogar, dass Rowhammer unter Umständen auch mit RAM-Bausteinen funktioniert, die über eine eingebaute Fehlerkorrektur (ECC) verfügen.
RAMBleed ist nun eine weitere Eskalation von Rowhammer, da ein Datendiebstahl bisher ausgeschlossen war. Den erreichten die Forscher durch eine Kombination verschiedener Techniken. Unter anderem missbrauchen die Forscher eine Linux-Funktion, mit der sich große Speicherbereiche zuordnen lassen. Zudem entwickelten sie einen Frame Feng Shui genannten Mechanismus, der bestimmte Speicherseiten eines Programms in einen vorgegebenen Bereich des physischen Speichers platziert. Diese genaue Platzierung von Speicherinhalten erlaubt es schließlich, die durch das Row Hammering erzeugten Bit Flips, also die Umkehrung des Inhalts einer Speicherzelle von beispielsweise 0 zu 1, auszulesen.
Die Forscher weisen auch darauf hin, dass die ECC-Fehlerkorrektur das Auslesen von Speicherinhalten per RAMBleed nicht verhindert. „RAMBleed verlangt nicht unbedingt, dass der Angreifer das Bit liest, um festzustellen, ob es umgedreht wurde. Stattdessen ist alles, was der Angreifer für RAMBleed benötigt, ein Hinweis darauf, dass ein Bit auf der Seite gekippt (und anschließend korrigiert) wurde“, heißt es in dem Forschungsbericht. „Die synchrone Natur des ECC-Korrekturalgorithmus stellt solche Informationen typischerweise über einen Zeitkanal zur Verfügung, bei dem Speicherzugriffe, die eine Fehlerkorrektur erfordern, messbar langsamer sind als normale Zugriffe.“
Das wiederum erlaubte es den Forschern herauszufinden, welche Speicherzellen korrigiert wurden, und den ursprünglichen Wert der Zelle zu errechnen. Ihnen zufolge wurden Intel, AMD, OpenSSH, Microsoft, Apple und Red hat bereits über ihre Ergebnisse informiert.