Nach Spectre und Meltdown kommt der neue Seitenkanalangriff ZombieLoad, der die Abschottung der Speicherbereiche gleichzeitig laufender Prozesse überwindet. ZombieLoad-Malware kann Daten anderer Prozesse auslesen, selbst wenn diese in einer anderen virtuellen Maschinen laufen. Vorbedingung ist allerdings, dass sowohl Malware als auch Angriffsziel auf demselben Prozessorkern laufen.

Während die jüngsten Intel-Prozessoren vor ZombieLoad bereits geschützt sind, verteilt Intel für ältere Core-i- und Xeon-Typen wieder neue Microcode-Updates. Auch Betriebssysteme und Hypervisoren brauchen Patches.

[Update:] Links zu Updates für Windows und Linux sowie zu Hintergrundinformationen finden Sie auf ct.de.

Intel nennt den ZombieLoad-Angriffe "Microarchitectural Data Sampling" (MDS): Ein Angreifer kann nicht genau steuern, welche Daten er belauschen möchte. Um sensible Daten zu erhaschen, muss der Angriff lange laufen und so viele Daten fremder Prozesse sammeln wie möglich. Oder der Angreifer muss zusätzliche Tricks anwenden, um den Opferprozess im richtigen Moment laufen zu lassen.

Vor allem bei aktivem Hyper-Threading (HT) klappt ZombieLoad laut seinen Entdeckern dann aber eindrucksvoll: In einem kurzen Video demonstriert die Firma Cyberus Technology einen Exploit, der unter dem besonders sicher konfigurierten Linux Tails den Tor-Browser belauscht, der in einer qemu-Maschine läuft.

Bei Problemen mit der Wiedergabe des Videos aktivieren Sie bitte JavaScript

Cyberus Technology demonstriert einen ZombieLoad-Exploit (Quelle: Cyberus Technology)

Zu dem Team, das ZombieLoad gefunden hat, gehören einige der Spectre-Entdecker von der TU Graz (M. Schwarz/D. Gruss/M. Lipp), von Cyberus Technology (T. Prescher/J. Stecklina) sowie von der KU Leuven (Jo van Bulck) und vom Worcester Polytechnic Institute (D. Moghimi).

Intel hatte das Problem und drei weitere MDS-Lücken aber nach eigenen Angaben schon bei internen Untersuchungen entdeckt und meldet ZombieLoad nun wie andere Sicherheitslücken auch am zweiten Dienstag eines Monats – dem Microsoft-Patchday.

Betroffene Prozessoren

Die ZombieLoad-Attacke (CVE-2018-12130) trifft fast alle Core-i- und Xeon-Prozessoren seit etwa 2011 außer den jüngsten Versionen: Core i-8000U (Whiskey Lake-U) für Notebooks, Core i-9000 (Coffee Lake Refresh) ab Stepping 13 (R0) für Desktop-PCs und Xeon-SP der zweiten Generation (Cascade Lake). Die Unterscheidung ist aber schwierig, denn den Core i9-9900K gibt es beispielsweise im älteren Stepping 12 (Intel64 Family 6 Model 158 Stepping 12) und auch im jüngeren Stepping 13 (Intel64 Family 6 Model 158 Stepping 13). Das lässt sich mit Software wie CPU-Z unterscheiden. Intel richtet eine Webseite ein, die betroffene Prozessoren genauer beschreibt.

[Update:] AMD betont, dass die eigenen Prozessoren nicht von MDS betroffen sind.

Intel-Prozessoren speichern Daten kurzzeitig in Line Fill Buffers, wie diese Darstellung der Sandy-Bridge-Pipeline zeigt. (Bild: Intel) Seitenkanal-Angriff

ZombieLoad nutzt ähnlich wie Spectre einen Seitenkanal in der Mikroarchitektur von Intel-Prozessoren, um vermeintlich geschützte Daten zu lesen. Dabei geht es um Daten, die ein laufender Prozess im Zuge einer spekulativen Ausführung lädt, aber letztlich verwirft, weil ein Fehler ausgelöst wird, etwa eine sogenannte Exception.

