Spectre, Meltdown: Bug erlaubt das Auslesen von Speicherbereichen (CVE-2017-5753, CVE-2017-5715, CVE-2017-5754)

Am 03. Januar hat das Projekt Zero - Team ein Advisory veröffentlicht, indem sie vor einer Reihe Sicherheitslücke warnen, mit der sich auf allen modernen CPUs geschützte Speicherbereiche von privilegierten Prozessen auslesen lassen (Spectre, Meltdown)

"We have discovered that CPU data cache timing can be abused to efficiently leak information out of mis-speculated execution, leading to (at worst) arbitrary virtual memory read vulnerabilities across local security boundaries in various contexts.

Variants of this issue are known to affect many modern processors, including certain processors by Intel, AMD and ARM. For a few Intel and AMD CPU models, we have exploits that work against real software. We reported this issue to Intel, AMD and ARM on 2017-06-01 (1)

Betroffen sind davon Server- und Desktopversionen aller Betriebssysteme (Windows, OSX, Linux, *BSD), wobei die Bedrohungslage für die einzelnen Systeme unterschiedlich zu bewerten ist. 

Detaillierte Informationen zu den Sicherheitslücken geben Google's Project Zero Blog und die eigens eingerichteten Webseiten mit Erklärungen und FAQ unter spectreattack.com (PDF) und meltdownattack.com (PDF)

Dass bereits POCs existieren zeigt Michael Schwarz in einem kurzen Video: Using #Meltdown to steal passwords in real time

Für alle, die sich einen schnellen Überblick verschaffen wollen hat Daniel Mieser (8) eine kurze Einführung erstellt: 

 

A Simple Explanation of the Differences Between Meltdown and Spectre by D.Miessler (8) 

Updates

•2018-01-06 - mehr Quellen und Links zu weiteren Informationen 

Mitigation

Da es sich hier um einen Hardware-Bug handelt müssen die jeweiligen Betriebssysteme gepatcht werden, Updates sind umgehend einzuspielen.

Einschätzung der Bedrohungslage

Nachfolgend eine Einschätzung für die einzelnen Systeme auf einer Skala von 

• 0 - unkritisch

• 1 - Lücke nur durch lokalen Rootzugriff ausnutzbar

• 2 - Lücke nur durch lokalen User ausnutzbar

• 3 - Lücke Remote durch lokalen User ausnutzbar (Client)

• 4 - Lücke Remote User ausnutzbar (Server, Cloud)

• 5 - Lücke Remote unprivilegiert ausnutzbar (wie z.B. Heartbleed)

Desktops, Notebooks, Smartphones

• Bedrohungslevel: 3

• Betroffen: Windows, iPhone, Android, OSX, Linux

Per Default ist die Lücke nicht aus der Ferne ausnutzbar, kann aber auf Clients z.B. durch einen Browserbug oder bösartiges Javascript ausgenutzt werden. 

Besondere Vorsicht ist bei unbekannten Seiten geboten, im Zweifelsfall sollte Javascript deaktiviert werden.

Bare Metal Server

• Bedrohungslevel: 2

Bare-Metal-Server sind nur durch lokale User gefährdet, sofern diese in der Lage sind, eigene Programme zu installieren und Code auszuführen.

private Cloud

• Bedrohungslevel: 2

Private-Cloud-Server sind nur durch lokale User gefährdet, sofern diese in der Lage sind, eigene Programme zu installieren und Code auszuführen.

public Cloud, Shared Hosts

• Bedrohungslevel: 4

User von Shared Hosts oder Public Clouds sind extrem gefährdet, da andere Benutzer Speicherbereiche auslesen können. 

Dies gilt vornehmlich für Paravirtualisierung (XEN, Windows HA) und Container (Docker, Kubernetes, LXC).

Hier obliegt es den Providern und Anbietern, die Lücken zu patchen und Systeme neuzustarten. 

Patch - großen Einfluß auf die Performance

Patches der verschiedenen Hersteller können starken Einfluß auf die Performance haben. Aktuelle Linux-Patches zeigen eine bis zu 50% erhöhte CPU-Auslastung, die durch die notwendigen Kontext-Switches hervorgerufen wird, siehe auch: reddit: Datacenter Performance Questions

A Simple Explanation of the Differences Between Meltdown and Spectre by D.Miessler (8) 

Weiterführende Quellen und Informationen

Mehr hier:

Autor: Markus Manzke

Diesen Artikel empfehlen