Meltdown/Spectre - Schwachstellen in aktuellen Mikroprozessoren
(2018-01-05 14:49:14.208672+00)
Quelle:
https://googleprojectzero.blogspot.de/2018/01/reading-privileged-memory-with-side.html
Mehrere Schwachstellen im Design aktueller Prozessoren, die unter den Namen Spectre und Meltdown bekannt geworden sind, können durch Seitenkanalangriffe dazu ausgenutzt werden, die Mechanismen der Speicherverwaltung zur Isolation der Speicherbereiche für Prozesse untereinander zu unterlaufen. Dies kann potentiell dazu führen, dass ein Angreifer wervolle Daten, wie etwa Passwörter oder krypographische Schlüssel stehlen kann. Die Voraussetzungen zur effektiven Ausnutzung der Schwachstelle sind allerdings sehr hoch und es wurde bislang nur die prizipielle Ausnutzbarkeit der Schwachstellen demonstriert. Dennoch wird dringend empfohlen, Patches für Betriebssysteme sowie entsprechende BIOS-Updates zu installieren, sobald verfügbar.
Inhalt
- Auswirkung
- Beschreibung
- Ausnutzungsszenarien
- Einschätzung
- Workaround
- Gegenmaßnahmen
- Vulnerability ID
- Exploit Status
- Revisionen dieser Meldung
Auswirkung
- Abfluss potentiell wertvoller Daten
(information leak)
Beschreibung
In der Speicherverwaltung aktueller Prozessoren (CPUs) wurden Schwachstellen entdeckt und beschrieben, die mittels Seitenkanalangriffen dazu ausgenutzt werden können, die durch die CPU bereitgestellten Mechanismen zur Isolation der Speicherbereiche für Prozesse untereinander zu unterlaufen.
Die unter dem Namen Meltdown bekanntgewordene Schwachstelle ermöglicht unprivilegierten Applikationen, auf durch privilegierte Prozesse des Betriebssystems reservierte Speicherbereiche im Cache des Prozessors zuzugreifen. Die unter dem Namen Spectre veröffentlichten Schwachstellen ermöglichen beliebigen Applikationen auf Daten anderer Applikationen im Prozessor-Cache und den Registern zuzugreifen.
Auf verwundbaren Systemen ermöglicht dies den Diebstahl von potentiell wertvollen Daten, wie etwa Zugangsdaten (Passwörter) oder kryptographische Schlüssel. Der Angreifer muss dazu in der Lage sein, Programmcode auf einem solchen System auszuführen, während sich dort auch das Programm, dessen Daten er stehlen will, in Ausführung befindet.
Ausnutzungsszenarien
Die wichtigsten Szenarien, in denen die Schwachstellen einen praktischen Nutzen haben können sind:- Auf einem Rechnersystem, auf dem mehrere Benutzer aktiv sind, kann von einem der Benutzer Software eingesetzt werden, die die Schwachstellen ausnutzt, um Daten anderer Benutzer oder des Betriebssystems auszuspähen. Dies erfordert vom Angreifer jedoch entweder den Besitz gültiger Zugangsdaten oder er muss einen Benutzer dazu bringen, die entsprechende Software auf dem System laufen zu lassen.
- Virtualisierung stellt mehrere virtuelle Systeme auf derselben Hardware bereit. In einer solchen Umgebung kann Software auf virtuellen Systemen durch einen Angreifer eingesetzt werden, die die Schwachstellen nutzt, um Daten anderer virtueller Systeme oder des Host-Systems aus dem Porzessor-Cache des beherbergenden Rechnersystems zu stehlen. Da Cloud-Dienstleister i.A. stark von Virtualisierungstechnik abhängig sind, stellen sie bzw. deren Kunden ein attraktives Ziel dar.
- Programmcode aus unsicheren Quellen, der üblicherweise in sog. "Sandboxes" ausgeführt wird, wie z.B. aktive Inhalte in Webseiten (JavaScript und dergleichen), ist als gefährlich anzusehen, da die Sicherheitsmechanismen, die die Sandboxes zur Verfügung stellen, mit auf den Mechanismen basieren, die durch die Schwachstellen angreifbar werden. Aktive Inhalte, die auf sehr vielen Webseiten eingesetzt werden, können Code enthalten, der bei ihrer Ausführung die Schwachstelle ausnutzt und potentiell wertvolle Daten stiehlt.
Einschätzung
Die Ausnutzung der Schwachstellen ist aufwendig und abhängig von verschiedenen Faktoren, die den zielgerichteten Diebstahl bestimmter Daten schwierig machen. Um genau bestimmte Daten stehlen zu können, müssen diese sich im Moment der Ausnutzung im Prozessor-Cache befinden, was nur dann der Fall ist, wenn der besitzende Prozess darauf zugreift bzw. wenn die Cacheorganisation des entsprechenden Systems die Daten aufgrund der jeweils implementierten Organisationsstrategie im Cache hält. Der Angreifer muss also weitere Aktionen durchführen, die den Prozess, dessen Daten gestohlen werden sollen, sowie die Cacheorganisation dazu veranlassen, die gewünschten Daten im Cache vorzuhalten. Dies erscheint - zumindest derzeit - nur schwierig zu bewerkstelligen.
Im Augenblick ist nur Code bekannt, der die prinzipielle Ausnutzbarkeit der Schwachstellen demonstriert.
Die technische Bedrohung durch die Schwachstellen ist ohne Zweifel hoch. Die sehr hohen Voraussetzungen, die für einen zielgerichteten, erfolgreichen Angriff zu erfüllen sind, relativieren die Bedrohung jedoch stark, wenngleich nicht ausgeschlossen werden kann, dass in Zukunft ein effektives Angriffsszenario entwickelt wird. Daher wird die Installation von Patches, sobald diese verfügbar sind, sowie die Anwendung von Maßnahmen zur Kontrolle der Ausführung von Programmcode aus unsicheren Quellen dringend empfohlen.
Workaround
Vermeidung der Ausführung von Code aus unsicheren Quellen:- Vermeiden Sie, Programme aus unsicheren Quellen zu nutzen. Installieren Sie keine Programme oder Apps ohne vertrauenswürdige Signatur.
- Kontrollieren Sie die Ausführung aktiver Inhalte im Browser, z.B. durch entsprechende Add-Ons wie etwa NoScript. Achtung, dies schränkt den Komfort beim Browsen ein!
- Vermeiden Sie das Cachen von wichtigen Zugangsdaten oder kryptographischen Schlüsseln oder anderer wertvoller Daten.
- Vorsicht bei der Nutzung von virtuellen Systemen, insbesondere bei der Cloud-Nutzung: Minimieren Sie auch hier die Zugriffe und das Caching.
Gegenmaßnahmen
Patches zur Behebung für viele Betriebssysteme sowie BIOS-Updates für betroffene Hardware wurden bereits veröffentlicht. Es wird dringend empfohlen, Patches und Updates umgehend zu installieren. Eine Übersicht über die verfügbaren Abhilfen findet sich unter:Vulnerability ID
Exploit Status
- Die prinzipielle Ausnutzung der Schwachstellen wurde demonstriert. (proof of concept)
Revisionen dieser Meldung
- V 1.0 (2018-01-05): Veröffentlichung
- V 1.1 (2018-01-17): Überarbeitung und Aktualisierung
Hinweis
Die in diesem Text enthaltene Information wurde für die Mitglieder der Universität Stuttgart recherchiert und zusammengestellt. Die Universität Stuttgart übernimmt keinerlei Haftung für die Inhalte. Dieser Artikel darf ausschließlich in unveränderter Form und nur zusammen mit diesem Hinweis sowie dem folgenden Copyrightverweis veröffentlicht werden. Eine Veröffentlichung unter diesen Bedingungen an anderer Stelle ist ausdrücklich gestattet.
Copyright © 2022 RUS-CERT, Universität Stuttgart, https://cert.uni-stuttgart.de/
https://cert.uni-stuttgart.de/ticker/article.php?mid=1749