Leistungseinbussen und Ausfälle 25.04.2018, 15:44 Uhr

Das sind die Folgen von Meltdown und Spectre

Cloud- und Rechenzentrums-Provider müssen auf die Bedrohung reagieren – doch wie? Die bereitgestellten Patches haben teilweise zu erheblichen Problemen geführt.
(Quelle: Jaiz Anuar / shutterstock.com)
Aus Sicht der IT-Sicherheit fing das Jahr 2018 gar nicht gut an. Die Hardware-Schwachstellen Meltdown und Spectre, die in den meisten aktuellen Prozessoren vorhanden seien, so die Meldungen, ermöglichten es Angreifern, Daten anderer Prozesse oder Nutzer aus dem Speicher auszulesen, für die sie eigentlich keine Zugriffsberechtigungen haben. «In Rechenzentren, speziell in Mehrbenutzer- oder virtualisierten Umgebungen, kann ein Angreifer so auf sensible Daten wie Kennwörter oder geheime Schlüssel zugreifen», erklärt Charles Kionga, Principal Consultant, Bereichsleitung IT-Security Competence Center Bechtle Internet Security & Services.
Charles Kionga
“„Kunden müssen nach wie vor Hersteller-Patches bei ihren virtuellen Maschinen aufspielen, um Angriffe innerhalb der VM wirksam zu unterbinden.“ „
Charles Kionga
Principal Consultant, Bereichsleitung IT-Security Competence Center BISS beim Bechtle
IT-Systemhaus Neckarsulm
Genau genommen sind Meltdown und Spectre allerdings keine Schwachstellen oder Sicherheitslücken, sondern Angriffsszenarien, die von der Google-Gruppe Project Zero, dem Unternehmen Cyberus Technology und der Universität Graz entdeckt und beschrieben wurden. Spectre ist zudem ein Sammelbegriff für zwei unterschiedlich funktionierende Methoden, die auch als Spectre 1 und Spectre 2 bezeichnet werden. Die Schwachstellen selbst werden unter den CVE-Nummern (Common Vulnerabilities and Exposures) CVE-2017-5715 (Branch Target Injection), -5753 (Bounds Check Bypass) und -5754 (Rogue Data Cache Load) gelistet.

Schwachstellen-Analyse

Moderne Prozessoren verwenden eine Reihe von Mechanismen, um die Ausführung von Programmen zu beschleunigen, darunter die sogenannte Out-of-Order Execution. Dabei werden Instruktionen in einer anderen als der im Programmcode vorgesehenen Reihenfolge abgearbeitet, wenn sich dadurch die Rechenkapazität besser nutzen lässt. Ausserdem versuchen aktuelle CPUs, dem Nutzer immer einen Schritt voraus zu sein, um so schneller Ergebnisse zu liefern. Dafür laden sie auf Basis des Nutzerverhaltens spekulativ Daten in den Cache, die der Anwender noch gar nicht angefordert hat, Speculative Execution genannt.
Diese Mechanismen werden von den Angriffszenarien ausgenutzt. Bei Meltdown fordert ein Nutzer Daten von einer Kernel-Adresse eines anderen Nutzers an. Der Prozessor prüft, ob der Anwender berechtigt ist, auf die Adresse zuzugreifen (Permission Check). Da dies nicht der Fall ist, blockt er den Zugriff ab. Aufgrund der nicht linearen und spekulativen Ausführung wurden die angeforderten Daten aber womöglich bereits in den Cache geladen, bevor der Zugriff verweigert wird. Aus diesem kann der Angreifer sie dann auslesen.
Spectre nutzt für den Angriff die Eigenschaft der Prozessoren, Sprungmarken vorherzusehen (Branch Prediction). Dabei kann in Variante 1 der Code auch über interpretierte Sprachen wie Javascript untergeschoben werden, was einen Angriff über Browser möglich macht. So könnte ein Angreifer Daten eines Prozesses auslesen, der gerade in einem anderen Fenster oder Tab des Browsers ausgeführt wird. Variante 2 ermöglicht es dem Angreifer, in einer virtuellen Umgebung einer «Opfer-VM» Code unterzuschieben und ihn dort ausführen zu lassen.
Auch wenn Meltdown und Spectre grosse öffentliche Aufmerksamkeit erfahren haben und bis auf wenige Ausnahmen praktisch alle prozessorgesteuerten Endgeräte betroffen sind, bleiben die Auswirkungen auf PCs, Server, Smart­phones oder Tablets überschaubar, so lange sich die Geräte im direkten Zugriff des Nutzers oder Administrators befinden. Spectre 1 funktioniert zwar auch remote über einen Browser, für die gängigen Internetprogramme gibt es mittlerweile aber Patches beziehungsweise neue Versionen, die ein Tab-übergreifendes Auslesen verhindern oder zumindest erschweren. Wer auf Nummer sicher gehen möchte, kann zudem die Ausführung von Javascript verhindern oder mit Zusatzprogrammen wie dem Firefox-Add-on NoScript einschränken.
Wesentlich gravierender sind die Auswirkungen auf Cloud- und Rechenzentrumsumgebungen, in denen viele Nutzer sich über virtuelle Maschinen die Rechenleistung einer CPU teilen. In einer solchen Umgebung wäre es prinzipiell möglich, aus einer virtuellen Maschine heraus die Daten anderer Anwender auszulesen.



Das könnte Sie auch interessieren