Prozessoren: Meltdown und Spectre sorgen für den Super-GAU

Hier werden aktuelle Meldungen diskutiert
[this is the place to discus news topics]
Antworten
Benutzeravatar
doelf
Moderator
Moderator
Beiträge: 33792
Registriert: 12 Feb 2004, 23:29
Wohnort: Alsdorf
Kontaktdaten:

Prozessoren: Meltdown und Spectre sorgen für den Super-GAU

Beitrag von doelf » 04 Jan 2018, 12:09

Es klang sehr schlimm, doch die Realität präsentiert sich noch sehr viel schlimmer: Es gibt nicht nur einen kritischen Design-Fehler, der die Sicherheit von Intel-CPUs aushebelt, sondern gleich eine ganze Reihe kritischer Schwachstellen, die in der Summe praktisch alle nach 1995 auf den Markt gebrachten Prozessoren betreffen. Und zwar nicht nur PCs und Server mit x86-Chips von Intel und AMD, sondern auch Smartphones, Tablets und IoT-Geräte auf ARM-Basis.

Angriffspunkt "Speculative Execution"
In allen Fällen geht es um Seitenkanal-Angriffe auf eine CPU-Technik namens Spekulative Ausführung (Speculative Execution). Im Rahmen der Spekulativen Ausführung werden freie CPU-Ressourcen genutzt, um wahrscheinliche Folgeaufgaben im Voraus zu berechnen und die Ergebnisse auf Verdacht zu bevorraten. Dieser Blick in die Zukunft funktioniert recht zuverlässig und sorgt durch eine bessere Auslastung für deutliche Leistungsgewinne pro Taktzyklus. Ein leicht höherer Energieverbrauch aufgrund von Fehleinschätzungen wird dabei in Kauf genommen. Die Spekulative Ausführung gehört dabei zu mehreren Techniken, welche die Reihenfolge der Befehle, welche im Programmcode stehen, automatisch umsortiert und dabei optimiert. Man spricht bei solchen CPUs von Out-of-Order-Architekturen.

Nicht betroffen: In-Order-Architekturen
Intel hatte zuletzt bei den ersten beiden Atom-Architekturen Bonnell (2008) und Saltwell (2011) auf ein In-Order-Design gesetzt, da diese Chips nicht auf Leistung, sondern auf eine möglichst niedrigen Stromverbrauch optimiert waren. Im Desktop-Bereich markiert die erste Pentium-Generation (1993 bis 1999) Intels letzte In-Order-Architektur. AMD wechselte schon 1996 mit dem K5 auf ein Out-of-Order-Design. Zur In-Order-Gattung gehören indes VIAs C3 und C7 sowie der IDT WinChip.

Die Sicherheitslücken: Spectre (AMD, ARM und Intel)
Unter dem Namen "Spectre" (CVE-2017-5753, CVE-2017-5715) werden mehrere Schwachstellen im Bereich der Spekulativen Ausführung zusammengefasst, die eine Gruppe um Paul Kocher und Googles Project Zero unabhängig voneinander erforscht haben. Spectre betrifft nach bisherigem Wissensstand alle modernen Prozessoren von AMD, ARM und Intel, die Angriffe konzentrieren sich auf die Sprungvorhersage (Branch Prediction) der CPUs. Zunächst wird die Sprungvorhersage von einem bösartigen Programm auf ein verlässliches Verhalten trainiert. Dann wird die Zeit für Cache-Zugriffe gestoppt, wobei sich zuverlässig feststellen lässt, ob es einen Treffer gab oder die Daten nicht im Cache liegen. Mit Hilfe rücksprungorientierter Programmierung (Return Oriented Programming) wird dann ein Zugriff auf die eigentlich unzugänglichen Daten ausgelöst. Und da diese Daten nur rein spekulativ und nicht gezielt berechnet wurden, erkennt der Prozessor auch keine Zugriffsverletzung.

