Original-URL des Artikels: https://www.golem.de/news/rambleed-rowhammer-kann-auch-daten-auslesen-1906-141840.html    Veröffentlicht: 12.06.2019 10:55    Kurz-URL: https://glm.io/141840

RAMBleed

Rowhammer kann auch Daten auslesen

Mit Angriffen durch RAM-Bitflips lassen sich unberechtigt Speicherinhalte auslesen. Als Demonstration zeigen Forscher, wie sie mit Nutzerrechten einen RSA-Key eines SSH-Daemons auslesen können.

Datenfehler in Arbeitsspeicherchips können nicht nur genutzt werden, um Daten zu manipulieren, es lassen sich damit auch Daten auslesen. Das zeigt eine neue Variante des Rowhammer-Angriffs, den dessen Entdecker RAMBleed nennen. Diese Variante funktioniert dank eines Seitenkanalangriffs auch mit ECC-Speicher, der bislang als relativ resistent gegen solche Angriffe galt.

Die Grundidee von Rowhammer: Bei modernem Arbeitsspeicher ist es manchmal möglich, einzelne Speicherbits umzukippen, wenn man sehr häufig und schnell die physikalisch danebenliegenden Speicherzellen schreibt. Denn moderner Arbeitsspeicher ist auf dem Chip so eng gepackt, dass die einzelnen Speicherbits sich gegenseitig beeinflussen können. Zum ersten Mal gezeigt wurden solche Angriffe 2015.

Daten auslesen statt Speicher manipulieren

Was an RAMBleed neu ist: Hier werden Speicherbitflips indirekt zum Auslesen von anderem Arbeitsspeicher genutzt. Das funktioniert, weil Speicherbitflips häufiger auftreten, wenn der danebenliegende Speicher bestimmte Werte hat. Wenn also beispielsweise ein Speicherbit den Wert null hat und neben zwei Einser-Bits liegt, kippt das Bit bei einem Angriff schneller um, als wenn daneben Nullen liegen. Ein Angreifer greift als Speicherzellen im eigenen Arbeitsspeicher an, um danebenliegenden Arbeitsspeicher eines fremden Prozesses auszulesen.

Eine weitere Neuerung von RAMBleed ist, dass dieser Auslese-Angriff auch dann funktioniert, wenn ECC-Speicher die Bitflips korrigiert. ECC-Speicher enthält zusätzliche Informationen, die von der Hardware genutzt werden können, kleinere Speicherfehler zu korrigieren. Zwar gab es schon vorher Angriffe, bei denen Rowhammer auch mit ECC genutzt werden konnte, dafür mussten aber mehrere Bits gleichzeitig angegriffen werden und das machte den Angriff vergleichsweise unpraktikabel.

RAMBleed nutzt nun aus, dass die Korrektur von ECC-Speicher Zeit benötigt. Durch die Messung der Zeit beim Auslesen des Speichers ist es somit möglich, die Korrektur zu erkennen. Da RAMBleed anders als frühere Angriffe nicht auf die Manipulation von Speicher abzielt, sondern nur auf das Auslesen und Erkennen von Speicherflips, reicht dies für den Angriff aus.

Auslesen eines RSA-Schlüssels

Um die praktischen Auswirkungen des Angriffs zu zeigen, haben die Autoren demonstriert, dass man auf einem Linux-System als Nutzer einen RSA-Schlüssel eines OpenSSH-Servers auslesen kann. Dabei erleichtert es den Angriff, dass es bei RSA bereits ausreicht, einen privaten Schlüssel nur in Fragmenten zu kennen. Der Rest lässt sich daraus berechnen.

Die RAMBleed-Entdecker betonen auf ihrer Webseite, dass der Angriff keine Schwäche in OpenSSH aufzeigt. Jede andere Software, die mit kryptographischen Schlüsseln arbeitet, ist in ähnlicher Weise verwundbar, das Problem liegt in der Hardware.

DDR4 mit Target Row Refresh erschwert Angriff

Als Abhilfe empfehlen die Autoren die Nutzung von DDR4-Speicher mit der Funktion Target Row Refresh (TRR). Diese Funktion sorgt dafür, dass der Inhalt von Speicherzellen regelmäßig neu geschrieben wird. Zwar seien auch schon Rowhammer-Angriffe auf derartigen DDR4-Speicher demonstriert worden, dies sei aber schwerer durchzuführen.

Die genauen Details des Angriffs haben dessen Entdecker in einem wissenschaftlichen Paper erläutert, das auf ihrer Webseite abrufbar ist. Es soll 2020 auf dem IEEE-Symposium über Sicherheit und Privatsphäre präsentiert werden.  (hab)


Verwandte Artikel:
Schwer ausnutzbar: Die ungefixten Sicherheitslücken   
(15.01.2019, https://glm.io/138336 )
DDR4-Speicher: Samsung stellt B-Dies für Ryzen-Overclocking ein   
(06.05.2019, https://glm.io/141053 )
Smartphone: Samsungs LPDDR4X-Speicher fasst 12 GByte   
(14.03.2019, https://glm.io/140004 )
LPDDR5: Jedec spezifiziert schnellen Smartphone-Speicher   
(20.02.2019, https://glm.io/139499 )
Drammer: Rowhammer bringt zuverlässig Root-Zugriff auf Android   
(24.10.2016, https://glm.io/123995 )

© 1997–2019 Golem.de, https://www.golem.de/