Meltdown und Spectre

vPierre DevOps, DevSecOps, Nachrichten / News, Sicherheit / Security, Windows Leave a Comment

Meltdown und Spectre sind durch Hardware-Design bedingte Sicherheitslücken in allen modernen CPUs basierend auf Speculative Execution.

Hintergrundinformationen:

Der Fehler liegt in der Hardware, aber Risikobegrenzung in Betriebssystemen ist möglich und wird jetzt ausgeliefert. Ich sammle Hinweise zum Patch-Status in verschiedenen Software-Produkten. Das wird sich rasch ändern und kann Fehler enthalten. Wenn Sie bessere Informationen haben, senden Sie bitte eine Information.

PoCs

Linux upstream kernel

Kernel Page Table Isolation ist eine Risikobegrenzung im Linux Kernel mit ursprünglichem Namen KAISER.

minipli patches

  • Minipli ist eine inoffizielle Abzweigung der früheren Grsecurity-Patches (das ursprüngliche Grsecurity ist nicht mehr öffentlich verfügbar). Minipli basiert auf dem Langzeit-Kernel 4.9, der ab 4.9.75 KPTI unterstützt, obwohl das Patchset noch nicht portiert ist.

Android

Windows

 

Update – Di 9.Jan 09:00 UTC

Microsoft hat Berichte von einigen Kunden mit AMD-Geräten, die nach Installation dieses KB in einen nicht bootfähigen Zustand kommen. Um dieses Problem zu vermeiden, wird Microsoft derzeit vorübergehend die Windows-Betriebssystem-Updates für Geräte mit betroffenen AMD-Prozessoren (ältere CPUs wie z.B. Athlon und Sempron) pausieren. Microsoft arbeitet zusammen mit AMD an der Lösung des Problems und der Fortsetzung der Windows-Sicherheitsupdates für die betroffenen AMD-Geräte über Windows Update und WSUS sobald wie möglich. Falls bei Ihnen ein nicht bootfähiger Zustand aufgetreten ist, finden Sie weitere Informationen unter KB4073707. Für AMD-spezifische Informationen wenden Sie sich an AMD.

Apple

Apple hat bereits Abhilfe für iOS 11.2, macOS 10.13.2 und tvOS 11.2 veröffentlicht, um bei der Abwehr gegen Meltdown zu helfen.

Update Mo 8. Jan 18:00 UTC

Apple hat Sicherheitsverbesserungen für Safari und WebKit veröffentlicht, um die Auswirkungen von Spectre (CVE-2017-5753 and CVE-2017-5715) zu mildern:

Update – So 7. Jan 2018, 9:00 UTC

Basierend auf der hier geposteten Antwort von Apple, ist Meltdown (CVE-2017-5754) derzeit nur in iOS 11.2, macOS 10.13.2 und tvOS 11.2 adressiert. Apple kann derzeit nicht sagen, ob es Updates für Betriebssystem-Versionen vor den in ihrem Artikel genannten geben wird. Dasselbe kann zu Spectre (CVE-2017-5753 und CVE-2017-5715) gesagt werden sowie für alle Updates für Safari. Das bedeutet, dass es zur jetzigen Zeit KEINE Patches für 10.11.x (El Capitan) oder 10.12.x (Sierra) gibt.

Linux distributions

FreeBSD

Virtualization

Browsers

 

Update Mo 8. Jan 2018, 13:00 UTC

Tencents Xuanwu Lab hat wein webbasiertes Tool veröffentlicht, das ermitteln kann, ob ihr Browser für einen Spectre-Angriff anfällig ist und leicht ausgenutzt werden kann. Der offizielle Tweet: https://twitter.com/XuanwuLab/status/950345917013504001

Cloud Providers

Chip Manufacturers / HW Vendors

CERTs

CPU microcode

Das neueste Intel Mikrocode Update ist 20171117. Es ist unklar, ob Mikrocode-Updates notwendig sind und welche Versionen diese enthalten. Das Mikrocode-Update enthält keinen Änderungsverlauf.
Falls es notwendig wird, Intel (oder AMD) Mikrocode unter Windows vor der Veröffentlichung der offiziellen Betriebssystem-Patches zu aktualisieren, kann dieser Versuch von VMware Labs – obwohl formal experimentell – zumindest vorübergehend den Zweck erfüllen.

Update – Do 4. Jan 2018, 15:30 UTC

Es scheint so, dass das mit dem letzten Red Hat microcode_ctl-Update bereitgestellte neue Intel Mikrocode-Archiv (2017-12-15) drei neue Dateien enthält: 06-3f-02, 06-4f-01, 06-55-04.

