Downfall & Inception: Neue CPU-Schwachstellen gefährden Intel- und AMD-Systeme

Update 3 Marc Stöckel
315 Kommentare
Downfall & Inception: Neue CPU-Schwachstellen gefährden Intel- und AMD-Systeme

Meltdown und Spectre haben schon vor Jahren eindrucksvoll gezeigt, dass CPU-Schwachstellen nicht zu unterschätzen sind und deren Beseitigung oftmals Leistung kostet. Mit Downfall und Inception sind nun zwei neue Sicherheitslücken an die Öffentlichkeit gelangt, wobei eine primär Intel betrifft, die andere dafür AMD.

Speicheroptimierung wird Intel mit Downfall zum Verhängnis

Die erste CPU-Schwachstelle hört auf den Namen Downfall. Deren Entdecker Daniel Moghimi, ein Sicherheitsforscher von Google, hat einige Details zu der als CVE-2022-40982 registrierten und schon am 24. August 2022 an Intel gemeldeten Sicherheitslücke auf einer Informationsseite bereitgestellt. Sie betrifft demnach mehrere Intel-CPU-Modelle und erlaubt es Angreifern, auf einem Zielsystem sensible Daten anderer Benutzer auszuspähen – darunter beispielsweise Passwörter, Verschlüsselungsschlüssel, Bankverbindungen oder verschiedene Arten von Textnachrichten. Downfall soll sich unter Einsatz einer Malware auch aus der Ferne ausnutzen lassen. Damit seien auch Intel-basierte Cloud-Umgebungen gefährdet, von denen Angreifer unter anderem die Zugangsdaten anderer Benutzer stehlen können sollen.

Die Ursache für die Schwachstelle liege in Speicheroptimierungsfunktionen der anfälligen Intel-Prozessoren, „die unbeabsichtigt interne Hardwareregister für Software offenlegen“. Das ermögliche es einer Schadsoftware, auf Daten anderer Anwendungen zuzugreifen, deren Zugriff ihr eigentlich systemseitig untersagt ist. Das ursächliche Problem sei dabei auf die sogenannte Gather-Anweisung zurückzuführen. Diese sei für einen beschleunigten Zugriff auf im Speicher verstreute Daten zuständig, gebe aber während der spekulativen Ausführung den Inhalt der internen Vektorregisterdatei preis.

Ein wirksamer Schutz kostet Performance

Wie der Google-Forscher erklärt, hat er zwei Angriffstechniken namens Gather Data Sampling (GDS) und Gather Value Injection (GVI) entwickelt. Mit GDS gelang es ihm unter anderem, einen Verschlüsselungsschlüssel von OpenSSL auszulesen. Seiner Ansicht nach sei diese Technik durchaus praxistauglich. Eine Erkennung eines möglichen Angriffs sei jedoch schwierig, da die Ausführung von Downfall kaum von jener einer gutartigen Anwendung zu unterscheiden sei. Gängiger Antivirensoftware sei es daher nicht möglich, eine Ausnutzung der Schwachstelle zuverlässig festzustellen.

Betroffen sind laut Moghimi alle Intel-CPU-Architekturen ab Skylake bis einschließlich Tiger Lake und damit die sechste bis elfte Intel-Core-Generation. Eine detailliertere Übersicht über die anfälligen Modelle ist bei Intel selbst zu finden. Der Forscher betont außerdem, dass auch Intels Software Guard Extensions (SGX) keinen wirksamen Schutz vor Downfall bieten. Besitzer betroffener Intel-Systeme, die sich vor möglichen Angriffen schützen wollen, verweist Moghimi auf von Intel bereitgestellte Microcode-Updates. Wie Intel selber erklärt, scheinen diese aber je nach Szenario mit „minimalen“ bis „signifikanten“ Leistungseinbußen einherzugehen.

Inception gefährdet AMD Zen 1 bis 4

AMD-CPUs sind von Downfall zwar nicht betroffen, doch dafür haben Forscher der ETH Zürich beinahe zur gleichen Zeit eine neue Angriffstechnik namens Inception (CVE-2023-20569) vorgestellt, mit der sich auch aus Prozessoren der AMD-Architekturen Zen 1 bis Zen 4 sensible Daten anderer Benutzer ausspähen lassen. Um das zu bewerkstelligen, kombinierte das Forscherteam zwei ältere Techniken miteinander. Bei Ersterer handelt es sich um Phantom Speculation. Sie erlaubt es einem Angreifer, in der transienten Ausführung der CPU „eine Fehlvorhersage auszulösen, ohne dass es zu einer Verzweigung an der Quelle der Fehlvorhersage kommt“. Mit der zweiten Angriffstechnik namens Training in Transient Execution sei es hingegen möglich, zukünftige Fehlprognosen durch eine vom Angreifer ausgelöste frühere Fehlprognose zu manipulieren.