Bevor die spekulativ geladenen Daten aber tatsächlich wieder verschwunden sind, sind sie über Seitenkanäle lesbar, auch von einem anderen Prozess, der auf demselben CPU-Kern läuft. Besonders gut klappt das mit Hyper-Threading, weil sich dann Opfer- und Aggressorprozess mehr Ressourcen teilen – insbesondere die sogenannten "Fill Buffers" im Cache-System.

Ein Aggressorprozess ohne privilegierte Zugriffsrechte kann via ZombieLoad auch an besonders geschützte Daten des Kernels gelangen, an Daten aus SGX-Enklaven sowie an Daten, die in einer anderen virtuellen Maschine (VM) laufen. Der Aggressorprozess kann per ZombieLoad aber Daten nur lesen – also nicht etwa überschreiben, also nicht verändern – und auch nicht bestimmen, welche RAM-Adressen er lesen möchte. Er muss folglich genau im richtigen Moment zuschlagen, wenn der Opferprozess gerade sensible Daten verarbeitet, oder sehr lange "mithören".

Risiko "gering" bis "mittel"

Die vier verschiedenen Einträge im Verzeichnis der Common Vulnerabilities and Exposures (CVEs) für ZombieLoad sind mit "gering" (3,8) bis "mittel" (6,5) eingestuft.

Ein besonderes Risiko für ZombieLoad-Angriffe besteht bei Cloud-Servern, bei denen externe Kunden beliebige virtuelle Maschinen (VMs) mit Malware starten können. Sofern es für die Server keine Patches gibt, kann man als Schutzmaßnahme Hyper-Threading abschalten.

Das Risiko von ZombieLoad-Angriffen auf typische Windows-PCs dürfte recht gering sein, unter anderem weil es dort oft leichter nutzbare Sicherheitslücken gibt.

Intel stellt weitere Hinweise auf der "Security Center"-Webseite bereit (Intel-SA-00233) und auch die Entdecker haben eine Webseite zur ZombieLoad-Attacke eingerichtet. Cyberus Technology erklärt weitere Details von ZombieLoad im Blog.

[Update:] Die Experten der TU Graz haben noch Papers zu weiteren Sicherheitslücken veröffentlicht: Die Seite cpu.fail verweist außer auf ZombieLoad auch auf Store-to-Leak-Forwarding sowie die MDS-Attacken RIDL und Fallout. Die Sicherheitsforscher hatten im vergangenen November bemängelt, dass CPU-Hersteller nicht systematisch genug nach weiteren Schwachstellen ihrer Prozessoren suchen.

Die Firma Bitdefender hat zudem die Schwachstelle "Yet Another Meltdown" (YAM) gefunden. Sie soll vor allem für die Server von Cloud-Anbietern problematisch sein. YAM steckt laut Bitdefender in älteren Intel-Prozessoren der Generationen Ivy Bridge, Haswell, Skylake und Kaby Lake. Auch gegen YAM sollen Microcode-Updates sowie Patches für Hypervisors kommen. [Update:] Laut Bitdefender-Labs-Blog ist YAM eine Spielart von MFBDS, also CVE-2018-12130.

Sicherheitslücken durch Microarchitectural Data Sampling (MDS) in Intel-Prozessoren Microarchitectural Store Buffer Data Sampling (MSBDS) CVE-2018-12126 Microarchitectural Fill Buffer Data Sampling (MFBDS), ZombieLoad CVE-2018-12130 Microarchitectural Load Port Data Sampling (MLPDS) CVE-2018-12127 Microarchitectural Data Sampling Uncacheable Memory (MDSUM) CVE-2019-11091

Lesen Sie zum Thema Prozessorlücken auch:

Bei Problemen mit der Wiedergabe des Videos aktivieren Sie bitte JavaScript

(ciw)