ZenHammer: Auch Ryzen und Epyc lassen den „Bit Flip“ per Rowhammer zu
Auch AMDs Zen-CPUs sind nicht vor Angriffen über die so genannte Rowhammer-Methode gefeit, das haben Forscher der ETH Zürich nachgewiesen. Bis dato galten AMDs Zen-CPUs im Gegensatz zu denen von Intel als immun. AMD zeigt sich gelassen, verweist auf den DRAM als eigentliche Problemstelle sowie auf die bekannten Gegenmaßnahmen.
Das steckt hinter Rowhammer
Rowhammer bezeichnet eine seit 2014 bekannte Methode (Wissenschaftliches Paper von 2014, PDF), um durch gezielte, hochfrequente Zugriffe auf den RAM eigentlich vor dem Zugriff geschützte Speicherbereiche auszulesen. Das ist möglich, weil sich die in Reihen (Rows) organisierten, extrem dicht angeordneten Speicherzellen zum Interagieren bewegen lassen: Speicherzellen nehmen den Speicherzustand der benachbarten Zelle an – sie tauschen ihre Bit aus („Bit Flip“)
Das kann zu Programm- oder Systemabstürzen führen, oder aber einen Angriffsvektor darstellen, um gezielt geschützte Daten auszulesen. Dass das nicht nur in der Theorie funktioniert, sondern auch praktisch umsetzbar ist, ist seit 2015 bekannt.
Auch wenn der Angriff über schadhaften Code, den die CPU ausführt, erfolgt, ist das Problem grundsätzlich im DRAM zu suchen: Erst durch die extrem hohe Speicherdichte moderner Arbeitsspeicher-Speicherchips kann es überhaupt dazu kommen. Ob Rowhammer auf einem System anwendbar ist, hängt deshalb auch vom verwendeten RAM und dessen Einstellungen ab. Aber auch von der CPU.
Bis dato galten AMDs Ryzen-Prozessoren als nicht anfällig für Rowhammer, doch genau das hat sich jetzt geändert.
ZenHammer mit Zen 2 und Zen 3
Die ETH Zürich hat nun nachgewiesen, dass Rowhammer-Angriffe auch mit Zen-2- und Zen-3-CPUs möglich sind. Im Vergleich zu einer Coffee-Lake-Plattform (8. Generation Intel Core, DDR4) zeigten sich beide Plattformen mit dem richtigen Angriffsmuster sogar „kooperativer“. Im Endeffekt war der Bit Flip auf sechs (Zen 2) respektive sieben (Zen 3) von jeweils zehn Plattformen mit DDR4 mit Blacksmith möglich.
Dazu, warum AMD bisher als nicht anfällig galt, haben die Forscher auch eine Theorie: Bis dato hätten sich schlichtweg nicht genug Personen mit der Plattform beschäftigt und die Kenntnis über die Architektur sei nicht tief wie bei Intel.
Erstmals auch bei DDR5 erfolgreich
Von den eigenen Ergebnissen zu weiteren Nachforschungen angespornt, haben die Forscher im Anschluss auch noch eine Zen-4-Plattform mit DDR5 zum Testen herangezogen und siehe da: Auch diese Plattform war für Rowhammer anfällig. Für DDR5 war das plattformübergreifend der erste Nachweis, wenngleich nur ein von zehn Zen-4-Systemen dazu gebracht werden konnte.
Dass der Versuch in neun von zehn Fällen nicht von Erfolg gekrönt war, sehen die Forscher allerdings weniger als Beweis dafür, dass es unwahrscheinlicher ist, denn als Ansporn, effektivere Vorgehensweisen für DDR5-Systeme zu entwickeln – denn prinzipiell sei Rowhammer auch mit DDR5 möglich.
AMD sieht das Thema gelassen
In einer Stellungnahme zeigt sich AMD grundsätzlich wenig beeindruckt von den Erkenntnissen, denn schließlich sei Rowhammer bereits seit zehn Jahren bekannt, was auch die Forscher zu wenig Alarmismus veranlasst hat. Letztendlich, so AMD, sei das Problem ohnehin eher beim RAM denn bei der CPU zu suchen. Dass Rowhammer auf Zen allerdings auch auf DDR5 möglich sei, werde der Hersteller weiter untersuchen – denn dass auch DDR5 anfällig ist, war bisher nicht bekannt.
Zugleich verweist AMD auf die bekannten Gegenmaßnahmen: Speicher mit Fehlerkorrektur (ECC) galt bisher als ein sicheres Mittel gegen Rowhammer-Angriffe und ist daher in Server-Umgebungen nicht ohne Grund gesetzt. Die Forscher bezweifeln auf Basis der neu gewonnenen Erkenntnisse allerdings, dass ECC wirklich zu hundert Prozent schützt.
Darüber hinaus ist laut AMD darauf zu achten, dass der Speicher mit Target Row Refresh (TRR) größer 1 betrieben wird. Diese Funktion galt bis 2020 als sichere Gegenmaßnahme, wenngleich seit 2020 bekannt ist, dass Rowhammer-Angriffe nichtsdestoweniger möglich sind.
Test-Tool für den eigenen PC
Mit dem ZenHammer fuzzer stellt die ETH Zürich auf GitHub ein Test-Tool zur Verfügung, mit denen Anwender testen können, ob ihre Zen-Plattform zum Bit-Flip zu bewegen ist.