Inception soll schließlich das Ergebnis einer Kombination beider Angriffe sein. „Wir können künftige Fehlprognosen durch eine von uns ausgelöste frühere Fehlprognose beeinflussen – ohne Verzweigungen“, so die Forscher. Dadurch sei es etwa möglich, eine AMD-Zen-CPU glauben zu lassen, „dass eine XOR-Anweisung eine rekursive Aufrufanweisung ist, die den Rückgabestapelpuffer mit einem vom Angreifer kontrollierten Ziel überlaufen lässt.“ Infolgedessen könne ein böswilliger Akteur beliebige Daten eines unprivilegierten Prozesses durchsickern lassen.

BleepingComputer zufolge sind die genannten AMD-CPUs mit Inception auch dann angreifbar, wenn alle bisherigen Abhilfemaßnahmen gegen bekannte spekulative Ausführungsangriffe bereits umgesetzt sind. Mit 39 Byte pro Sekunde erscheint die Datenrate, mit der sich die von den jeweiligen Prozessoren verarbeiteten Informationen abgreifen lassen sollen, auch durchaus praktikabel. Ein 16 Zeichen langes Passwort lasse sich damit innerhalb von einer halben Sekunde auslesen, für einen RSA-Schlüssel benötige ein Angreifer rund 6,5 Sekunden.

Auch in diesem Fall geht angeblich Leistung verloren

Um das Problem zu entschärfen, empfehlen die Forscher, beim Wechsel zwischen vertrauenswürdigen Kontexten den Zustand der Verzweigungsvorhersage vollständig zu leeren. Auf Zen-1- und Zen-2-basierten CPUs münde dies aber in einem Performance-Overhead von 93,1 bis 216,9 Prozent. Unter Zen 3 und Zen 4 soll dieser Vorgang in Ermangelung einer entsprechenden Hardwareunterstützung bis zur Bereitstellung eines Microcode-Updates seitens AMD gar nicht erst möglich gewesen sein.

AMD plant nach eigenen Angaben zum Schutz vor Inception neue AGESA-Versionen zu veröffentlichen. Einen Überblick dazu bietet der CPU-Hersteller in einem Security Bulletin. Dort erklärt das Unternehmen außerdem, dass sich die Angriffstechnik auch unter Einsatz einer Malware ausnutzen lasse – ein physischer Zugriff auf das Zielsystem ist also nicht erforderlich. Besitzer Zen-basierter Computersysteme sollten verfügbare Microcode-Updates zeitnah installieren, um sich vor potenziellen Angriffen zu schützen. Microsoft hat schon im Juli ein Sicherheitsupdate verteilt, das Windows-Systeme vor einer Ausnutzung von Phantom Speculation bewahren soll, ein ausreichender Schutz vor Inception scheint das aber nicht zu sein.

Update

Intel selbst hatte für den Einsatz der Befehlssatzerweiterungen AVX2 und AVX-512, die beide den für Downfall verantwortlichen Gather-Befehl nutzen, nach Installation der bereitgestellten Microcode-Updates einen Leistungsverlust von bis zu 50 Prozent prognostiziert. Erste Tests von Phoronix zeichnen zwar ein nicht ganz so düsteres Bild, beachtlich sind die dabei festgestellten Leistungseinbußen aber dennoch. Wie sich herausstellte, lässt beispielsweise die Leistung eines auf der Tiger-Lake-Architektur basierenden Core i7-1165G7 je nach Benchmark um 11 bis 39 Prozent nach.

Die Redaktion dankt Community-Mitglied Müritzer für den Hinweis zu diesem Update.

Update

Auch für von AMD bereitgestellte Microcode-Updates zur Eindämmung von Inception liegen inzwischen erste Leistungsvergleiche vor. Getestet hat Phoronix dieses Mal auf einem Zen-3-basierten AMD Epyc 7763. In vielen Benutzeranwendungen scheinen die Auswirkungen dabei eher geringfügiger Natur zu sein – zumeist liegen diese nur im einstelligen Prozentbereich. In datenintensiven Anwendungen wie MariaDB, die insbesondere im Unternehmensumfeld eine große Rolle spielen, nehmen die möglichen Leistungseinbußen mit Werten von teils mehr als 50 Prozent hingegen beachtliche Ausmaße an.

Die Redaktion dankt Community-Mitglied dernettehans für den Hinweis zu diesem Update.

Update

Um einer Ausnutzung von Downfall auf Intel-basierten Systemen vorzubeugen, hat Microsoft am Dienstag ein Sicherheitsupdate (KB5029778) für Windows 10 und 11 bereitgestellt. Wie der Konzern in einem Support-Artikel erklärt, ist die Entschärfung nach der Installation des Updates standardmäßig aktiv. Wer diese aufgrund der damit einhergehenden Leistungseinbußen wieder deaktivieren will, findet in dem Beitrag von Microsoft eine Anleitung dafür.