Spectre lebt: Seitenkanalangriffe auf AMD Ryzen und Intel Core möglich
Über die Micro-Op-Caches lassen sich CPUs den Serien AMD Ryzen und Intel Core mittels eines Seitenkanals per Spectre attackieren. Ein Forscherteam der Universität von Virginia hat die neue Sicherheitslücke in allen modernen Prozessoren ab AMD Ryzen 1000 alias Summit Ridge und Intel Core i-2000 alias Sandy Bridge entdeckt.
I see dead µOps geht eine Ebene tiefer
Die Forscher haben die neue Herangehensweise für einen Seitenkanalangriff, mit dessen Hilfe sich eigentlich geschützte Daten aus einem Prozessor extrahieren lassen, auf den Namen I see dead µOps (PDF) getauft.
Neben den aktuellen Desktop-Prozessoren bis hinauf zu den neuesten Generationen der Serien AMD Ryzen 5000 (Test) und Intel Core i-11000 (Test) sind sämtliche CPUs im Bereich HEDT und Server seit 2011 betroffen.
Anders als bisherige Spectre-Angriffe, die sich primär den Arbeitsspeicher oder gemeinsam genutzte L3-Caches sowie spekulative Ausführung per Sprungvorhersage zu Nutze gemacht haben, setzt der neue Seitenkanalangriff eine Ebene tiefer an und greift direkt die sogenannten Micro-Op-Caches an, einen sehr schnellen SRAM in unmittelbarer Nähe der CPU-Kerne. In einem Proof of Concept (PoC) konnte das Forscherteam mit der Methode die Abschottung der unterschiedlichsten Speicheradressbereiche überwinden.
Die Nutzung des schnellen SRAM und der bereits vom Frontend decodierten Befehle spart Energie und Zeit, da tausende von Instruktionen nicht erst neu decodiert werden müssen, macht moderne CPUs aber auch angreifbar, weil keine Sicherheitsprüfung der unverschlüsselten Befehle im Wartebereich („Gate“) erfolgt.
Das Forscherteam vergleicht den Seitenkanalangriff in einem weiteren Bericht mit einem hypothetischen Szenario an einem Flughafen.
Think about a hypothetical airport security scenario where TSA lets you in without checking your boarding pass because it is fast and efficient, and you will be checked for your boarding pass at the gate anyway.
It predicts that the check will pass and could let instructions into the pipeline. Ultimately, if the prediction is incorrect, it will throw those instructions out of the pipeline, but this might be too late because those instructions could leave side-effects while waiting in the pipeline that an attacker could later exploit to infer secrets such as a password.
Ashish Venkat, Professor of Computer Science at UVA Engineering
Den Sicherheitsforschern zufolge funktioniert der Angriff mit Hilfe von „I see dead µOps“ insbesondere auch zwischen zwei Threads, die sich die Ressourcen eines CPU-Kerns mittels Simultaneous Multi-Threading (SMT) teilen.
Ein Patch würde sehr viel Leistung kosten
Die Implementierung entsprechender Patches gegen diese Art von Angriff, beispielsweise über Intels Software Guard Extensions (SGX), würde sehr viel Leistung kosten, da zuvor die iTLB (Instruction Translation Lookaside Buffer) geleert werden müssten, so die Forscher weiter.
In the case of the previous Spectre attacks, developers have come up with a relatively easy way to prevent any sort of attack without a major performance penalty. The difference with this attack is you take a much greater performance penalty than those previous attacks.
Patches that disable the micro-op cache or halt speculative execution on legacy hardware would effectively roll back critical performance innovations in most modern Intel and AMD processors, and this just isn’t feasible.
Xida Ren, Student of Computer Science at UVA Engineering
Die Universitäten von Virginia und Kalifornien, die an den Untersuchungen beteiligt waren, haben AMD und Intel bereits Mitte April von der Sicherheitslücke in Kenntnis gesetzt.