Michael Schwarz, Daniel Gruss und Moritz Lipp (v.l.n.r.) (c) Lunghammer tugraz
Author profile picture

Forscher entdeckten eine neue Sicherheitslücke in Computerprozessoren der Firma Intel: ZombieLoad 2.0. Die Sicherheitslücke betrifft zentrale Prozessoreinheiten von Cascade Lake. Diese enthielten zwar Hardware-Maßnahmen gegen Schwachstellen, ermöglichten aber dennoch Angriffe.

Die Entdeckung von Computer Hardware-Viren ist noch neu. Bis Anfang 2018 ging man davon aus, dass es nur Software-Viren gibt. Meltdown und Spectre, so die Namen der ersten Hardware-Viren, wurden von mehreren Forscherteams zeitgleich entdeckt. Darunter auch ein Team vom Institut für Angewandte Informationsverarbeitung und Kommunikationstechnologie der Technischen Universität Graz: Daniel Gruß, Moritz Lipp, Michael Schwarz und Professor Stefan Mangard. Seither veröffentlicht das Team immer wieder Sicherheitslecks. Unterstützt werden sie von vier Neuzugängen: Daniel Moghimi vom Worcester Polytechnic Institute, Jo Van Bulck, vom imec-DistriNet an der KU Leuven sowie Julian Stecklina und Thomas Prescher, beide aus dem deutschen Software-Unternehmen Cyberus Technology.

Sicherheitslücke Zombie 2.0

Am 14. November präsentierte das Team die Sicherheitslücke Zombie Loads 2.0 in den zentralen Prozessoreinheiten von Intel. 2.0 weil die Sicherheitslücke trotz Update des Unternehmens aufgetreten war. Intel hatte die Software-Patch und die neuen Prozessoren Cascade Lake installliert. Mit einer neuen Variante des Angriffs sind aber auch diese nicht mehr sicher.

Vorauseilende sensible Rechenschritte

Das Problem, das allen bisher entdeckten Hardware-Viren zugrunde liegt, sind immer schneller arbeitende Computersysteme. Diese machen ihre Rechenschritte nicht nacheinander, sondern zeitgleich. Das heißt, der Prozessor nutzt langwierige Arbeitsschritte, um die nächsten Schritte vorzubereiten. Dabei handelt es sich lediglich um Annahmen – und die notwendigen Zugriffsrechte werden nicht geklärt. Arbeitsschritte, die nicht gebraucht werden oder für die es keine notwendigen Zugriffsrechte gibt, werden wieder verworfen. Die Kontrolle der Zugriffsrechte erfolgt erst nach den vorauseilenden sensiblen Rechenschritten.

Diese Vorarbeit des Prozessors können potenzielle Angreifer missbrauchen, um sensible Daten aus dem Kernel auszulesen – wie zum Beispiel Passwörter, die in gängigen Internetbrowsern gespeichert sind.

Sicherheitslücke zwischen Befehl und Kontrolle

Schon Zombie 1.o ermöglichte den Angriff auf sensible Daten und Schlüssel während der Computer darauf zugreift. Die Prozessoren sind so konstruiert, dass sie die Daten immer weitergeben, auch wenn es nicht die richtigen sind. Die Sicherheitslücke befindet sich in dem kurzen Moment zwischen Befehl und Kontrolle. Hier werden die bereits geladenen Daten von anderen Programmen für potenzielle Angreifer sichtbar. Diese können im Klartext mitlesen, was der Nutzer oder die Nutzerin gerade am Computer macht.

Die Angreifer möchten Host Operating Systems Memory lesen. Ein Video zu Zombie 1.0 finden Sie hier

Problem Double Tasking

Bei Zombie Load 2.0 laufen zwei benachbarte Prozesse ab:

  • Out-of-Order-Execution: Wenn die volle Leistung des Prozessors gerade nicht vollständig benutzt wird, bereitet der Computer Daten und Rechenschritte vor, die er bald brauchen könnte.
  • Hyper Threading: Auf einer zentralen Prozessoreinheit laufen mehrere Prozesse gleichzeitig und nutzen auch die zur Verfügung stehenden Zwischenspeicher gemeinsam.

