Collide+Power: Neuer Seitenkanalangriff betrifft alle Prozessoren
CISPA-Faculty Dr. Michael Schwarz beschäftigt sich seit Jahren mit Seitenkanalangriffen. Unter anderem war er an der Entdeckung von Platypus und Meltdown beteiligt. Das sind Cyberangriffe, bei denen Daten über einen Umweg, den sogenannten Seitenkanal, gestohlen werden. Dazu werden Informationen ausgenutzt, die der Prozessor unfreiwillig bei der Verarbeitung abgibt, wie etwa das Laufzeitverhalten oder der Energieverbrauch. Mit Collide+Power haben Schwarz und sein PhD-Student Lukas Gerlach gemeinsam mit einer Forschergruppe der TU Graz einen neuen strombasierten Seitenkanalangriff entdeckt, der auf die Central Processing Unit (CPU) abzielt und theoretisch alle Prozessoren treffen kann.
Mit Collide+Power können Daten direkt vom Prozessor des Computers abgegriffen werden. Alle Daten, die ein Computersystem verarbeiten soll, müssen nämlich durch die Central Processing Unit (CPU) geschleust werden. Die CPU verfügt über interne Zwischenspeicher, oder Caches, in denen bereits verarbeitete Daten vorgehalten werden, damit sie für zukünftige Arbeitsprozesse schnell wieder bereitstehen. Werden die Daten im Cache nun durch neue Daten überschrieben, etwa, weil man in seinem Passwortmanager auf ein weiteres Passwort zugreift, wird Strom verbraucht. Dabei gilt eine physikalische Besonderheit: Je mehr Daten im Cache verändert werden, umso mehr Strom wird benötigt.
Kollision der Daten im Cache
Diesen Effekt macht Collide+Power sich zu nutze. Der für den Angriff programmierte Schadcode bewirkt, dass der Cache mit den Angreifer:innen bekannten Daten gefüllt wird. Greifen User:innen nun auf ein Programm – etwa ihren Passwortmanager – zu, werden die Daten der Angreifer:innen im Cache mit dem Passwort überschrieben: Angreifer- und User-Daten „kollidieren“ sozusagen. Anhand des Stromverbrauchs der CPU während des Überschreibungsvorgangs können die Angreifer:innen Rückschlüsse auf das Passwort ziehen. Denn: „Je ähnlicher sich die geladenen Daten und die Daten aus dem Zielprogramm sind, desto geringer ist der Stromverbrauch – und den kann man sehr genau messen“, erklärt Schwarz.
Natürlich finden in den Zwischenspeichern eines Computers viele Rechenprozesse parallel statt, zum Beispiel weil verschiedene Programme gleichzeitig geöffnet sind. Wie können die Angreifer:innen also den Teil der Berechnungen im Cache identifizieren, den sie ausbeuten wollen? Gerlach erläutert: „Der eingeschleuste Schadcode bewirkt, dass die Daten aus dem Programm, das angegriffen werden soll, zigfach im Cache geladen werden.“ Diese stetig wiederholten Ladevorgänge erlauben den Angreifer:innen Rückschlüsse darauf, welche Datensätze für sie relevant sind.
Stromverbrauch erlaubt Rückschlüsse auf Daten
Möglich ist diese Art des Datenklaus, da im Speicher eines Computers alle Werte mit Nullen und Einsen kodiert sind. Dabei wird jeder einzelne Wert mit mehreren Stellen abgebildet, die je entweder mit einer 1 oder einer 0 besetzt werden: Für ein Byte, das mit 8 dieser Stellen abgebildet wird, wäre eine Eins kodiert mit 0000 0001, eine Zwei mit 0000 0010. Um eine Eins im Cache mit einer Zwei zu überschreiben, müssen also zwei Stellen, nämlich die letzten beiden, geändert werden. Überschreibt man die Eins mit einer Null, die mit 0000 0000 kodiert ist, ändert sich allein die letzte Stelle. Dazu braucht es weniger Strom. Durch einen Abgleich des Stromverbrauchs „errät“ Collide+Power nacheinander jede der Stellen eines Wertes.
Sehr viele Wiederholungen dieses „Ratevorgangs“ sind nötig, um alle Stellen eines Wertes und dadurch das Geheimnis zu erbeuten. Das macht das Verfahren sehr aufwendig und zeitintensiv. Mit dem aktuell programmierten Schadcode würde das Extrahieren einer Kreditkartennummer beispielsweise 4-5 Stunden in Anspruch nehmen, so schätzen die Forschenden. „Allerdings ist das auch nur unser Testcode. Wenn man es ernst meint, könnte man den Code ganz sicher optimieren“, sagt Schwarz.
Collide+Power schließt eine Forschungslücke
Mit Collide+Power schließen die Forschenden eine Lücke in der Erkennung von strombasierten Seitenkanalangriffen. Es ist der erste Seitenkanalangriff, der Strommesswerte dazu verwendet, Daten unmittelbar vom Prozessor des Computers abzuleiten. Da die Hardware selbst zum Ziel des Angriffs wird, ist diese Form des Angriffs nicht zu verhindern. Die Hersteller können nur ihrer Informationspflicht nachkommen und Hinweise formulieren. Bislang, sagt Michael Schwarz, ist Collide+Power aus der Praxis noch nicht bekannt: „Wir Forscher können nur aufzeigen, dass es möglich ist. „Wie gefährlich es ist, müssen die Hersteller selbst beurteilen.“ Allerdings, fügt Lukas Gerlach an, „man verliert die Garantie, dass Daten unangreifbar bleiben.“
Das Paper entstand in Zusammenarbeit mit dem Institute of Applied Information Processing and Communications an der TU Graz (Andreas Kogler, Jonas Juffinger, Lukas Giner, Martin Schwarzl, Daniel Gruss, Stefan Mangard). Mehr Infos zu Collide+Power gibt es auf der Projektwebsite: collidepower.com.
Wissenschaftlicher Ansprechpartner:
Dr. Michael Schwarz
CISPA Helmholtz-Zentrum für Informationssicherheit
https://cispa.de/en/people/c02misc
michael.schwarz(at)cispa.de
Originalpublikation:
Andreas Kogler; Jonas Juffinger; Lukas Giner; Lukas Gerlach; Martin Schwarzl; Michael Schwarz; Daniel Gruss; Stefan Mangard (2023): Collide+Power: Leaking Inaccessible Data with Software-based Power Side Channels; in: USENIX Security Symposium 2023
Weitere Informationen:
http://collidepower.com