Wie man einem Computer Ideen einpflanzt
Forschende der ETH Zürich haben einen neuen Angriff auf AMD-Computerchips gefunden, bei dem der Angreifer eine ?Idee? in den Computer einpflanzt, ohne dass dieser es merkt. Mit diesem Angriff war es m?glich, Daten von einer beliebigen Stelle des Computerspeichers abzugreifen.
- Vorlesen
- Anzahl der Kommentare
In Kürze
- ETH-Forschende entdeckten bei gewissen CPUs (Central Processing Units) eine schwerwiegende Schwachstelle.
- Angreifer k?nnen die anvisierten CPUs dazu bringen, bestimmte Befehle auszuführen, um sensible Informationen abzugreifen.
- Die Forschenden informierten den Hersteller frühzeitig, um ihm genug Zeit zu geben, einen Sicherheits-Patch bereitzustellen.
Tr?ume k?nnen unsere Stimmung und unser Handeln beeinflussen. Das hat schon jeder von uns erlebt. Jemanden eine Idee einzupflanzen, w?hrend er tr?umt, um ihn dazu zu bringen, nach dem Aufwachen etwas Bestimmtes zu tun, geh?rt allerdings ins Reich der Science Fiction. So wie im Film ?Inception? von 2010. Dort versucht ein von Leonardo DiCaprio gespielter Experte, den Erben eines reichen Gesch?ftsmanns so zu beeinflussen, dass er das Reich seines Vaters zerschl?gt. Zu diesem Zweck begibt er sich mit dem Erben in einen gemeinsamen Traum, in dem er durch geschickte Manipulation dessen Haltung seinem Vater gegenüber auf subtile Weise ?ndert. So bringt er ihn schliesslich dazu, das Gesch?ft seines verstorbenen Vaters aufzugeben.
Was im wirklichen Leben unm?glich ist, gelang allerdings in ?hnlicher Weise vor Kurzem in der Welt der Computer: Ein ETH-Forschungsteam um Kaveh Razavi, Professor am Departement Informationstechnologie und Elektrotechnik hat eine schwerwiegende Schwachstelle bestimmter CPUs (central processing units, also Zentrale Recheneinheiten) aufgedeckt.
Bei dieser Schwachstelle kann ein Angreifer so etwas wie eine Idee in die Ziel-CPUs einpflanzen und diese dazu bringen, bestimmte Anweisungen auszuführen. Dadurch k?nnen sensible Informationen abgegriffen werden. Razavi und seine Kolleg:innen stellten ihre Erkenntnisse diese Woche auf der Konferenz Usenix Security 2023 vor.
Ein komplexer Angriff
Razavis Forschungsartikel enth?lt Namen, die eher an James Bond- und Katastrophenfilme erinnern – Spectre und Meltdown haben einen Auftritt -, doch der Grossteil des Artikels ist hochkomplexe Computerwissenschaft. ?In der Tat ist der Inception-Angriff wie der gleichnamige Film besonders kompliziert und schwer zu erkl?ren?, sagt Masterstudent Dani?l Trujillo, der diesen neuen Angriff w?hrend seiner Abschlussarbeit unter der Leitung von Doktorand Johannes Wikner in der Arbeitsgruppe von Razavi fand. ?Dennoch geht es bei all diesen Angriffen im Kern um eine simple Sache: dass die CPU eines Computers st?ndig Vermutungen anstellen muss, und diese Vermutungen k?nnen manipuliert werden?, erg?nzt Wilkner.
In modernen Computern braucht es Vermutungen, da die CPU w?hrend der Ausführung eines Programms – etwa eines Spiels oder Browsers – pro Sekunde Hunderte von Millionen Entscheidungen treffen muss. An bestimmten Punkten der Ausführung kann die n?chste Anweisung von einer Wahl abh?ngen, die auf Informationen beruht, welche erst aus dem Datenspeicher des Computers geladen werden müssen.
CPUs sind in den letzten Jahren unglaublich schnell geworden, aber die Geschwindigkeit, mit der Daten vom Speicher (DRAM) in die CPU überspielt werden k?nnen, hat mit dieser Beschleunigung nicht Schritt gehalten. Die CPU müsste einen Grossteil ihrer Zeit damit verbringen, auf frische Daten zu warten, um eine Entscheidung zu treffen.
Beschleunigung durch Vermutungen
Hier kommen die Vermutungen ins Spiel: Aufgrund von Erfahrungen aus der Vergangenheit erstellt die CPU eine Art Zuordnungstabelle (look-up table) und benutzt diese, um den wahrscheinlichsten n?chsten Schritt zu erraten und diesen dann auszuführen. In den meisten F?llen liegt die CPU dabei richtig und kann so eine Menge kostbarer Rechenzeit sparen. Hin und wieder liegt sie mit ihrer Vermutung aber auch daneben, und solche Fehlvorhersagen k?nnen von einem Angreifer ausgenutzt werden, um Zugang zu sensiblen Informationen zu bekommen.
?Es sah so aus, als k?nnten wir von AMD hergestellte CPUs glauben machen, sie h?tten bestimmte Anweisungen schon einmal gesehen, obwohl das in Wirklichkeit nie passiert war.?Dani?l Trujillo
?Der Spectre-Angriff, der 2018 entdeckt wurde, beruht auf solchen Fehlvorhersagen?, sagt Razavi, ?aber es sah zun?chst so aus, als h?tten die Hersteller Wege gefunden, um diese abzumildern.? Tats?chlich haben Chiphersteller Funktionen bereitgestellt, mit denen die Zuordnungstabellen teilweise gel?scht werden, wenn der Sicherheitskontext ge?ndert wird (das heisst, wenn auf den empfindlichen Betriebssystemkern zugegriffen wird), oder die ein Bit an Information hinzufügen, das der CPU anzeigt, ob eine Vorhersage in der Tabelle im Kern erzeugt wurde und damit vertrauenswürdig ist.
Eine Idee in die CPU pflanzen
Dennoch probierten Razavi und seine Mitarbeitenden, ob man trotz der neuen Sicherheitsvorkehrungen einen Angriff starten k?nnte. Nach langer Suche stiessen sie schliesslich auf etwas Seltsames: ?Es sah so aus, als k?nnten wir von AMD hergestellte CPUs glauben machen, sie h?tten bestimmte Anweisungen schon einmal gesehen, obwohl das in Wirklichkeit nie passiert war?, sagt Trujillo. Genau wie im Film ?Inception? konnten die Forschenden eine Idee in die CPU einpflanzen, w?hrend diese in gewisser Weise tr?umte.
Das hatte zur Folge, dass die Zuordnungstabelle – welche die CPU st?ndig aus früheren Anweisungen zusammenstellt – erneut manipuliert werden konnte. Da die CPU überzeugt war, dass die Eintr?ge in der Tabelle von zuvor gesehenen Anweisungen stammten, konnte die Sicherheitsvorkehrung, die dafür sorgen soll, dass die CPU nur vertrauenswürdige Vorhersagen berücksichtigt, umgangen werden. Auf diese Weise konnten die ETH-Forschenden Daten von einer beliebigen Stelle im Speicher des Computers abgreifen – auch sensible Informationen wie zum Beispiel die verschlüsselte Version des Root-Passworts.
Ernste Schwachstelle
Dies ist eine sehr ernste Sicherheits-Schwachstelle, und so informierte Razavi im Februar 2023 AMD, um dem Hersteller genug Zeit zu geben, einen Sicherheits-Patch bereitzustellen, bevor die Forschungsarbeit ver?ffentlicht wurde (AMD vergab für diese Schwachstelle die Nummer CVE-2023-20569). ?Wir haben dieses Konzept einer neuen Klasse gef?hrlicher Angriffe aufgezeigt, das vor allem im Zusammenhang mit dem Cloud-Computing relevant ist, bei dem sich mehrere Kunden eine Hardware teilen?, sagt Razavi. ?Es wirft zudem Fragen für die Zukunft auf.? So will er zum Beispiel herausfinden, ob es andere, ?hnliche Angriffe gibt und ob eine Art Inception-Angriff auch bei CPUs anderer Hersteller m?glich ist.
Literaturhinweis
Trujillo D, Wikner J, Razavi K: externe Seite Inception: Exposing New Attack Surfaces with Training in Transient Execution. 32nd Usenix Security Symposium, 2023