Project Zero hat die technische Machbarkeit für CVE-2017-5753 anhand unterschiedlicher CPUs (Intel Xeon Haswell, AMD FX, AMD PRO, ARM Cortex A57) nachgewiesen. Das Abgreifen von Kernel-Speicher gelang mit dem Intel Xeon Haswell, wobei ein 32-Bit-Wert genutzt wurde, der den adressierbaren Speicherbereich auf 4 GiB beschränkte. Für den AMD PRO fand sich kein angreifbares Code-Muster, so dass die Forscher dieses zunächst über die JIT-Engine (Just-in-Time Compilation) erzeugen mussten. Hierzu muss unter Linux die eBPF JIT-Engine (Just-in-Time Compilation) zunächst aktiviert werden, was einem normalen Benutzer allerdings möglich ist. Für die Praxis bedeutet dies, dass Spectre die Abschirmung zwischen den Prozessen durchbricht, so dass ein bösartiges Programm auf den Anwendungsspeicher eines fremden Prozesses zugreifen kann. Zumindest in der Theorie lassen sich solche Angriffe auch über JavaScript-Code im Webbrowser ausführen, doch bisher gibt es hierfür noch kein funktionierendes Beispiel.

Was indes funktioniert, ist das Abgreifen von Kernel-Speicher. Besonders riskant ist dabei der Umstand, dass Gastsysteme auf virtuellen Maschinen Daten vom Hypervisor abgreifen können. Ein von Project Zero entwickelter Angriffscode liest den Kernel-Speicher des Host-Systems, in dem wieder der Intel Xeon Haswell steckte, mit einer Rate von 1.500 Bytes pro Sekunde, wobei die Vorbereitung des Angriffs auf einer Maschine mit 64 GiB Arbeitsspeicher zwischen 10 und 30 Minuten in Anspruch nimmt. Mehr Arbeitsspeicher bedeutet in diesem Zusammenhang auch eine längere Vorlaufzeit. Insgesamt stellt Spectre derzeit ein unkalkulierbares Risiko für Cloud-Anbieter dar, denn wirklich beheben lassen sich diese Schwachstellen nur durch ein Redesign der aktuellen CPU-Architekturen. Laut AMD lässt sich ein Angriffsvektor (CVE-2017-5753) durch Betriebssystem-Patches beseitigen, eine vollständige Lösung des Problems ist aber noch nicht in Sicht.

Die Sicherheitslücken: Meltdown (nur Intel)
"Meltdown" wurde unabhängig von Googles Project Zero, Cyberus Technology und Forschern der TU Graz entdeckt. Während "Spectre" einen universellen Angriff auf fast alle Prozessoren darstellt, handelt es sich bei "Meltdown" (CVE-2017-5754) um einen Sonderfall, der sich auf CPUs von Intel beschränkt. Andererseits erfordert "Spectre" umfassendes Wissen über die Vorgänge im Inneren der Ziel-CPU, wohingegen "Meltdown" aufgrund einer Rechteausweitung einen wesentlich bequemeren Angriffsvektor über den L1-Cache eröffnet. Durch ein Fehlverhalten im Rahmen der Spekulativen Ausführung lässt sich hier von einem bösartigen Programm im Anwendungsspeicher der gesamte Arbeitsspeicher, also auch der geschützte Kernel-Speicher, auslesen. Und dank Intels marktbeherrschender Stellung ist ein Großteil der modernen PCs und Server betroffen.

Ab dem Linux-Kernel 4.14.11 bzw. 4.15 unterbindet die "Kernel Page-Table Isolation" (KPTI) den Meltdown-Angriff, was allerdings auf Kosten der Leistung geht. Die Leistungseinbußen bewegen sich laut Phoronix - abhängig vom Prozessor und der Anwendung - zwischen 5 und 30 Prozent. Ab der Haswell-Generation (Core ix 4xxx) lindert INVPCID (Invalidate Process-Context Identifier) die negativen Auswirkungen, da der "Translation Lookaside Buffer" (TLB) nicht immer wieder geleert werden muss. Für Sandybridge (Core ix 2xxx) und Ivy Bridge (Core ix 3xxx) besteht zumindest Hoffnung, dass eine vergleichbare Lösung auf Basis der "Process Context Identifiers" (PCID) nachgereicht wird. macOS wurde in der Version 10.13.2 zumindest teilweise gehärtet und auch Microsoft hat seit heute frische Patches für Windows 10, Windows 8.1 und Windows 7 im Angebot.

