Abo
  • Services:

Rowhammer: Speicher-Bitflips mittels Javascript

Fehlerhaft arbeitende Speicherchips sind möglicherweise ein größeres Sicherheitsrisiko als bisher gedacht. Einem Forscherteam ist es nun gelungen, einen sogenannten Rowhammer-Angriff mittels Javascript durchzuführen. Gegenmaßnahmen sind schwierig.

Artikel veröffentlicht am , Hanno Böck
Fehler bei vielen Zugriffen im Arbeitsspeicher - der Rowhammer-Angriff könnte noch für viel Ärger sorgen.
Fehler bei vielen Zugriffen im Arbeitsspeicher - der Rowhammer-Angriff könnte noch für viel Ärger sorgen. (Bild: Laserlicht/Wikimedia Commons/CC by-sa 3.0)

Einem Team von IT-Sicherheitsforschern ist es gelungen, durch die Ausführung von Javascript-Code Bitflips in gängigem DRAM-Arbeitsspeicher zu erzeugen. Dass derartige Bitflips ein Sicherheitsrisiko darstellen können, war bereits durch die sogenannte Rowhammer-Lücke bekannt. Doch bisherige Angriffe mussten direkt Code auf der lokalen CPU ausführen. Das Risiko durch einen Angriff im Browser via Javascript ist um ein Vielfaches höher.

Zugriffe auf Speicherzelle manipulieren Speicher daneben

Stellenmarkt
  1. Hamburg Südamerikanische Dampfschifffahrts-Gesellschaft A/S & Co KG, Hamburg
  2. 1WorldSync GmbH, Köln

Im März hatte ein Team um den IT-Sicherheitsforscher Mark Seaborn zum ersten Mal gezeigt, wie sich ein solcher Angriff praktisch durchführen lässt. Das Problem: Viele gängige DRAM-Chips arbeiten nicht ganz korrekt. Wenn man immer wieder auf eine bestimmte Speicherzelle zugreift, kann das dazu führen, dass die Speicherstelle in der Reihe daneben ihren Wert ändert. Daher wurde dieser Angriff Rowhammer genannt. Greift man eine Speicherzelle parallel auf beiden Seiten an, funktioniert der Angriff häufig noch besser.

Seaborn konnte zeigen, dass man mittels eines solchen Angriffs auf einem Linux-System administrative Rechte erlangen kann. Mit der sogenannten Native-Client-Erweiterung gelang es Seaborn auch, einen Angriff auf dem Chrome-Browser durchzuführen. Doch beide Angriffe konnten nur gelingen, weil Seaborn den Clflush-Befehl des Prozessors ausführen konnte. Andernfalls verhindert der CPU-Cache viele hintereinanderfolgende Speicherzugriffe. In Chrome wurde das Problem daher dadurch behoben, dass das Ausführen des Clflush-Befehls verhindert wurde. Somit schienen die Auswirkungen von Rowhammer zumindest begrenzt - zwar bestand weiterhin ein lokales Problem, aber über den Browser ließ sich der Angriff nicht mehr durchführen.

Remote-Angriff mittels Javascript

Jetzt zeigt sich: Die Auswirkungen dieses Problems sind wohl weit größer als gedacht. Daniel Gruß und Stefan Mangard von der Technischen Universität Graz sowie Clémentine Maurice von der Firma Technicolor beschreiben in einem wissenschaftlichen Paper, wie sich mit einigen Tricks auch mittels Javascript in Firefox ein Rowhammer-Angriff durchführen lässt. Den dazugehörigen Code haben sie auf Github veröffentlicht.

Sie tricksen dabei den Cache-Algorithmus der CPU aus, indem sie gezielt Zugriffe auf einen weiteren Speicherbereich durchführen. Dadurch ist der Cache die ganze Zeit gefüllt, die Zugriffe auf den Speicherbereich, der angegriffen wird, erfolgen somit direkt. Um dies zu ermöglichen, wird ein Timing-Angriff genutzt. Denn anhand der Zugriffszeiten auf den Speicher kann das Javascript-Programm prüfen, ob ein bestimmter Speicherbereich gecacht wird oder nicht.

Der gesamte Angriff ist sehr komplex, die Autoren mussten die Limitierungen von Javascript mit einigen Tricks aushebeln. Letztendlich gelang es ihnen aber, Bitflips im Arbeitsspeicher zu erzeugen. Der Angriff ist spezifisch auf die Javascript-Engine von Firefox zugeschnitten. Die Autoren gehen aber davon aus, dass andere Browser in ähnlicher Weise verwundbar sind. Auch andere Skriptsprachen wie Actionscript (Flash) sind vermutlich auf ähnliche Weise verwundbar. Auch haben die Autoren keinen vollständigen Angriff entwickelt, der etwa die direkte Ausführung von Code auf dem Zielsystem erlaubt. Es dürfte aber ebenfalls nur eine Frage des Aufwandes sein, einen solchen Angriff mittels der bereits von Seaborn vorgestellten Methoden zu entwickeln.

