CPU-Lücken ret2spec und SpectreRSB entdeckt

Forscher der Uni Saarland und der Uni Kalifornien enttarnen neue Sicherheitslücken, die zu bekannten und erwarteten Spectre- und Spectre-NG-Bugs hinzukommen.

In Pocket speichern vorlesen Druckansicht 177 Kommentare lesen
Sicherheitslücken Meltdown und Spectre
Lesezeit: 3 Min.

Auch der Return Stack Buffer (RSB) von Intel-Prozessoren lässt sich zum Auslesen vermeintlich geschützter Speicherbereiche durch spekulative Ausführung missbrauchen. Eine dieser RSB-Sicherheitslücken haben Giorgi Maisuradze und Christian Rossow vom Center for IT-Security, Privacy and Accountability (CISPA) der Uni Saarland ret2spec beziehungsweise Spectre v5 getauft. Intel, AMD und ARM haben die Schwachstelle bestätigt. Eine CVE-Nummer existiert bislang aber anscheinend noch nicht.

Unabhängig davon beschreibt ein Forscherteam der University of California, Riverside (UCR), die Attacke namens SpectreRSB.

Eine naheliegende Möglichkeit, ret2spec für Angriffe zu nutzen, wären präparierte Webseiten oder E-Mails mit JavaScript- oder WebAssembly-Schadcode. Einige der schon bisher gegen Spectre & Co. per Update in Browsern eingebauten Schutzmaßnahmen helfen auch gegen ret2spec, wie die CISPA-Forscher in ihrem Paper erläutern.

CPU-Sicherheitslücken Spectre-NG

Nach Meltdown und Spectre sind Forscher auf acht weitere Sicherheitslücken in (Intel-) Prozessoren gestoßen – Spectre Next Generation (Spectre-NG). Vier davon werden als hochriskant eingestuft, eine davon hat sogar weitaus höheres Bedrohungspotenzial als die bisher bekannten Spectre-Lücken.

Auch für ret2spec brauchen die Angreifer eine präzise Zeitmessung. Einen Proof-of-Concept (PoC) führten die Forscher daher unter Firefox 59 mit einem modifizierten Zeitgeber durch: Den haben sie wieder genauer eingestellt, als er seit Implementierung der Spectre-Gegenmaßnahmen eigentlich läuft (2 Millisekunden Auflösung). Allerdings gibt es ohnehin Möglichkeiten, für Angriffe genauere Timer zu nutzen.

"Die Sicherheitslücke entsteht dadurch, dass Prozessoren zwecks Laufzeitoptimierung eine sogenannte Rücksprungadresse prognostizieren", sagt Prof. Dr. Rossow. "Kann ein Angreifer diese Prognose manipulieren, so erhält er die Kontrolle über spekulativ ausgeführten Programmcode. Er kann so über Seitenkanäle Daten auslesen, die eigentlich vor Zugriffen geschützt sein sollten."

Es ist demnach beispielsweise möglich, dass Malware den Speicher des Browsers ausliest, um kritische Daten wie gespeicherte Passwörter zu stehlen oder Browser-Sitzungen zu übernehmen. Eine leichte Variation des Angriffs ermöglicht es, den Speicherinhalt anderer Prozesse auszulesen, um beispielsweise Passworteingaben anderer Nutzer mitzulesen. "Beide Variationen können als umgekehrter Spectre-Angriff verstanden werden, da in ret2spec nun auch Rücksprungadressen verwendet werden - statt wie in Spectre vorwärts gewandte Sprungadressen", so Rossow.

Esmaiel Mohammadian Koruyeh, Khaled Khasawneh, Chengyu Song und Nael Abu-Ghazaleh von der UCR haben ein Paper zu SpectreRSB veröffentlicht. Auch sie missbrauchen den RSB. Sie demonstrieren Angriffe auf Speicher desselben Prozesses, in dem auch der Schadcode läuft, aber auch Angriffe auf die Speicherbereiche parallel laufender Prozesse. Auch Attacken auf SGX-Enklaven sind machbar. Ihrer Meinung nach könnte es sogar möglich sein, den Speicher von Prozessen auszulesen, die in anderen virtuellen Maschinen laufen.

Die UCR-Forscher empfehlen als Schutz gegen SpectreRSB den Linux-Kernel-Patch namens RSB refilling. (ciw)