Editorial: Nachwuchs im Spectre-Zoo
Wenn Intel inside (= innen drin) ist, kann der Wurm drin sein. Im wahrsten Sinne des Wortes.
Foto: Picture-Alliance
Der Zoo der Sicherheitslücken vom Spectre- und Meltdown-Typ
hat letzte Woche abermals Nachwuchs bekommen: Mit
Load Value Injection
(kurz LVI)
ist es beispielsweise sogar möglich, geheime Schlüssel aus den eigentlich
besonders geschützten SGX-Enklaven zu stehlen. Darüber hinaus eröffnet
LVI noch weitere Wege, auf denen unprivilegierte Prozesse die Daten von
privilegierten Prozessen oder dem System entwenden können.
Viele dieser Pfade stehen auch auf vollständig gepatchten Systemen offen, auf denen alle bisherigen Gegenmaßnahmen gegen Spectre, Meltdown & Co. installiert sind.
Abermals sind vor allem Intel-CPUs betroffen, auch, wenn Modelle von AMD und ARM ebenfalls nicht komplett resistent gegen LVI sind. Das Problem hinter Load Value Injection ist, dass Intel-CPUs nach einem Speicherzugriff, den sie nicht sofort ausführen können, dennoch zunächst spekulativ mit alten Werten aus alten Speicherzugriffen weiterrechnen.
Dadurch ist es dem Angreifer insbesondere möglich, eine Rücksprung-Anweisung (ret) auf eine beliebige Adresse springen zu lassen und dann den dort vorhandenen Code spekulativ auszuführen. Die Ergebnisse dieser spekulativen Ausführung werden zwar schlussendlich verworfen, sobald der Prozessor die echten Daten geladen hat und dann alle Befehle erneut mit den richtigen Daten ausführt. Doch wenn die vorherige Spekulation zu abermaligen Speicherzugriffen in vom Angreifer kontrollierten Speicherbereichen führt, und die genaue Adresse des Speicherzugriffs von den Daten abhängt, dann kann der Angreifer später ermittelten, welche weiteren Speicherbereiche während der Spekulation gelesen wurden, und daraus Rückschlüsse auf die spekulativ verarbeiteten Daten selber ziehen.
Trotz der vielfältigen Spectre- und Meltdown-Angriffe hat Intel auch in den jüngsten CPUs die spekulative Ausführung von Befehlen, die von noch gar nicht aus dem Speicher geladenen Daten abhängen, nicht unterbunden.
Statt mit alten Daten aus alten Zugriffen weiterzurechnen, was direkte Lecks ebendieser alten Daten zu anderen Prozessen ermöglichte (Zombieload), werden bei den neuesten Intel-CPUs nun Nullen statt der noch gar nicht verfügbaren Daten eingesetzt. Doch das reicht nicht: Die Sicherheitsforscher konnten zeigen, dass in bestimmten Situation auch dann Daten geleakt werden können, wenn explizit mit einer Null statt des echten Wertes weiterspekuliert wird. Wiederum wird dabei betrachtet, was herauskommt, wenn diese Null mit den eigentlich interessierenden Daten in Berechnungen einfließt.
Unsichere Enklaven
Wenn Intel inside (= innen drin) ist, kann der Wurm drin sein. Im wahrsten Sinne des Wortes.
Foto: Picture-Alliance
Die eingangs erwähnte SGX-Technologie (Software Guard
Extensions) von Intel dient eigentlich dazu, Client-Programmen besonders
geschützte Bereiche zur Verfügung zu stellen, in denen diese selbst
auf kompromittierten Rechnern oder Betriebssystemen noch sicherer
Berechnungen durchführen können. Beispielsweise könnten Webserver
SGX-Enklaven verwenden, um dort ihre geheimen SSL-Schlüssel zu speichern
und SSL-Nachrichten zu ver- und enschlüsseln. Nur wird dieses in der
Regel selten so praktiziert, da das gängige Sicherheitskonzept auf
Webservern ist, dass der Server selber gegen Zugriffe von außen
abgeschirmt wird, nicht nur einzelnen Prozesse auf diesem Server.
In der Praxis wird SGX daher vor allem von Computerspieleherstellern dazu genutzt, die Integrität der Spielesoftware auf dem Client-PC zu überprüfen: Der in der Enklave ausgeführte Selbst-Check-Code kann von außen mit gewöhnlichen Mitteln (wie Debugger oder VMs) nicht eingesehen werden. Das erschwert den Code-Crackern die Arbeit und verlängert dadurch das Zeitfenster zwischen dem Release eines neuen Spiels und der Verfügbarkeit von gecrackten Versionen in den klassischen Tauschbörsen. Vom Datenleak aus SGX-Enklaven sind daher eher Software-Vermarkter als Privatanwender betroffen.
Sicherheits versus Geschwindigkeit
Spectre, Meltdown, Foreshadow, Zombieload, Load Value Injection und Co. zeigen, dass Intel bei der Abwägung zwischen "Geschwindigkeit" und "Sicherheit" schon vor ca. zehn Jahren zu sehr auf "Geschwindigkeit" gesetzt hat. Damit konnten sie zwar den Desktop- und PC-Markt für sich erobern und lange Zeit dominieren, haben nun aber auch eine Menge verbrannte Erde hinterlassen. Wer besonders sicherheitssensible Daten in Cloud-Umgebungen verarbeitet, sollte lieber zu AMD-CPUs migrieren, die sich bisher als weniger anfällig gezeigt haben. Auch, wenn große Lauschangriffe via Spectre und Co. bisher nicht publik geworden sind: Es ist mit Sicherheit davon auszugehen, dass gerade die, die im Geheimen lauschen, diese Techniken im großen Stil einsetzen, um Informationen über ihre Gegner zu gewinnen.