Security Info: Meltdown & Spectre – gravierende Sicherheitslücke in Prozessoren

Du hast vermutlich in der Presse schon etwas von der Sicherheitslücke in Prozessoren (CPU) von Intel, AMD und ARM gehört.

Solltest du einen PC mit einem der betroffenen Prozessoren besitzen – was der Fall sein wird – dann bist du von dieser Lücke betroffen.
Angreifer können in diesem Fall, über einen Schadcode, an sensible Informationen deines PCs kommen.

Entdeckung

Entdeckt wurde diese Lücke vom Google Project Zero bereits Mitte 2017. Die betroffenen Hersteller wurden am 1.6.2017 über die Lückeinformiert.

Project Zero ist der Name eines Teams aus Sicherheits Analysten von Google deren Aufgabe es ist, zero-day Anfälligkeiten zu finden. Diese Auffälligkeiten werden dann an die Hersteller gemeldet. Die Lücke wird erst veröffentlicht, wenn der Hersteller einen Patch heraus gegeben hat – oder aber 90 Tage nach Meldung an den Hersteller, sollte dieser nicht reagieren.
In diesem Fall hat Google den Termin verlängert, da der Fehler in der Hardware (Prozessor) liegt und daher nicht zu beheben ist. Hier muss über Patche auf Betriebssystem (OS) Ebene die Ausnutzung der Lücke unterbunden werden.
Da im Prinzip alle großen CPU Hersteller, sowie deren sämtliche Produkte, betroffen sind, mussten eine große Anzahl von OS Herstellern mit ins Boot genommen werden um Updates zu liefern. Betroffen sind unter anderem Window, Linux, MacOS, iOS und Android. Ja, auch Ihre Smartphones sind betroffen!

Um was geht es?

Prozessoren bieten zur Performance Optimierung die Funktion ‘Speculative Execution’ – hierbei versucht der Prozessor vorauszusagen, welche Anweisungen ein Prozess in Zukunft geben wird – und hält für diese Berechnungen dann ein Ergebnis bereit.
Die Ausführung kann parallel erfolgen, dadurch steigt die Verarbeitungsgeschwindigkeit da Wartezeiten vermieden werden. Sollte die Berechnung nicht angefragt, bzw. das Ergebnis nicht benötigt werden, wird dieses einfach verworfen.
Die Ergebnisse stehen dabei im Speicher der CPU selbst. Dieses Funktion ist ein Hardware Feature – hierfür wird kein Bestandteil des OS benötigt.

Das OS selbst läuft in einem priviligierten Kern, dem sogenannten ‘Kernel’, dieser managed das komplette System, startet und stoppt Anwendungen und Dienste, kümmert sich um Sicherheitseinstellungen, managed den Speicher und separiert hier eine Anwendungen gegen die anderen Anwendungen.

Neben dem Kernel laufen alle Prozesse bzw. Anwendungen im sogenannten ‘Userland’ – hier können die Anwendungen miteinander Informationen austauschen, aber nur wenn sich beide Seiten darauf verständigen.
Der Kernel ist dafür verantwortlich, dass diese Bereiche voneinander getrennt sind, Prozesse nicht auf Informationen zugreifen zu denen sie nicht berechtigt sind und schon gar nicht auf priviligierte Bereiche des Kernels zugreifen können.
Malware, Viren und Konsorten versuchen hier durch Lücken genau diese Kernel Aufgabe zu behindern oder ganz auszuschalten.

In allen CPUs wiederum gibt es verschiedene ‘privilege levels’ – also Sicherheitsebenen. Intel nennt diese Ebenen ‘rings’.
Die Hardware bietet 4 Ringe, das OS nutzt in der Regel davon 2:
Ring 0 hat die höchsten Rechte und Ring 3 die niedrigsten Rechte. Hardwareseitig sind diese Ringe voneiander insoliert und können von oben nach unten kontrolliert werden.
Ring 0 kann Ring 3 manipulieren, aber nicht umgekehrt.

Der Kernel läuft in Ring 0 und das Userland in Ring 3. In der Theorie verhindert hier also schon der Prozesor auf Hardwareebene den Zugriff von Ring 3 auf Ring 0, entsprechende Anfragen auf Maschinen Code Ebene werden geblockt.

