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. SSC-Services GmbH, Böblingen bei Stuttgart
  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
Spiele-Angebote
  1. + Prämie (u. a. Far Cry 5, Elex, Assassins Creed Origins) für 62€
  2. 35,99€
  3. (u. a. Diablo 3 Ultimate Evil Edition, Gear Club Unlimited, HP-Notebooks)
  4. 59,99€ mit Vorbesteller-Preisgarantie

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
       


Vampyr - Fazit

Vampyr überzeugt uns relativ schnell im Test. Nach einer Weile flacht die Blutsaugerei aber wegen langweiliger Gespräche und Probleme mit der Kameraführung ab.

Vampyr - Fazit Video aufrufen
3D-Druck on Demand: Wenn der Baumarkt Actionfiguren aus Stahl druckt
3D-Druck on Demand
Wenn der Baumarkt Actionfiguren aus Stahl druckt

Es gibt viele Anbieter für 3D-Druck on Demand und die Preise fallen. Golem.de hat die 3D-Druckdienste von Toom, Conrad Electronic, Sculpteo und Media Markt getestet, um neue Figuren der Big-Jim-Reihe zu erschaffen.
Ein Praxistest von Achim Sawall


    Anthem angespielt: Action in fremder Welt und Abkühlung im Wasserfall
    Anthem angespielt
    Action in fremder Welt und Abkühlung im Wasserfall

    E3 2018 Eine interessante Welt, schicke Grafik und ein erstaunlich gutes Fluggefühl: Golem.de hat das Actionrollenspiel Anthem von Bioware ausprobiert.

    1. Dying Light 2 Stadtentwicklung mit Schwung
    2. E3 2018 Eindrücke, Analysen und Zuschauerfragen
    3. Control Remedy Entertainment mit übersinnlichen Räumen

    CD Projekt Red: So spielt sich Cyberpunk 2077
    CD Projekt Red
    So spielt sich Cyberpunk 2077

    E3 2018 Hacker statt Hexer, Ich-Sicht statt Dritte-Person-Perspektive und Auto statt Pferd: Die Witcher-Entwickler haben ihr neues Großprojekt Cyberpunk 2077 im Detail vorgestellt.
    Von Peter Steinlechner


        •  /