MSI X470 Steam Aktion

Lazy FP: Fünfte Spectre-Variante in Intel-CPUs entdeckt

reported by doelf, Freitag der 15.06.2018, 10:47:50 Uhr

Spectre entwickelt sich immer mehr zu einem kaum fassbaren Gespenst, das das Vertrauen in die Technik nachhaltig erschüttert. Mit einem Seitenangriff auf den CPU-Zustand "Lazy FP" (Lazy FPU State Restore) hat Intel die inzwischen fünfte Variante eines Spectre-Angriffs (CVE-2018-3665) dokumentiert. Betroffen sind alle Core-basierten Prozessoren.

Veröffentlichung vorgezogen
Gemeldet wurde diese neue Spectre-Variante von Julian Stecklina (Amazon Deutschland), Thomas Prescher (Cyberus Technology), Zdenek Sojka (SYSGO) und Colin Percival. Eigentlich sollte dieser CPU-Fehler noch bis August 2018 unter Verschluss bleiben, doch aufgrund von Spekulationen und Gerüchten hatte Intel die Veröffentlichung vorgezogen. Konkret hatte sich Theo de Raadt von OpenBSD auf der Sicherheitskonferenz BSDCan 2018 massiv über Intels Informationspolitik beklagt und dabei "Lazy FP" als Beispiel genannt. In OpenBSD, das sich Sicherheit auf die Fahnen geschrieben hat, wurde der Fehler bereits behoben.

Erklärt: Eager und Lazy FPU Switching
Das Problem entsteht beim Kontextwechsel zwischen einzelnen Prozessen. Dabei müssen die Register der Gleitkomma-Einheit (FPU), die bei aktuellen Prozessoren mit AVX-512-Unterstützung immerhin 2 KiB (32 x 512 Bit) an Daten umfassen, zunächst gesichert und später wiederhergestellt werden (Eager FPU Switching). Das ist ein enormer Aufwand, zumal gar nicht alle Prozesse von der FPU Gebrauch machen. Die Alternative "Lazy FPU Switching" arbeitet daher mit einem Trick: Statt die Register der FPU zu sichern, wird diese vom Betriebssystem deaktiviert und behält ihren letzten Zustand bei. Erst wenn ein Prozess die FPU anfordert, kommt es zu einem Ausnahmefehler und der Kernel löst die Sicherung der Register aus.

Ausnahmefehler hält Spekulation nicht auf
Eigentlich ist "Lazy FPU Switching" ein guter Trick, denn während die FPU deaktiviert ist, sollten auch die Daten in deren Registern sicher sein. Sollten, denn Intels Core-Prozessoren setzen die spekulative Ausführung von Befehlen auch dann fort, wenn es aufgrund der vom Betriebssystem ausgeschalteten FPU zu einem Ausnahmefehler kommt. Dies eröffnet die Möglichkeit von Seitenkanalangriffen, über die der Angreifer die FPU-Register auslesen kann. Neben normalen Gleitkomma-Operationen führt die FPU auch die Befehlssatzerweiterungen MMX, SSE und AVX aus. Intels Verschlüsselungsbeschleunigung AES-NI verwendet die FPU-Register, um Schlüssel zu runden.

Auswirkung auf virtuelle Umgebungen
Der Seitenkanalangriff funktioniert auch auf virtuellen Maschinen, sofern der Host "Lazy FPU Switching" verwendet. Dabei kann ein Angreifer auf dem Gastsystem auch Registerdaten von Prozessen, die auf anderen Gastsystemen laufen, auslesen, sofern hierbei ein und der selbe physische Prozessor zum Einsatz kommt. Um das Problem zu beheben, muss man zu "Eager FPU Switching" wechseln. Bei Linux funktioniert dies ab der Kernel-Version 3.7 über den Kernel-Boot-Parameter "eagerfpu=on". Alternativ lässt sich die Tragweite der Schwachstelle minimieren, indem jeder virtuellen Maschine explizit ein physischer Prozessor zugewiesen wird.

Auswirkungen auf die Leistung
In der grauen x86-Vorzeit steckte die Gleitkomma-Einheit noch in separaten Chips, den Co-Prozessoren. Traditionell wurden Gleitkomma-Operationen eher selten genutzt, doch Befehlssatzerweiterungen wie MMX, SSE und AVX haben die FPU immer weiter in den Mittelpunkt gerückt. Heutzutage sind Gleitkomma-Operationen sehr häufig, weshalb die Vorteile des "Lazy FPU Switching" trotz gewachsener Register eher gering ausfallen. Tatsächlich können häufige Ausnahmefehler den Kontextwechsel sogar verlangsamen, weshalb moderne Betriebssysteme "Eager FPU Switching" bevorzugen bzw. durch den Wechsel keine Nachteile entstehen sollten.

Nur Intels Core-Prozessoren betroffen
Nach aktuellem Kenntnisstand funktioniert der Angriff "Lazy FP" nur bei Intels Core-Prozessoren, andere Intel-Architekturen sind nicht betroffen. Auch AMD und ARM scheinen diesmal verschont zu bleiben. Zur Beseitigung dieser CPU-Schwachstelle bedarf es keiner Microcode-Updates, denn die notwendigen Anpassungen lassen sich im Betriebssystem vornehmen. Linux-Nutzer können ihr System sofort mit Hilfe des Kernel-Boot-Parameters "eagerfpu=on" absichern.

Diese Werbefläche wurde deaktiviert. Damit geht Au-Ja.de eine wichtige Einnahmequelle verloren.

Werbung erlauben ]