Das Ziel hinter einer theoretischen Attacke war die Überlegung, dass durch ‘Speculative Execution’ möglicherweise Ergebnisse im Speicher vorhanden sein könnten, wobei durch die Ring Isolierung zwar der Zugriff auf das Ergebnis in der normalen Programmausführung blockiert werden würde, aber man parallel dazu einen Seiten Kanal der CPUs nutzen könnte um an den Inhalt des Speicher zu kommen.

Hat geklappt, gefunden hat man dann sogar gleich 3 verschiedene Möglichkeiten, diesen Speicher auszulesen:

Variante 1 und Variante 2 sind bekannt als Spectre
Variante 2 ist bekannt als Meltdown

Die Lücke(n) wurden parallel zu der Entdeckung durch Google auch durch andere Forscher erkundet – daher stammen auch die hübschen Namen.

Zu allen 3 Lücken gibt es (derzeit) keine Schadsoftware welche diese Lücken ausnutzt. Zu jeder Lücke gibt ein ein ‘Proof of Concept’ (PoC) von Google – hier ist damit daher zu rechnen, dann in sehr naher Zukunft entsprechende Exploits folgen werden.

Was kann passieren?

Was kann dir – und allen anderen Nutzern und Betreiber von Computern, Servern, mobilen Devices – passieren?
Durch die Ausnutzung der Lücke kann sich ein Angreifer Zugriff auf sensible Daten beschaffen, Passwörter, PINs und TANs, Crypto Schlüssel etc.

Für einen erfolgreichen Angriff benötigt der Angreifer Zugriff einen Prozess auf dem betroffenen PC. Dieser Prozess kann über eine Schadsoftware generiert werden, oder ein bestehender Prozess kann genutzt werden. Ein Beispiel für einen solchen Angriff wäre das Ausführen von Schadcode beim Besuch einer infizierten Webseite, ausführen von Code in einer HTML Mail, ausführen von Code in einer infizierten Word Datei (Makro).

Ja, das ist so schlimm wie es sich anhört.

Hier ein Video eines solchen Angriffs

Welche Systeme sind betroffen?

Fast alle Computersysteme sind betroffen:

  • Desktops
  • Laptops
  • Server
  • Mobile Geräte: Tablets, Handys
  • Cloud Server: Azure, Google, AWS und weitere
  • Virtualisierungsumgebungen: Xen, VMWare, Docker, OpenVZ, und weitere

Was kann ich machen?

Da das Problem bei dieser Lücke ist, dass sie in der Hardware liegt, dieses hier aber nicht gelöst werden kann, muss ein Patch auf der OS Seite erfolgen.
In zukünftigen Versionen der CPUs wird dieser Fehler dann in der Hardware behoben sein, also ist der Austausch der Hardware eine weitere Möglichkeit.

Die Hersteller haben oder werden in Kürze hier Patche zur Verfügung stellen – diese solltest du unbedingt zeitnah einspielen!

Problematisch wird das Update dort, wo der OS Hersteller keinen Patch mehr liefert, einige Nutzer von Android Handies werden hier feststellen, dass ihre Geräte nicht mehr mit Updates versorgt werden. In diesem Fall hilft nur ‘Augen zu und durch’ oder der Wechsel auf eine andere Hardware.

Windows:

Gepatcht in KB4056890

Wichtiger Hinweise:

Bitte beachte, dass dieser Patch in gewissen Umgebungen nicht angeboten wird! Du erhalst das Update nur dann angezeigt, wenn deine Anti-Virus Software den ‘ALLOW REGKEY’ gesetzt hat. Im Zweifel kontaktiere den Anbieter deiner Anti Virus Lösung!

Apple:

Gepatcht in iOS 11.2, macOX 10.13.2 und tvOS 11.2 – die Apple Watch ist nicht betroffen

Firefox:

Gepatcht in Version 57.0.4

Linux:

Informationen zu KAISER – Patche sind Distributions und Kernel abhängig, teilweise schon verfügbar.

Weitere Informationen:

 

Update 5.1.18: Neue Vendor Informationen und Links

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

eMail-Benachrichtigung bei Kommentaren. Auch möglich: Abo ohne Kommentar.