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.

Quelle: Heise