Meltdown und Spectre: ein Erklärungsfragment.

Das neue Jahr beginnt aus Sicht der IT-Security gleich ausgesprochen spannend, mit der Veröffentlichung zweier Angriffe, die große mediale Aufmerksamkeit auf sich gezogen haben: Meltdown und Spectre. Hier einige FAQ zum Thema:

 *) Bin ich davon betroffen?

Falls Sie einen PC, einen Laptop oder ein Smartphone haben: So gut wie sicher.

 *) Was kann passieren?

Die beiden Lücken sind subtil unterschiedlich, im Ergebnis aber sehr ähnlich: Bösartige Software kann Informationen (wie Passwörter, persönliche Daten …) lesen, auf die sie eigentlich keinen Zugriff haben sollte. Voraussetzung ist, dass diese Software auch irgendwie auf das jeweilige Gerät gelangt (was im Falle von Spectre aber beispielsweise bereits durch simples Surfen möglich ist).

 *) Kann ich bemerken, dass ich angegriffen werde?

Nein.

 *) Was kann ich dagegen tun?

Updates einspielen. So gut wie alle großen Hersteller (Microsoft, Apple, Google, Amazon, …) sind bereits seit teilweise Juli 2017 über diese Fehler informiert, und haben entweder zum großen Teil bereits Updates herausgebracht, oder stehen kurz davor.

 *) Macht das Update mein Gerät langsamer?

Nach allen bisherigen Erkenntnissen ist der Performanceverlust für „normale“ AnwenderInnen (also keine BetreiberInnen von großen Rechenzentren) praktisch unmerkbar. Der theoretische Geschwindigkeitsverlust steht in keinem Verhältnis zum Sicherheitsgewinn durch die Installation der Updates.

 *) Was ist jetzt an diesen Lücken so besonders?

Die gefundenen Schwachstellen sind bereits seit Jahrzenten vorhanden und unterminieren so ziemlich alle Annahmen, die SoftwareentwicklerInnen, aber auch SicherheitsexpertInnen von den bisher eingesetzten Systemen hatten. Auch ein vollkommen sicheres Betriebssystem und Anwendungen ohne jegliche Schwachstellen sind durch diese Angriffe verwundbar, basieren sie doch nicht auf Software- sondern auf Hardwareeigenschaften. Und wo Meltdown durch Softwareupdates prinzipiell ganz gut in den Griff bekommen werden kann, wird die endgültige Lösung von Spectre sehr wahrscheinlich eine fundamentale Paradigmenänderung in der Entwicklung von Hardware nötig machen, und uns daher noch ein paar Jahre begleiten.

 *) Ja, und wie funktioniert das jetzt im Detail?

Die technisch korrekte Detailbeschreibung findet sich in den veröffentlichten wissenschaftlichen Artikeln, weniger technisch korrekt und grob zusammengefasst: Prozessoren, also quasi Hirn, Herz und überhaupt zentrales Element aller heute gebräuchlichen IT-Systeme, sind über die Jahre hinweg immer schneller geworden. Eine zentrale Idee, wie diese Geschwindigkeitssteigerung erreicht werden konnte, stammt bereits aus den 70er-Jahren: Man arbeitet einfach einmal „auf Verdacht“. Browser tun das auch bereits seit einiger Zeit, aber auf völlig anderer Granularitätsebene: Beim Surfen auf einer Website beginnen sie damit, im Hintergrund auch gleich die dort verlinkten Seiten vorzuladen. Klickt man tatsächlich auf einen entsprechenden Link, kann die Seite gleich viel schneller angezeigt werden. Klickt man doch woanders, wird die falsch vorgeladene Seite wieder verworfen.

Ähnlich machen das jetzt auch Prozessoren: Nicht jeder Befehl, den diese ausführen, dauert gleich lange. Und manchmal hängen darauffolgende Befehle vom Ergebnis vorheriger Berechnungen ab (einfaches Beispiel: Wenn x kleiner y ist, schreibe eine 8 an eine bestimmte Stelle im Speicher. Sonst lies aus dem Speicher an einer anderen Stelle). Um jetzt aber nicht unnötig lange warten zu müssen, rät der Prozessor einfach, wie es wohl weitergehen wird. Das kann in unterschiedlicher Qualität und unter Verwendung unterschiedlichster Informationsquellen geschehen, funktioniert aber bei normaler Software mittlerweile erstaunlich gut. Um im Beispiel oben zu bleiben: Noch bevor sich der Prozessor sicher ist, wie x und y eigentlich zueinander stehen, schreibt er erst einmal die 8 in den Speicher, weil schon die letzten zehn Mal x kleiner als y war. Stellt er dann fest, dass er falsch geraten hat, verwirft er alles, was auf dieser falschen Annahme passierte, wieder, und rechnet neu. Im Worst Case also nicht langsamer, als hätte er gleich gewartet. Im Best Case aber liegt das korrekte Ergebnis schon vor, sobald die Information über den tatsächlichen Wert von x eintrifft.

Sowohl Meltdown als auch Spectre verwenden jetzt dieses „übereifrige Vorarbeiten“ moderner Prozessoren für neuartige Angriffe (präziser: Meltdown nützt „out-of-order execution“, Spectre „branch-prediction“ und „speculative execution“). Die Forscherteams haben eine Möglichkeit gefunden, die eigentlich verworfenen Zwischenergebnisse indirekt sichtbar zu machen. Damit können Sie im Falle von Meltdown für das aktuelle Programm nicht zugreifbaren Speicher des Betriebssystems auslesen, in dem potentiell sensible Daten anderer Programme enthalten sind. Bevor nämlich der Prozessor bemerkt, dass ein solcher Zugriff gar nicht erlaubt ist, hat er ihn schon ausgeführt, und die Forscher können auf das Ergebnis rückschließen. Aktuell scheint dieser Angriff nur Prozessoren von Intel (und ausgewählte Modelle von ARM) zu betreffen, während der dritte große Prozessorhersteller AMD dagegen immun zu sein scheint. Das konkrete Betriebssystem (Windows, Linux, macOS, iOS, Android …) ist dagegen vollkommen egal. Darüber hinaus kann Meltdown durch Softwareupdates wohl relativ gut kontrolliert werden.

Spectre erlaubt es dagegen, dass einzelne Programme den Speicher von anderen gleichzeitig laufenden Programmen auslesen können, ein Angriff, der offenbar sogar durch auf Webseiten einbettbaren Code durchgeführt werden kann. Das bedeutet, dass theoretisch eine entsprechend präparierte Website im Browser gespeicherte Passwörter auslesen könnte. Dieser Angriff ist – wie Meltdown – unabhängig vom Betriebssystem, funktioniert aber im Gegensatz dazu bei Prozessoren aller Hersteller. Allerdings ist ein erfolgreicher Spectre-Angriff komplexer und weit weniger generisch durchzuführen als Meltdown. Auch hier gibt es bereits Ansätze, das Problem per Software einzudämmen, tatsächlich lösbar wird es wohl allerdings erst durch tatsächliche Hardwareänderungen werden.

Zu diesem Artikel gibt es noch keine Kommentare (Kommentare abonnieren (RSS) oder URL Trackback)

Kommentare sind leider nicht erlaubt.