UPDATE: Es gibt unter Windows offenbar erhebliche Probleme mit einigen Antivirenprogrammen sowie älteren CPUs!

Weiterführende Informationen:
. Tails . Linux . USB . CD . Secure Desktop . IRC . Truecrypt . Tor .

Benutzeravatar
doelf
Moderator
Moderator
Beiträge: 33792
Registriert: 12 Feb 2004, 23:29
Wohnort: Alsdorf
Kontaktdaten:

Re: Prozessoren: Meltdown und Spectre sorgen für den Super-GAU

Beitrag von doelf » 04 Jan 2018, 14:15

Habe mal mit einem Core i7-870 unter Windows 10 getestet und die CPU-Leistung fällt nach Aufspielen des Patches in typischen Benchmarks um durchschnittlich ein Prozent. Wenn man mit Datenbanken rumspielt, wird es aber durchaus zweistellig. Der Core i7-870 kann kein PCID, hier muss der komplette TLB gelöscht werden.
. Tails . Linux . USB . CD . Secure Desktop . IRC . Truecrypt . Tor .

Benutzeravatar
Loner
Moderator
Moderator
Beiträge: 5162
Registriert: 17 Feb 2004, 14:48

Re: Prozessoren: Meltdown und Spectre sorgen für den Super-GAU

Beitrag von Loner » 04 Jan 2018, 15:27

Bin gespannt wie das ausgeht.
sapere aude!

Benutzeravatar
doelf
Moderator
Moderator
Beiträge: 33792
Registriert: 12 Feb 2004, 23:29
Wohnort: Alsdorf
Kontaktdaten:

Re: Prozessoren: Meltdown und Spectre sorgen für den Super-GAU

Beitrag von doelf » 04 Jan 2018, 16:54

So, habe noch ein paar Details ergänzt.

Wenn ich ein Bösewicht wäre, würde ich mich auf Intels CPUs konzentrieren, denn AMDs Prozessoren sind zum jetzigen Zeitpunkt viel schwerer anzugreifen und viel seltener anzutreffen. Google hatte die Betroffenen schon im Juni 2017 informiert, seither läuft die Rettungsaktion. Eine schöne Beschwerung :-(
. Tails . Linux . USB . CD . Secure Desktop . IRC . Truecrypt . Tor .

Benutzeravatar
Mausolos
Special-Forces
Special-Forces
Beiträge: 939
Registriert: 09 Mär 2015, 20:50
Wohnort: Vierländerregion

Re: Prozessoren: Meltdown und Spectre sorgen für den Super-GAU

Beitrag von Mausolos » 05 Jan 2018, 12:39

doelf hat geschrieben:
04 Jan 2018, 16:54
Wenn ich ein Bösewicht wäre, würde ich mich auf Intels CPUs konzentrieren, denn AMDs Prozessoren sind zum jetzigen Zeitpunkt viel schwerer anzugreifen und viel seltener anzutreffen.
Für den Linux LTS Kernel 4.4 liegt auch schon das nächste Paket der Sicherheitsupdates für CVE-2017-5753, CVE-2017-5715 und CVE-2017-5754 nebst Microcode und Kernel-Firmware auf den entsprechenden Servern der Distributionen bereit.
Linux :)

Benutzeravatar
doelf
Moderator
Moderator
Beiträge: 33792
Registriert: 12 Feb 2004, 23:29
Wohnort: Alsdorf
Kontaktdaten:

Re: Prozessoren: Meltdown und Spectre sorgen für den Super-GAU

Beitrag von doelf » 08 Jan 2018, 11:26

. Tails . Linux . USB . CD . Secure Desktop . IRC . Truecrypt . Tor .

Antworten