Diese benachbarten Prozesse und Daten sollten eigentlich unsichtbar sein. Aber mit der richtigen Technik können Angreifer darauf zugreifen. Das zeigten die Versuche der Forscher.

Die neu entwickelte Mikroarchitektur Cascade Lake hat die Sicherheitslücken zwar behoben, ist aber lediglich eine Erschwernis für potenzielle Angreifer. Mit einem minimal abgeänderten Angriffscode konnten die Forscher auch auf die Prozessoren von Cascade Lake zugreifen. Selbst der Software-Patch hat Sicherheitslücken, wie sich zeigte. Die Forscher meldeten Intel die Sicherheitslücken bereits im April 2019. Die Veröffentlichung erfolgte erst nach Behebung der Sicherheitslücken durch das Unternehmen. Den Nutzern und Nutzerinnen raten die Forscher alle Sicherheitsupdates zu installieren.

Diese Forschung wurde über das ERC-Projekt Sophia, das FFG-Projekt DESSNET und das Projekt ESPRESSO sowie aus einer Spende vom Hersteller Intel finanziert.

Dieser Link führt zum Paper: ZombieLoad: Cross-Privilege-Boundary Data Sampling

Die Hardware-Viren im Überblick:

Meltdown und Spectre wurden zeitgleich im Januar 2018 publik. Von beiden Sicherheitslücken betroffen waren private Computer sowie die meisten gängigen Server-Strukturen und Cloud-Dienste:

Meltdown: Ein simpler Angriff, bei dem nur vier Zeilen Computercode reichen, um Zugriff zu erlangen. Die Grazer Forscher entwickelten den Patch Kaiser, der die Sicherheitslücke schloss und von den Entwicklern der großen IT-Unternehmen angenommen und adaptiert wurde. Das Update führte allerdings zu einer reduzierten Geschwindigkeit.

Spectre: Der Angriff ist aufwändiger, aber auch schwerer abzuwehren. Betroffene Programme werden gezwungen, ihre Secrets zu verraten.

Im Mai 2019 wurden die Angriffsmethoden ZombieLoad 1.0 und Store-to-Leak Forwarding publik.

Zombie Load 1.0 nutzt einen ähnlichen Ansatz wie Meltdown: Vorbereitete Daten werden herausgegeben, bevor die Zugriffsrechte geklärt sind. Angriffe ermöglicht der kurze Moment zwischen Befehl und Kontrolle. Betroffen waren alle Intel Prozessoren, die zwischen 2012 und 2018 hergestellt wurden. Die Lösung zeigte sich allerdings schwieriger: Die zentralen Prozessoreinheiten haben mehrere Kerne und jeder Kern ist noch einmal geteilt. Dadurch können mehrere Programme gleichzeitig laufen. Die Forscher gehen davon aus, dass einer dieser zwei Bereiche gelöscht werden muss. Das würde allerdings Leistungseinbußen von 50 Prozent bedeuten.

Dieser Link führt zum Video: ZombieLoad in Action: Spying on your visited websites

Store-to-Leak-Forwarding: Auch hier wird die optimierte Arbeitsweise von Computerprozessoren ausgenutzt, um vorab geladene Daten auszulesen. Allerdings wird hier die Architektur des Computerprozessors ausgeforscht – mit dem Ziel, den Ort zu finden, an dem das Betriebssystem ausgeführt wird. Dort sind gezielte Angriffe auf Lücken im Betriebssystem möglich.

Dieser Link führt zum Paper: Store-to-Leak Forwarding: Leaking Data on Meltdown-resistant CPUs

Im November 2019 publizieren die Forscher die Sicherheitslücke Zombie 2.0. Siehe oben.

Auch interessant:

Software-Fehler mit Algorithmen erkennen

Mehr Geld für Software-Tester