Swipe to the right

Einfach sicher: Spectre und Meltdown

Einfach sicher: Spectre und Meltdown

In unserer Service-Rubrik halten wir Sie über aktuelle IT-Sicherheitsthemen auf dem Laufenden. Heute geht es um die Sicherheitslücken namens Spectre und Meltdown. Von Dennis Garufo, IT Engineer bei VIDEOR.


Die Codenamen „Spectre“ und „Meltdown“ beschreiben gravierende Sicherheitslücken in modernen Mikroprozessoren. Obwohl die Liste der betroffenen Prozessoren bis in das Jahr 1995 zurückreicht, wurden diese Sicherheitslücken erst 2017 entdeckt und veröffentlicht. Anfang Mai 2018 wurden unter dem Namen „Spectre Next Generation“ (Spectre NG) 8 weitere Sicherheitslücken in Intel-Prozessoren gefunden – vier davon wurden als hochriskant eingestuft.



Wie funktionieren diese Sicherheitslücken?


Execution, eine Technik zur Steigerung der Effizienz von Prozessoren. Unter normalen Umständen arbeiten Prozessoren die Befehle eines Programmcodes anhand einer Warteschlange ab. Befehle innerhalb der Warteschlange, die nicht von anderen abhängig sind, können vom Prozessor – sofern gerade freie Kapazitäten vorhanden sind – außerhalb der Reihe („out of order“) vorbereitet werden. Diese Anweisungen werden für den zukünftigen Programmfluss vorgehalten. Kommt ein Programm zu einem Punkt, an dem eine spekulative Anweisung notwendig ist, muss diese nicht erneut durchgeführt werden.


Meltdown nutzt dies zusammen mit einer Intel-Lücke, um die Isolation zwischen Applikation und Betriebssystem zu „schmelzen“. Normalerweise hat jedes Programm seinen eigenen Bereich im Arbeitsspeicher (RAM) des Computers und darf nur innerhalb dieses Speicherbereichs Lese- und Schreiboperationen durchführen. Durch Meltdown können Programme auf Daten zugreifen, die im Speicherbereich des Betriebssystems liegen.


Bei Spectre hingegen wird die Isolation zwischen verschiedenen Applikationen überwunden. Der Name Spectre kommt von der oben genannten Speculative Execution. Bei diesen spekulativen Berechnungen findet jedoch keine Überprüfung auf unerlaubte Speicherzugriffe statt. In Kombination mit „Branch Prediction“ (eine Technik zur Vorhersage des wahrscheinlichsten Verlaufs eines Programmes) kann diese fehlende Überprüfung von Angreifern ausgenutzt werden, indem der Programmcode gezielt spekulative Anweisungen provoziert, um durch gezieltes Einstreuen von Schutzverletzungen und Fehlern auf verbotene Speicherbereiche zugreifen zu können.


Wer ist gefährdet?

Grundvoraussetzung für beide Angriff sszenarien ist die lokale Ausführung von Schadcode auf dem System selbst. Kameras, Rekorder, Switches etc. sind in der Regel geschlossene, „embedded“ Systeme, die dem Nutzer unter normalen Umständen keinerlei Möglichkeiten bieten, Programme zu installieren oder auszuführen. Nur mit einem lokalen Systemzugang, der jegliche weitere Angriffe hinfällig macht, könnte ein Angreifer Spectre und Meltdown ausnutzen. Gefährlich sind diese Sicherheitslücken u.a. für Browser, die externe Skripte laden, oder Shared Hosts und Cloud-Dienste, bei denen ein Host-
System von vielen Benutzern geteilt wird.



16. Juli 2018 | Kategorien: Security