Meltdown und Spectre betreffen Milliarden Prozessoren

CloudRechenzentrum

Die Sicherheitslecks Spectre und Meltdown sind der absolute IT-Sicherheits-GAU, der größte anzunehmende Unfall.

Wenn man der Hardware nicht mehr trauen kann, ist jede weitere Sicherheitsarchtitektur hinfällig. Das ist nun der Fall, denn die beiden “Meltdown” (Kernschmelze) und “Spectre” (Schreckgespenst) getauften Fehler betreffen Sicherheitsmechanismen direkt in Prozessoren. Im Kern geht es darum, dass nur das Betriebssystem sämtliche Rechte und Zugriff auf sämtliche Speicherbereiche haben dürfte – das ist nun aber nicht mehr garantiert.

Von “Sicherheitslücken” im klassischen Sinn zu sprechen ist dabei aber etwas zu kurz gegriffen, denn es handelt sich nicht etwa um eine einzelne fehlerhaft implementierte Funktion von Prozessoren. Vielmehr geht es um Seitenkanalangriffe auf Mechanismen der spekulativen Befehlsausführung (speculative execution) und dem Umsortieren von Befehlen (out-of-order execution). Diese Methoden existieren in x86-Prozessoren seit dem Pentium Pro von 1995 und wurden seitdem nicht nur bei Intel-CPUs, sondern in allen modernen Designs eingesetzt. Ausnahmen sind der Itanium und die bis 2013 erschienenen frühen Atom-Prozessoren, die nicht spekulativ arbeiten.

Intel-CPU-Bug

Dennoch betrifft das Problem Intel-Chips in besonderer Weise, denn die Meltdown-Attacke funktioniert nach bisherigem Stand nur bei diesen. Dabei handelt es sich um einen Angriffsvektor, über den Programme aus virtuellen Maschinen ausbrechen können, oder, falls diese nicht existieren, auf dem lokalen System Zugriff auf Speicherbereiche des Betriebssystems haben. Somit ist es möglich, sensible Daten wie Passwörter, entschlüsselte Daten oder gleich die Keys von Krypto-Verfahren selbst abzufangen. Dagegen gibt es eigentlich die auf Hardwareebene befindliche Gegenmaßnahme wie die Speicherverwürflung ASLR – doch Meltdown umgeht diese. Helfen kann nur die gegenseitige Isolation von Speicherseiten der Kernel, auch bekannt als “page table isolation” (PTI oder KPTI), die Umsetzung dessen wurde KAISER getauft. Sie ist im aktuellen Linux-Kernel 4.14.11 bereits umgesetzt. Durch die Arbeit daran wurde Meltdown, noch bevor es so genannt wurde, bereits vor einigen Tagen bekannt.

Spectre betrifft auch andere Prozessoren

Daher wurde zunächst auch angenommen, dass das Problem mit dem spekulativen Daten nur Intel-Chips betreffe, was der CPU-Hersteller jedoch anders sieht. Auch AMDs erste Äußerungen zu der Sache sind nur die halbe Wahrheit, denn neben Meltdown gibt es auch noch Spectre, und das funktioniert laut Tests von Sicherheitsforschern mindestens bei CPUs von AMD, ARM und Intel. Spectre greift die spekulative Ausführung von Befehlen und die Verzweigungsvorhersage an, daher besteht das Logo des Bugs auch aus einem Geist mit einem Zweig in der Hand.

Im Kern besteht Spectre aus einem Programm, das andere Anwendungen dazu bringt, ihre Daten preiszugeben. Dazu werden fehlerhafte Verzweigungsvorhersagen und nicht tatsächlich benötigte Befehle ausgeführt, deren Ergebnisse dann aus Caches des Prozessors ausgelesen werden. Spectre ist dabei noch etwas gefährlicher als Meltdown, denn unter anderem war es möglich, über ein Programm in Javascript an Daten aus dem Browser zu kommen. Das übliche Sicherheitskonzept der Sandbox eines Browsers, in der streng isolierte Programme beispielsweise via Javascript laufen sollen, ist damit gebrochen. Ein Patch des Betriebssystems allein hilft nicht gegen Spectre, vielmehr müssen sämtliche Anwendungen auf Angreifbarkeit überprüft werden. Daher sagen auch die Sicherheitsforscher von Googles Project Zero “das wird uns noch einige Zeit lang erschrecken”.

Ausgewähltes Whitepaper

CAD-Daten optimal verwalten: ECM-Lösungen vereinfachen Planmanagement

Wie ECM-Systeme CAD-Prozesse verbessern können, was eine gute ECM-Lösung beim Planmanagement auszeichnet und warum sich nscale CAD als spezialisierte Lösung für das Planmanagement anbietet, erklärt dieses Whitepaper.

Das Security-Projekt von Google hat auch zuerst umfassend über Meltdown und Spectre berichtet, entdeckt wurden die Probleme unabhängig voneinander vom dort tätigen Sicherheitsforscher Jann Horn sowie von Experten des deutschen Unternehmens Cyberus sowie der Universitäten in Graz, Adelaide und unabhängigen Forschern. Nicht nur das große Team, auch der zeitliche Ablauf weist auf die Größe des Gesamtproblems hin: Laut Google wurden die Fehler bereits im Juni 2017 an ARM, AMD und Intel gemeldet, und die Lücken sollten zumindest auf Ebene der Betriebssysteme bis zum 9. Januar 2017 geschlossen werden. Durch die Berichterstattung der vergangenen Tage entschloss sich Google nun, die Offenlegung vorzuziehen.

Durch den Patch sinkt die I/O-Performance zum Teil erheblich (Grafik: <a href="https://www.phoronix.com/scan.php?page=article&item=linux-415-x86pti&num=2" target="_blank" srcset=
Phoronix” width=”768″ height=”282″> Durch den Patch sinkt die I/O-Performance zum Teil erheblich (Grafik: Phoronix

Für Windows 10 wird ein entsprechender Patch bereits verteilt, wenn man Teil des Insider-Programms ist, oder Windows Update manuell anstößt. Wie Microsoft The Verge sagte, steckt die Bereinigung in KB4056892, auf Spectre oder Meltdown weist Microsoft dort aber nicht ausdrücklich hin. Für ältere Windows-Versionen soll es erst am nächsten Patchday, dem 9. Januar 2018, Updates geben. Zu den bisher befürchteten massiven Leistungseinbrüchen gibt es, zumindest unter Windows und bei Spielen, Entwarnung von Computerbase. Auf Linux-Servern und virtuellen Maschinen können die Performancenachteile aber drastisch sein, doch dies lässt sich sinnvoll nur in eigenen Umgebungen testen.

Detaillierte technische Informationen zu Meltdown und Spectre finden sich auf einer von Google aufgesetzten Webseite, die auch Links zu mehreren wissenschaftlichen Arbeiten enthält. Einen guten Überblick bietet auch der Blog von Project Zero.