Basierend darauf, was wir wissen:

  1. fügt es eine neue CPUID und zwei MSR für die Variante von Spectre hinzu, die indirekte Sprünge nutzt
  2. zwingt es LFENCE, die Ausführung aller vorherigen Anweisungen zu beenden, und hat somit den gewünschten Effekt für die Varianten von Spectre, die bedingte Sprünge nutzt (out-of-bounds-bypass)

Jene IDs gehören zur folgenden Prozessor-Mikroarchitektur: Haswell, Broadwell, Skylake (offizielle Referenz)

Update – Do 4. Jan 2018, 16:30 UTC

Bezüglich dem AMD Mikrocode-Update: es scheint nur für EPYC zu sein (vielleicht Ryzen, aber ungewiss!) und es fügt nur eine der beiden MSRs hinzu (IA32_PRED_CMD). Es verwendet ein anderes Bit als Intel in der CPUID. Es ist auch für Spectre mit indirekten Sprünge. Vorherige Mikroprozessoren lösten das mit einem Chicken-Bit auf. Beachten Sie bitte, dass dieselbe auf Kernel-Ebene implementierte Lösung sowohl für Intel als auch AMD funktioniert.

Update – Fr 5. Jan 2018, 03:35 UTC

Paketbetreuer vom Debian Project veröffentlichten eine aktualisierte Version des „Intel-Mikrocode“ Pakets (Version 2017-12-15) nur für die (instabile) Sid-Version. Nach Prüfung scheint diese dieselben Ergänzungen im Mikrocode zu enthalten, wie sie im Red Hat microcode_ctl-Update vom Do 4. Jan 2018, 15:30 UTC zu sehen sind. Das Paket ist kompatibel zu allen Debian-basierten Distributionen, die Mikrocode-Updates nach dem Booten unterstützen.

Antiviruses

Einige Antivirenprogramme machen Dinge, die bei der Installation des Windows-Patches nicht mehr funktionieren. Daher installiert Microsoft die Patches auf solchen Systemen nicht automatisch.

Übersicht Antivirus Anbieter

RDBMS

NOSQL

Embedded Devices

Compiler

Measuring the performance impact of Meltdown/Spectre

Measuring the performance impact of Meltdown/Spectre with Prometheus

https://www.epicgames.com/fortnite/forums/news/announcements/132642-epic-services-stability-update

https://www.theverge.com/2018/1/9/16868290/microsoft-meltdown-spectre-firmware-updates-pc-slowdown

Windows Vulnerability CPU Meltdown Patch Benchmarked – Introduction

Red Hat Speculative Execution Exploit Performance Impacts – Describing the performance impacts to security patches for CVE-2017-5754 CVE-2017-5753 and CVE-2017-5715

Fragen und Antworten

Bin ich von der Sicherheitslücke betroffen?

Ganz bestimmt, ja.

Kann ich feststellen, ob jemand Meltdown oder Spectre gegen mich ausgenutzt hat?

Wahrscheinlich nicht. Die Ausnutzung hinterlässt keinerlei Spuren in herkömmlichen Log-Dateien.

Kann mein Antivirusprogramm diesen Angriff erkennen oder blockieren?

Während das theoretisch möglich ist, ist es praktisch unwahrscheinlich. Im Gegensatz zu üblicher Malware sind Meltdown und Spectre nur schwer von regulären gutartigen Anwendungen zu unterscheiden. Ihr Antivirusprogramm kann jedoch Malware erkennen, welche die Angriffe ausnutzt, durch Vergleich von Binärcode nach dem Bekanntwerden.

Was kann durchgesickert sein?

Falls Ihr System betroffen ist, kann unser Proof-of-concept-Exploit den Speicherinhalt Ihres Computers auslesen. Das kann Kennwörter und auf dem System gespeicherte sensible Daten enthalten.

Sind Meltdown oder Spectre in freier Wildbahn missbraucht worden?

Wir wissen es nicht.

Gibt es einen Workaround, eine Behebung?

Es gibt Patche gegen Meltdown für Linux ( KPTI (ehemals KAISER)), Windows und OS X. Es wird auch an der Abhärtung der Software gegenüber zukünftigen Exploits durch Spectre gearbeitet, ebenso am Patchen von Software nach Exploits durch Spectre ( LLVM patchARM speculation barrier header).

Welche Systeme sind von Meltdown betroffen?

