Was ist der Rowhammer-DRAM-Fehler und wie soll ich ihn behandeln?

20

DRAM-Chips sind sehr dicht gepackt. Untersuchungen haben gezeigt, dass benachbarte Bits zufällig umgedreht werden können.

  • Wie groß ist die Wahrscheinlichkeit, dass der Fehler in einem DRAM-Chip mit Serverqualität und ECC zufällig ausgelöst wird (auf dem CMU-Intel-Papier wird z. B. die Zahl 9,4 x 10 ^ -14 für einen unbekannten Chip für einen Fehler in einem Jahr angegeben)?
  • Woher weiß ich, ob der Fehler behoben ist, bevor ich Speicher kaufe?
  • Was kann ich tun, um böswilligen Versuchen entgegenzuwirken , die Rechte von z. B. Mandanten oder nicht privilegierten Benutzern auf z. B. CentOS 7 zu erhöhen?

Verweise:

Hirschjäger
quelle
2
Da die Details des Exploits noch nicht gesperrt sind, bin ich mir nicht sicher, ob neben den Informationen, die Google Ihnen bereits zur Verfügung gestellt hat, noch viele weitere Informationen verfügbar sein werden.
fukawi2
Nach meinem Verständnis verringert die Speicheraktualisierungsrate die Wahrscheinlichkeit eines erfolgreichen Bit-Flips drastisch, und neuere BIOS-Versionen haben die Aktualisierungsraten gesenkt, um das Risiko zu verringern. Ein BIOS-Update könnte also ein guter erster Schritt sein?
Reaces
1
@ fukawi2, welche Details des Exploits wurden / werden gesperrt? Der vollständige Code für die Proof-of-Concept-Exploits wurde mit dem Blogbeitrag veröffentlicht.
Mark Seaborn
@MarkSeaborn Ich erinnere mich noch nicht einmal, das war vor 3 Monaten und ich kann mich kaum an das Frühstück erinnern.
fukawi2

Antworten:

19

Das von Ihnen angegebene CMU-Intel-Papier zeigt (auf Seite 5), dass die Fehlerrate stark von der Teilenummer / dem Herstellungsdatum des DRAM-Moduls abhängt und um den Faktor 10-1000 variiert. Es gibt auch einige Hinweise darauf, dass das Problem bei kürzlich (2014) hergestellten Chips viel weniger ausgeprägt ist.

Die von Ihnen angegebene Zahl '9.4x10 ^ -14' wurde im Zusammenhang mit einem vorgeschlagenen theoretischen Abschwächungsmechanismus namens "PARA" verwendet (der möglicherweise einem vorhandenen Abschwächungsmechanismus pTRR (Pseudo Target Row Refresh) ähnelt) und ist für Sie irrelevant Frage, weil PARA nichts mit ECC zu tun hat.

In einem zweiten CMU-Intel-Artikel (Seite 10) werden die Auswirkungen verschiedener ECC-Algorithmen auf die Fehlerreduzierung (Faktor 10 ^ 2 bis 10 ^ 5, möglicherweise weitaus mehr mit ausgefeilten Speichertests und "Guardbanding") erwähnt.

ECC verwandelt den Row Hammer-Exploit effektiv in einen DOS-Angriff. 1-Bit-Fehler werden vom ECC korrigiert, und sobald ein nicht korrigierbarer 2-Bit-Fehler erkannt wird, stoppt das System (unter der Annahme von SECDED ECC).

Eine Lösung besteht darin, Hardware zu kaufen, die pTRR oder TRR unterstützt. Lesen Sie den aktuellen Blog-Beitrag von Cisco über Row Hammer . Zumindest scheinen einige Hersteller einen dieser Abschwächungsmechanismen in ihre DRAM-Module eingebaut zu haben, halten ihn jedoch in ihren Spezifikationen tief verborgen. Um Ihre Frage zu beantworten: Fragen Sie den Verkäufer.

Schnellere Aktualisierungsraten (32 ms statt 64 ms) und aggressive Patrol Scrub-Intervalle helfen ebenfalls, wirken sich jedoch auf die Leistung aus. Ich kenne jedoch keine Serverhardware, die es tatsächlich ermöglicht, diese Parameter zu optimieren.

Ich denke, es gibt nicht viel, was Sie auf der Seite des Betriebssystems tun können, außer verdächtige Prozesse mit konstant hoher CPU-Auslastung und hohen Cache-Fehlern zu beenden.

Daniel
quelle
4

Die Situation scheint immer noch ziemlich unklar, so dass ich nicht denke, dass Ihre Fragen direkt beantwortet werden können, aber hier sind einige relativ aktuelle Informationen als Teilantwort. Für Neuigkeiten folgen Sie der Mailingliste von rowhammer- discussion.

Ich bin mir nicht sicher, ob es derzeit mit öffentlichen Informationen möglich ist, den Kauf von anfälligem RAM zu vermeiden oder die Ausfallraten bestehender Hardware einfach vorherzusagen. Die Hersteller hatten bisher keine Informationen darüber, wie ihre Produkte betroffen sind. Es ist möglich, Speicher, der bereits mit Softwaretools gekauft wurde, zu testen. Beachten Sie jedoch, dass das Ausführen dieser Tools über einen längeren Zeitraum (Stunden) den Arbeitsspeicher dauerhaft beeinträchtigen und zu Fehlern bei der Ausführung von Software führen kann.

Berichten zufolge haben "unbenannte Speicherfirmen" versucht, ein Bestechungsgeld zu zahlen, wenn Passmark Software in ihrem Memtest86-Tool keinen Rowhammer-Test veröffentlicht.

Es wurde berichtet, dass Intel Skylake-Hardware aufgrund der Hinzufügung eines neuen Befehls anfälliger für Rowhammer ist , nicht wenigerclflushopt . Dies wurde bereits in rowhammer.js ausgenutzt

Daniel Gruss beantwortet in diesem Vortrag einige Fragen zum Thema Schadensbegrenzung ab Dezember 2015 (Mitverfasser des Artikels rowhammer.js ) :

  1. Während einige ECC-RAMs für Rowhammer weniger anfällig sind als Nicht-ECC-RAMs, sind andere ECC-RAMs anfälliger als Nicht-ECC-RAMs ( Link zur Frage im Video )
  2. Das Umschalten auf eine schnellere Aktualisierungsrate reicht aus, um zu verhindern, dass Rowhammer bei den meisten, aber nicht bei allen Hardwarekomponenten verwendet wird. Allerdings können nicht alle BIOS-Versionen die Aktualisierungsrate ändern ( Link zur Frage im Video ).

Als Gegenmaßnahme ist es möglicherweise möglich, laufende Rowhammer-Angriffe zu erkennen, aber ich weiß nicht, dass dies geschehen ist.

Croad Langshan
quelle