Kaum realistische Gegenmaßnahmen

Die Abhilfe gestaltet sich alles andere als einfach. Nachdem Seaborn den Rowhammer-Angriff im März vorgestellt hatte, hatten einige Mainboard-Hersteller im Bios die Refresh-Zyklen für den Speicher abgesenkt. Allerdings macht das die Angriffe nur unwahrscheinlicher und verhindert sie nicht vollständig. Um relativ sicher zu sein, dass ein Rowhammer-Angriff nicht mehr möglich ist, müsste man die Refresh-Zyklen so weit senken, dass mit deutlichen Performanceeinbußen zu rechnen wäre. Die Autoren des neuen Javascript-Angriffs empfehlen, dass Browser das System auf den Rowhammer-Angriff testen. Falls das System angreifbar ist, müssten die Javascript-Implementierungen dann eingeschränkt werden. Das erscheint allerdings praktisch kaum umsetzbar, denn ein zufälliger Bitflip, wie ihn Rowhammer verursacht, kann ein System zum Absturz bringen. Weiterhin wird empfohlen, die Ausführung von Javascript-Code generell nur noch nach manueller Zustimmung des Nutzers zu erlauben. Es ist kaum anzunehmen, dass Browserhersteller dies umsetzen.

Vermutlich nicht betroffen von Rowhammer-Angriffen sind Speicher mit der sogenannten ECC-Funktion, die automatisch kleinere Fehler im RAM korrigiert. ECC-Speicher wird allerdings heutzutage meistens nur in teuren Serversystemen eingesetzt.



Anzeige
Top-Angebote
  1. (u. a. Doom, Fallout 4, Dishonored 2)
  2. (u. a. 2 TB 77,99€, 4 TB 108,99€)
  3. 219,00€
  4. 19,99€

triplekiller 29. Jul 2015

hier nochmal: https://geizhals.de/?cat=mbp4_20113&xf=494_ECC-Unterst%FCtzung#xf_top

pica 29. Jul 2015

der würde massiv sinken, falls ECC zum Mainstream würde. Problem ist die mangelnde...

pica 29. Jul 2015

Bei DEDSEC (dual error detection, single error correction) Speichern kommt erschwerend...

jg (Golem.de) 28. Jul 2015

Danke für den Hinweis, ist korrigiert!


Folgen Sie uns
       


Intel NUC8 (Crimson Canyon) - Test

Der NUC8 alias Crimson Canyon ist der erste Mini-PC mit einem 10-nm-Chip von Intel. Dessen Grafikeinheit ist aber deaktiviert, weshalb Intel noch eine Radeon RX 540 verlötet. Leider steckt im System eine Festplatte, weshalb der NUC8 sehr träge reagiert und vergleichsweise laut wird.

Intel NUC8 (Crimson Canyon) - Test Video aufrufen
Security: Vernetzte Autos sicher machen
Security
Vernetzte Autos sicher machen

Moderne Autos sind rollende Computer mit drahtloser Internetverbindung. Je mehr davon auf der Straße herumfahren, desto interessanter werden sie für Hacker. Was tun Hersteller, um Daten der Insassen und Fahrfunktionen zu schützen?
Ein Bericht von Dirk Kunde

  1. Alarmsysteme Sicherheitslücke ermöglicht Übernahme von Autos
  2. Netzwerkanalyse Wireshark 3.0 nutzt Paketsniffer von Nmap
  3. Sicherheit Wie sich "Passwort zurücksetzen" missbrauchen lässt

Google: Stadia tritt gegen Gaming-PCs, Playstation und Xbox an
Google
Stadia tritt gegen Gaming-PCs, Playstation und Xbox an

GDC 2019 Google streamt nicht nur so ein bisschen - stattdessen tritt der Konzern mit Stadia in direkte Konkurrenz zur etablierten Spielebranche. Entwickler können für ihre Games mehr Teraflops verwenden als auf der PS4 Pro und der Xbox One X zusammen.
Von Peter Steinlechner


    Stadia ausprobiert: Um die Grafikoptionen kümmert sich Google
    Stadia ausprobiert
    Um die Grafikoptionen kümmert sich Google

    GDC 2019 Beim Ausprobieren und im Gespräch mit Entwicklern wird immer klarer: Stadia von Google ist als eigenständige Plattform zu verstehen und nicht als simpler Streamingdienst. Momentan kommt für das Bild noch der Codec VP9 zum Einsatz.
    Von Peter Steinlechner


        •  /