Desktop, Laptop und Cloud-Computer können von Meltdown betroffen sein. Mehr technisch gesehen kann jeder Intel-Prozessor, der Ausführung in anderer Reihenfolge (out-of-order) implementiert, betroffen sein, was praktisch jeden Prozessor seit 1995 bedeutet (außer Intel Itanium und Intel Atom vor 2013). Wir haben Meltdown auf Intel-Prozessor-Generationen bis zurück zum Jahr 2011 erfolgreich getestet. Derzeit haben wir Meltdown nur auf Intel-Prozessoren bestätigt. Im Augenblick ist es unklar, ob AMD-Prozessoren ebenfalls von Meltdown betroffen sind. Gemäß ARM sind einige ihrer Prozessoren ebenfalls betroffen.

Welche Systene sind von Spectre betroffen?

Fast jedes System ist von Spectre betroffen: Desktops, Laptops und Cloud-Server ebenso wie Smartphones. Genauer gesagt, alle modernen Prozessoren, die viele Anweisungen am Laufen halten können, sind potenziell gefährdet. Insbesondere haben wir Spectre auf Intel-, AMD- und ARM-Prozessoren bestätigt.

Welche Cloud-Provider sind von Meltdown betroffen?

Cloud-Provider, die Intel-CPUs und Xen PV als Virtualisierung nutzen und Patches nicht eingespielt haben. Weiterhin sind Cloud-Provider ohne echte Hardware-Virtualisierung betroffen, die auf Container vertrauen, die einen Kernel gemeinsam nutzen, wie Docker, LXC oder OpenVZ.

Was ist der Unterschied zwischen Meltdown und Spectre?

Meltdown unterbricht den Mechanismus, der Anwendungen daran hindert, auf frei wählbaren Systemspeicher zuzugreifen. Demzufolge können Anwendungen auf Systemspeicher zugreifen. Spectre überlistet andere Anwendungen bei Zugriff auf frei wählbare Bereiche in deren Speicher. Beide Angriffe nutzen Seitenwege, um die Informationen vom zugegriffenen Speicherbereich zu erhalten. Für eine technisch tiefergehende Erörterung verweisen wir auf die Artikel ( Meltdown und Spectre)

Warum heißt es Meltdown?

Die Sicherheitslücke schmilzt im Grunde Sicherheitsgrenzen, die normalerweise von der Hardware erzwungen werden.

Warum heißt es Spectre?

Der Name basiert auf der Grundursache Speculative Execution. Da dies Problem nicht einfach zu beheben ist, wird es uns eine ganze Weile verfolgen.

Gibt es weitere technische Informationen über Meltdown und Spectre?

Ja, es gibt eine wissenschaftliche Arbeit und einen Blog-Artikel über Meltdown sowie eine wissenschaftliche Arbeit über Spectre. Weiterhin gibt es einen Google Project Zero Blogeintrag zu beiden Angriffen.

Was sind CVE-2017-5753 und CVE-2017-5715?

CVE-2017-5753 und CVE-2017-5715 sind die offiziellen Referenzen für Spectre. CVE ist der Standard für Namen von Informations-Sicherheitslücken, der von MITRE betreut wird.

Was ist die CVE-2017-5754?

CVE-2017-5754 ist die offizielle Referenz für Meltdown. CVE ist der Standard für Namen von Informations-Sicherheitslücken, der von MITRE betreut wird.

Kann ich Meltdown in Aktion sehen?

Kann ich das Logo verwenden?

Beide Logos für Meltdown und Spectre sind frei verwendbar, auf die Rechte wurde via CC0 verzichtet. Die Logos sind gestaltet von Natascha Eibl.

Logo Logo mit Text Code Illustration
Meltdown  PNG   /    SVG  PNG   /    SVG  PNG   /    SVG
Spectre  PNG   /    SVG  PNG   /    SVG  PNG   /    SVG

 

Gibt es einen Proof-of-Concept-Code?

Ja, es gibt ein GitHub Repository mit Test-Code für Meltdown.

Quelle: spectreattack.com

Links in der Presse

Dieser Artikel leistet viel zur Erklärung der Details darüber, was nötig ist.

Analyse zur Prozessorlücke: Meltdown und Spectre sind ein Security-Supergau

Erkennen von Spectre und Meltdown mittels Hardware-Leistungsindikatoren

https://en.wikipedia.org/wiki/Meltdown_(Sicherheitslücke)

https://en.wikipedia.org/wiki/Spectre_( Sicherheitslücke)

Meltdown & Spectre: Details und Bench­marks zu den Sicherheits­lücken in CPUs

Schreibe einen Kommentar

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