CPU-Sicherheitslücke: AMD Ryzen und Epyc per Seitenkanal verwundbar

Sicherheitsforscher der TU Dresden beweisen, dass komplizierte Angriffe der Meltdown-Klasse grundsätzlich auch bei AMDs Ryzen-Prozessoren funktionieren.

In Pocket speichern vorlesen Druckansicht 33 Kommentare lesen

(Bild: Connect world/Shutterstock.com + geralt + heise online)

Lesezeit: 3 Min.
Inhaltsverzeichnis

AMD-Prozessoren mit Zen-Architektur sind anders als bisher angenommen nicht vollständig gegen Meltdown-artige Seitenkanalangriffe immun. Die beiden Sicherheitsforscher Saidgani Musaev und Christof Fetzer von der TU Dresden haben einen Weg gefunden, um diese Angriffsweise auf verschiedenen Ryzen- und Epyc-Prozessoren anzuwenden. Das Ganze ist jedoch komplizierter als bei Intel-CPUs, lässt sich simpel beheben und birgt erst im Zusammenspiel mit weiteren Angriffen potenzielle Risiken.

Die Sicherheitsforscher stellen den Angriff in einem Paper als Transient Execution of Non-Canonical Accesses vor (PDF). AMD hat ihn unter der CVE-Nummer CVE-2020-12965 im Sicherheits-Blog vermerkt, wonach der Angriffsvektor mit "Medium" eingestuft ist.

Transient Execution of Non-Canonical Accesses funktioniert lediglich unter spezifischen Voraussetzungen: Schad-Code muss Instruktionen ausführen, die Treffer sowohl im Translation Lookaside Buffer (TLB) als auch im Level-1-Datencache des Prozessors erzeugen, dann aber verworfen werden, da Zen-CPUs erst dann die benötigten Mechanismen ausführen, etwa "Flush + Reload". Mit den richtigen Software-Sequenzen lassen sich durch Code-Injektion Daten anderer Prozesse auf einem fremden Thread auslesen, solange die ersten 48 Bit im virtuellen Adressbereich übereinstimmen.

Entsprechende Angriffe unterliegen zudem einigen Einschränkungen: Sie funktionieren nicht adressraumübergreifend (User-User oder User-Kernel), wenn die ersten 48 Bit nicht übereinstimmen, und können keine Benutzeradressräume auf demselben CPU-Kern überschreiten. Andere CPU-Kerne lassen sich erst recht nicht belauschen.

Die Sicherheitsforscher merken selbst an, dass Transient Execution of Non-Canonical Accesses allein nicht besonders gefährlich ist. Das Paper soll jedoch aufzeigen, dass AMD-Prozessoren nicht grundlegend gegen diese Klasse von Angriffen gefeit sind. Weitere Angriffsvektoren könnten auf den Ergebnissen aufbauen.

Musaev und Fetzer haben ausschließlich Prozessoren der Generation Zen+ (Ryzen 7 2700X und Ryzen Threadripper 2990WX) sowie Zen 2 (Epyc 7262) getestet. AMD selbst veröffentlicht allerdings keine Einschränkung auf diese Baureihen. Gegenüber heise online teilte Sicherheitsforscher Musaev mit, dass laut AMD alle Zen-Typen betroffen seien, also auch Zen-Athlons, Ryzen Embedded und neuere Ryzen 5000.

Intel-Prozessoren älterer Generationen, die von "ZombieLoad" betroffen sind (Microarchitectural Data Sampling/MDS), sind grundsätzlich auch von Transient Execution of Non-Canonical Accesses betroffen; da es dort aber simplere Angriffsvektoren gibt, hat das keine praktische Relevanz.

Programmierer können als Schutz gegen die Sicherheitslücke die LFENCE-Funktion in ihren Code einbauen. Zudem helfen andere bekannte Meltdown-Gegenmaßnahmen.

(mma)