CPU-Sicherheit

Editorial: Nachwuchs im Spectre-Zoo

Intel setzt immer noch auf Geschwin­digkeit statt Sicher­heit: Selbst gepatchte CPUs haben immer noch Sicher­heits­lücken

Wenn Intel inside (= innen drin) ist, kann der Wurm drin sein. Im wahrsten Sinne des Wortes. Wenn Intel inside (= innen drin) ist, kann der Wurm drin sein. Im wahrsten Sinne des Wortes.
Foto: Picture-Alliance
Der Zoo der Sicher­heits­lücken vom Spectre- und Melt­down-Typ hat letzte Woche aber­mals Nach­wuchs bekommen: Mit Load Value Injec­tion (kurz LVI) ist es beispiels­weise sogar möglich, geheime Schlüssel aus den eigent­lich beson­ders geschützten SGX-Enklaven zu stehlen. Darüber hinaus eröffnet LVI noch weitere Wege, auf denen unpri­vile­gierte Prozesse die Daten von privi­legierten Prozessen oder dem System entwenden können.

Viele dieser Pfade stehen auch auf voll­ständig gepatchten Systemen offen, auf denen alle bishe­rigen Gegen­maßnahmen gegen Spectre, Melt­down & Co. instal­liert sind.

Aber­mals sind vor allem Intel-CPUs betroffen, auch, wenn Modelle von AMD und ARM eben­falls nicht komplett resis­tent gegen LVI sind. Das Problem hinter Load Value Injec­tion ist, dass Intel-CPUs nach einem Spei­cher­zugriff, den sie nicht sofort ausführen können, dennoch zunächst speku­lativ mit alten Werten aus alten Spei­cher­zugriffen weiter­rechnen.

Dadurch ist es dem Angreifer insbe­sondere möglich, eine Rück­sprung-Anwei­sung (ret) auf eine belie­bige Adresse springen zu lassen und dann den dort vorhan­denen Code speku­lativ auszu­führen. Die Ergeb­nisse dieser speku­lativen Ausfüh­rung werden zwar schluss­endlich verworfen, sobald der Prozessor die echten Daten geladen hat und dann alle Befehle erneut mit den rich­tigen Daten ausführt. Doch wenn die vorhe­rige Speku­lation zu aber­maligen Spei­cher­zugriffen in vom Angreifer kontrol­lierten Spei­cher­berei­chen führt, und die genaue Adresse des Spei­cher­zugriffs von den Daten abhängt, dann kann der Angreifer später ermit­telten, welche weiteren Spei­cher­bereiche während der Speku­lation gelesen wurden, und daraus Rück­schlüsse auf die speku­lativ verar­beiteten Daten selber ziehen.

Trotz der viel­fältigen Spectre- und Melt­down-Angriffe hat Intel auch in den jüngsten CPUs die speku­lative Ausfüh­rung von Befehlen, die von noch gar nicht aus dem Spei­cher gela­denen Daten abhängen, nicht unter­bunden.

Statt mit alten Daten aus alten Zugriffen weiter­zurechnen, was direkte Lecks eben­dieser alten Daten zu anderen Prozessen ermög­lichte (Zombieload), werden bei den neuesten Intel-CPUs nun Nullen statt der noch gar nicht verfüg­baren Daten einge­setzt. Doch das reicht nicht: Die Sicher­heits­forscher konnten zeigen, dass in bestimmten Situa­tion auch dann Daten geleakt werden können, wenn explizit mit einer Null statt des echten Wertes weiter­speku­liert wird. Wiederum wird dabei betrachtet, was heraus­kommt, wenn diese Null mit den eigent­lich inter­essie­renden Daten in Berech­nungen einfließt.

Unsi­chere Enklaven

Wenn Intel inside (= innen drin) ist, kann der Wurm drin sein. Im wahrsten Sinne des Wortes. Wenn Intel inside (= innen drin) ist, kann der Wurm drin sein. Im wahrsten Sinne des Wortes.
Foto: Picture-Alliance
Die eingangs erwähnte SGX-Tech­nologie (Soft­ware Guard Exten­sions) von Intel dient eigent­lich dazu, Client-Programmen beson­ders geschützte Bereiche zur Verfü­gung zu stellen, in denen diese selbst auf kompro­mittierten Rech­nern oder Betriebs­systemen noch sicherer Berech­nungen durch­führen können. Beispiels­weise könnten Webserver SGX-Enklaven verwenden, um dort ihre geheimen SSL-Schlüssel zu spei­chern und SSL-Nach­richten zu ver- und enschlüs­seln. Nur wird dieses in der Regel selten so prak­tiziert, da das gängige Sicher­heits­konzept auf Webser­vern ist, dass der Server selber gegen Zugriffe von außen abge­schirmt wird, nicht nur einzelnen Prozesse auf diesem Server.

In der Praxis wird SGX daher vor allem von Compu­terspie­leher­stel­lern dazu genutzt, die Inte­grität der Spie­lesoft­ware auf dem Client-PC zu über­prüfen: Der in der Enklave ausge­führte Selbst-Check-Code kann von außen mit gewöhn­lichen Mitteln (wie Debugger oder VMs) nicht einge­sehen werden. Das erschwert den Code-Crackern die Arbeit und verlän­gert dadurch das Zeit­fenster zwischen dem Release eines neuen Spiels und der Verfüg­barkeit von gecrackten Versionen in den klas­sischen Tausch­börsen. Vom Daten­leak aus SGX-Enklaven sind daher eher Soft­ware-Vermarkter als Privat­anwender betroffen.

Sicher­heits versus Geschwin­digkeit

Spectre, Melt­down, Fores­hadow, Zombieload, Load Value Injec­tion und Co. zeigen, dass Intel bei der Abwä­gung zwischen "Geschwin­digkeit" und "Sicher­heit" schon vor ca. zehn Jahren zu sehr auf "Geschwin­digkeit" gesetzt hat. Damit konnten sie zwar den Desktop- und PC-Markt für sich erobern und lange Zeit domi­nieren, haben nun aber auch eine Menge verbrannte Erde hinter­lassen. Wer beson­ders sicher­heits­sensible Daten in Cloud-Umge­bungen verar­beitet, sollte lieber zu AMD-CPUs migrieren, die sich bisher als weniger anfällig gezeigt haben. Auch, wenn große Lausch­angriffe via Spectre und Co. bisher nicht publik geworden sind: Es ist mit Sicher­heit davon auszu­gehen, dass gerade die, die im Geheimen lauschen, diese Tech­niken im großen Stil einsetzen, um Infor­mationen über ihre Gegner zu gewinnen.

Weitere Edito­rials