Collide+Power: Seitenkanalangriffe auf alle Prozessoren
Beim Angriffsmuster Collide+Power ermöglicht eine Analyse der Leistungsaufnahme, geschützte Daten auszulesen. Grundsätzlich sind alle modernen CPUs betroffen.
![](https://heise.cloudimg.io/width/610/q85.png-lossy-85.webp-lossy-85.foil1/_www-heise-de_/imgs/18/4/2/7/9/5/4/3/DSC05407-659736faece40100.jpeg)
(Bild: Mark Mantel / heise online)
Ein deutsch-österreichisches Forscherteam hat einen neuen Dreh entdeckt, wie sich CPU-Funktionen als Seitenkanal zum Auslesen von Daten missbrauchen lassen. Denn moderne Prozessoren verändern ihre Taktfrequenz im Bruchteil einer Sekunde, wobei ihre elektrische Leistungsaufnahme variiert. Diese "Power"-Informationen stellen die Prozessoren nahezu in Echtzeit bereit.
Diese Daten nutzt der Collide+Power getaufte Angriff, um etwa einen geheimen Key zu erspähen. Weil das nur recht langsam funktioniert, ist dieser Angriffsvektor für Heimanwender eher unbedenklich. Collide+Power könnte aber als Grundlage für Angriffe auf Firmen dienen, schreiben die Forscher der TU Graz und des CISPA Helmholtz-Zentrum für Informationssicherheit in einem Paper, das heise online vorliegt.
Ähnlich gehen bereits die beiden Angriffe Platypus (Rückschlüsse durch Varianzen in der Leistungsaufnahme) und Hertzbleed (Rückschlüsse durch Varianzen beim Takt) vor. Collide+Power geht jetzt noch einen Schritt weiter: Statt nur zu lauschen, füllt der Angriff zuerst einen anvisierten Speicherbereich – etwa einen CPU-Cache – und protokolliert dann die Änderungen. Dadurch lassen sich Veränderungen leichter messen.
Rückschlüsse durch elektrische Leistung und Takt
Wenn etwa der Level-1-Cache komplett gefüllt ist und das zu belauschende Programm Daten hineinschreibt, lassen sich Bit-Änderungen zuverlässiger erkennen. Das funktioniert am besten durch das Auslesen der Leistungsaufnahme über die Funktion "Running Average Power Limit" (RAPL). Weil die Forscher präzise genug schätzen können, wie viel Energie bestimmte Datenbewegungen kosten, können sie Rückschlüsse auf die geschriebenen Bits ziehen.
Seit dem Aufkommen von Platypus setzt das Auslesen der RAPL-Schnittstelle allerdings Adminrechte voraus. Deswegen abstrahiert Collide+Power wie Hertzbleed geschriebene Daten anhand der Taktfrequenz: Datenbewegungen erzeugen durch ihren Energieverbrauch winzige Taktveränderungen.
Zwei Angriffsvarianten
Eine Variante, die aktives Hyper-Threading voraussetzt, nennen die Sicherheitsforscher Meltdown-Power, in Anlehnung an den Anfang 2018 bekannt gewordenen Seitenkanalangriff Meltdown. Hält ein Programm etwa einen Key für einen verschlüsselten Speicherbereich im Cache vor und greift ständig auf diesen zu, kann Collide+Power über Taktveränderungen immerhin 4,82 Bit pro Stunde auslesen. Dazu müssen das belauschte Programm und Collide+Power über zwei Threads auf demselben CPU-Kern laufen.
Die zweite Variante MDS-Power lehnt an Microarchitectural-Data-Sampling-Angriffe wie ZombieLoad an. Sie funktioniert ohne Hyper-Threading und ist nicht darauf angewiesen, dass ein Programm immer wieder die gleichen Daten in den anzugreifenden Cache lädt. MDS-Power überwacht ausschließlich Veränderungen durch Datenbewegungen in einem Cache, die durch Pre-Fetches entstehen. So soll der Angriff alle Abschottungsversuche moderner Systeme umgehen. Das funktioniert mit 0,136 Bit pro Stunde allerdings nur äußerst langsam.
Lange Laufzeiten
Praktische Angriffe sind damit unrealistisch, weil sie für brauchbare Ergebnisse über ein Jahr lang laufen müssten. Die Forscher merken aber an, dass weiter ausgeklügelte Pre-Fetching-Tricksereien das Prozedere beschleunigen könnten.
Collide+Power hat die CVE-Nummer CVE-2023-20583 erhalten, allerdings noch ohne Risikoeinschätzung. Letztere dürfte aufgrund der Einschränkungen gering ausfallen. AMD, ARM und Intel wollen in Kürze Tipps veröffentlichen, um die Gefahr durch Collide+Power zu minimieren.
Wie erwartet geht AMD in einem eigenen Security-Bericht von einem geringen Schweregrad bei Collide+Power in der aktuellen Form aus. Praktische Angriffe seien unwahrscheinlich. Optional kann man die maximalen Taktfrequenzen begrenzen oder den Boost komplett ausschalten, sodass weniger Rückschlüsse über Taktvariationen möglich sind. Von ARM und Intel gibt es noch keine Berichte.
(mma)