Meltdown und Spectre gelten als die gravierendsten Sicherheitslücken in der Computergeschichte. Mit Anders Fogh arbeitet in unserem Team einer der wenigen Spezialisten weltweit zu diesem Thema. Er hat mit seiner Forschung die Grundlagen für das gelegt, was wir heute als Meltdown und Spectre diskutieren. Wir haben ihm ein paar Fragen gestellt.
Die Sicherheitslücken, die unter den Namen Meltdown und Spectre bekannt geworden sind, betreffen nicht wie so oft Fehler im Betriebssystem oder in Software. Dieses Mal ist das Herzstück aller Rechner betroffen - die CPU. Ihre Kernaufgabe ist es, Instruktionen der Reihe nach abzuarbeiten. Dabei soll gewährleistet bleiben, dass die einzelnen Prozesse nur auf ihre eigenen Informationen zugreifen können. Das Kernkonzept dahinter heißt Memory Isolation und hat beim Design von CPUs einen hohen Stellenwert. Moderne CPUs sind aber hochgradig darauf optimiert, ihre Kernaufgabe schnell zu erfüllen. Das hat dazu geführt, dass die Instruktionen nicht mehr nacheinander, sondern ohne eine feste Reihenfolge verarbeitet werden. Man spricht hier von " Out-of-Order"-Verarbeitung. Instruktionen immer nach einer festen Reihenfolge zu verarbeiten ist vergleichweise wenig effizient, da der Prozessor sonst auf Instruktionen warten müsste (z.B. wenn die Programmlogik verzweigt). Daher werden diese in einem Befehlsspeicher (namens Reorder Buffer, ROB) gesammelt. Damit dieser Speicher immer gefüllt ist, werden dort auch Instruktionen spekulativ ausgeführt, die später möglicherweise gar nicht verwendet werden. Vereinfacht ausgedrückt, "rät" die CPU, welche Instruktionen als nächstes kommen könnten. Normalerweise werden die Ergebnisse dieser Befehle von der CPU verworfen, wenn sie doch nicht genutzt werden und sind auch nur innerhalb der CPU verfügbar. Durch einen Trick (sog. Seitenkanalangriffe) ist es nun gelungen, diese Inhalte in den aktiven Speicher zu laden, ohne dass dazu besondere Rechte benötigt werden. So lassen sich beliebige Informationen aus dem Systemkernel auslesen. Eine ausführlichere Beschreibung über die Funktionsweise von Meltdown gibt es hier.
Dieser knappe Überblick zeigt, dass diese Materie ein wenig abseits der üblichen IT-Security-Forschung liegt. Dennoch befasst sich Anders Fogh schon seit geraumer Zeit mit dieser faszinierenden Welt. Er gehört zu den wenigen Leuten weltweit, deren Forschung zur Entdeckung von Meltdown und Spectre beigetragen haben.
Wie bist Du auf die Schwachstellen gestoßen?
Anders Fogh: Zusammen mit Forschern von der TU Graz habe ich das Rechte-Management und dessen Umsetzung in der CPU untersucht. Die Ergebnisse haben wir auf der BlackHat USA 2016 vorgestellt. Danach habe ich mir angesehen, welche Probleme CPUs mit sogenannten Seitenkanalangriffen (covert channels) haben. Im Januar 2017 konnte ich diese beiden Forschungsthemen zusammenführen. Damit war die Basis für die Problematik von Meltdown und Spectre gelegt. Die ganze Geschichte kann man hier nachlesen (engl).
In den vergangenen Jahren und Jahrzenten wurden ja schon einige Sicherheitslücken mit großem Potential entdeckt, ohne dass es Malware gegeben hätte, die dieses Potential genutzt hätte. Die große Anzahl angreifbarer Systeme ist nicht das einzige, was Malware-Autoren attraktiv finden. Es hängt auch davon ab, wie einfach eine Sicherheitslücke für effektive Exploits nutzbar gemacht werden kann.
Wie wahrscheinlich ist es, dass wir demnächst Malware entdecken, die Meltdown und Spectre nutzt?
Es ist ziemlich wahrscheinlich, dass wir in Kürze Malware sehen werden, die die Meltdown-Sicherheitslücke nutzen. Es kursieren bereits Proof-of-Concept-Codes sowie funktionierender Exploit-Code im Internet. Daher ist es wichtig, die verfügbaren Updatess zu installieren und gefährdete Systeme gegen diese Art von Angriffen zu härten. Hier gibt es einen guten Überblick über den aktuellen Stand der verfügbaren Gegenmaßnahmen.
Spectre ist deutlich komplizierter und nicht so einfach auszunutzen. Es wird sicher etwas länger dauern, bis Spectre in Malware genutzt wird.
Bei Meltdown und Spectre haben wir es mit Hardware zu tun. Wenn man dafür (Schad-)Software entwickelt, muss man die jeweiligen Gegebenheiten und Spezifikationen der unterschiedlichen Modelle selbst abarbeiten. Das könnte es erschweren, universellen Schadcode zu schreiben.
Wie aufwendig sind die Anpassungen an Hardware und Betriebssysteme?
Die Hersteller von CPU-Hardware haben eine große Palette an Modellen mit unterschiedlichen Systemarchitekturen und Spezifikationen. Es ist sehr unwahrscheinlich, dass es einen universellen Angriffscode geben wird, der auf allen Plattformen läuft. Der Teufel steckt im Detail. Um effektiven Exploit-Code zu schreiben, der auf mehreren CPU-Modellen läuft, muss sehr Aufwand betrieben werden. Zusätzlich müssen die Exploit-Codes an die anvisierten Betriebssysteme angepasst werden.
Bisher wissen wir, dass mit Meltdown und Spectre Informationen gestohlen werden können, die gerade in der CPU verarbeitet werden. Auf Desktop-PCs, Notebooks und Smartphones kann man sich vorstellen zu welchen Angriffen das führt. Es gibt aber auch weniger offensichtliche Angriffsszenarien, mit denen IT-Sicherheitsverantwortliche rechnen müssen.
Mit welchen Angriffsszenarien müssen wir noch rechnen?
Hochleistungs-CPUs werden in vielen Geräten verwendet, sowohl im Bereich von Spielen und Unterhaltungselektronik als auch in industriellen Einsatzbereichen. Je leistungsfähiger eine CPU ist, desto wahrscheinlicher ist sie von Angriffen bedroht. Andererseits agieren Angreifer nach ökonomischen Prinzipien. Mit Meltdown und Spectre lassen sich Informationen stehlen. Es ist allerdings nicht profitabel von allen möglichen Geräten Daten zu sammeln, die später nicht verwertet und zu Geld gemacht werden können. In vielen Fällen ist der hohe Aufwand für nutzlose Daten nicht gerechtfertigt. In Fällen wie Routern und Firewalls könnte das dennoch lukrativ sein.
Aus der Sicht eines Angreifers wäre es interessant, wenn die im Kernel verfügbaren Informationen auch für weitergehende Angriffe genutzt werden könnten.
Was können Angreifer bewirken, wenn sie Meltdown und Spectre in Malware nutzen?
Üblicherweise sind auf aktuellen Betriebssystemen Angriffe über Sicherheitslücken auf die Rechte des komromittierten Nutzers begrenzt. Das ist besonders in Umgebungen wo sich mehrere Nutzer einen Rechner teilen notwendig z.B. in Unternehmen oder generell auf Servern. Meltdown und Spectre erlauben es Informationen aus dem Systemkernel auszulesen. Dort gibt es viele Informationen, die Angreifer nutzen können, um sich höhere Rechte zu verschaffen und damit den gesamten Rechner zu übernehmen.
Schwachstellen wie Meltdown und Spectre durchlaufen einen Lebenszyklus. Wenn sie gerade entdeckt werden und noch neu sind, wissen nur wenige Spezialisten, wie man die offene Sicherheitslücke wirklich nutzt. Werden die Erkenntnisse dann veröffentlicht, bekommen sie viel Aufmerksamkeit in der Presse und das Gefahrenpotential wird ausgiebig beschrieben. Nach und nach werden dann Exploit-Codes entwickelt und veröffentlicht und früher oder später nutzt auch Malware die vorhandenen Möglichkeiten. Wenn die Sicherheitslücken zu einer nutzbaren Bedrohung werden, ist die öffentliche Aufmerksamkeit meist schon abgeflacht und geht gegen Null.
Mit welchen Langzeiteffekten müssen wir rechnen?
Die zugrundeliegenden Probleme basieren auf der Architektur und dem Aufbau von CPUs. Wahrscheinlich werden wir auf weitere Problemfälle dieser Art stoßen. In den wenigsten Fällen werden sie jedoch so gravierende Konsequenzen haben wie Spectre und Meltdown.
Momentan werden viele Facetten und Aspekte von Meltdown und Spectre diskutiert. Manche davon werden überbewertet, andere kommen zu kurz.
Was ist aus Deiner Sicht wichtig?
IT-Sicherheit ist ein Langzeitprojekt. Meltdown und Spectre sind nur eine Station auf einer langen Reise. Es belegt wie wichtig die CPU für die Computersicherheit ist und beflügelt hoffentlich die Forschung zum Design sicherer Computersysteme.
Die Suche nach Schwachstellen in CPUs war nicht gerade der Mainstream der IT-Security-Forschung. Beflügelt von der Resonanz von Meltdown und Spectre könnte man annehmen, dass im Bereich von CPUs weitere Probleme mit ähnlichen Auswirkungen auftauchen.
Was kommt als nächstes? Werden wir weitere Sicherheitslücken in CPUs sehen?
CPUs sind unglaublich komplexe Komponenten. In modernen CPUs arbeiten mehr als 3 Milliarden Transistoren. Zum Vergleich: Das sind etwa tausend mal mehr als Teile in der Saturn V Rakete, die Menschen zum Mond gebracht hat - und das alles in einem Computer. Es wäre sehr ungewöhnlich, wenn in so komplexen Umgebungen nicht noch weitere Unzulänglichkeiten entdeckt werden.
Die "Meltdown Code"-Illustration sowie das "Spectre"-Logo wurden von Natascha Eibl erstellt und sind lizensiert unter CreativeCommons Public Domain Dedication