Was ist Hertzbleed und was macht die neue Entdeckung so besonders?

Eine der komplexesten und dennoch leicht verständlichen Infosec-Studien der letzten Zeit.

Im Juni veröffentlichten Forscher dreier US-Universitäten ein Paper, in dem sie eine aktuelle Angriffsmethode beschreiben, bei der die Tatsache ausgenutzt wird, dass sich die CPU-Frequenz in Abhängigkeit von ihrer Belastung ändert (Standardverhalten moderner CPUs). Die CPU-Frequenz wird in Hertz gemessen; die Änderung der Frequenz kann hierbei zu einem Datenleck führen. Die Autoren der Studie haben die dadurch mögliche Angriffsreihe deshalb auf den Namen Hertzbleed getauft.

Die Methode kann als Hardware-Angriff eingestuft werden, d. h. als Angriff, der Sicherheitslücken oder andere spezifische Schwachpunkte in der Hardware ausnutzt. Angriffe dieser Art gibt es viele, aber fast alle erfordern direkten Zugriff auf den Zielcomputer – oder zumindest auf einen bestimmten Chip. Hertzbleed kann jedoch aus der Ferne manövrieren!

Die Studie ist sehr interessant und lässt sich trotz ihrer Komplexität auch für Laien verständlich zusammenfassen. Um die detaillierteren Feinheiten zu verstehen, ist jedoch ein gewisses Hintergrundwissen erforderlich. Wir haben uns dazu entschieden, im Anschluss sowohl eine leicht verständliche als auch eine etwas komplexere Erklärung des Angriffs an unsere Leser weiterzugeben.

Das Logo spiegelt die Grundidee der Schwachstelle wider: Das Ändern der CPU-Frequenz führt zu Datenlecks. Quelle.

 

Hertzbleed einfach erklärt

Um Strom zu sparen, ändern moderne CPUs ihre Frequenz. Diese wird (ebenso wie die CPU-Spannung) automatisch an die jeweilige Belastung angepasst. Fallen nur wenige Aufgaben an, kann die Frequenz sehr niedrig sein – beispielsweise 900 MHz statt der nominellen 3,2 GHz. Wird die CPU hingegen mit vielen Aufgaben konfrontiert, kann die Frequenz der CPU-Kernel über den Referenzwert hinausgehen. In der Praxis ist die Last (Anzahl und Komplexität der Aufgaben) nicht das einzige Kriterium für die Änderung der Frequenz. Sie kann zum Beispiel auch dann gesenkt werden, wenn die CPU überhitzt.

Den Forschern gelang es, diese systemeigene Funktion zu nutzen, um den Zustand der CPU bei der Ausführung eines Datenverschlüsselungsprogramms zu messen und im selben Zuge sensible Informationen zu stehlen. Sie fanden eine Funktion eines modernen Verschlüsselungsalgorithmus, die die CPU dazu „zwingt“, ihre Frequenz bei der Verarbeitung bestimmter Daten zu erhöhen. Je höher die Frequenz ist, desto schneller die Datenverarbeitung und Reaktionszeit des angegriffenen Computers auf Anfragen. Durch die Messung der Antwortzeit konnten die Forscher den eigentlich geheimen Verschlüsselungskey rekonstruieren, mit dem sie dann theoretisch Daten, die das Zielsystem z. B. mit anderen Computern in einem virtuellen privaten Netzwerk austauscht, abfangen und entschlüsseln können. All das, ohne das der „Diebstahl“ des Schlüssels überhaupt registriert wird.

Hertzbleed entwickelt die Idee von Hardware-Angriffen über sogenannte Seitenkanäle. Gleichzeitig wird mit dieser Angriffsmethode die hypothetische Möglichkeit eingeführt, Daten aus der Ferne zu stehlen, indem Anfragen das potenzielle Opfer über das Netzwerk erreichen. Doch vorerst bleibt dies eine rein theoretische Übung auf der Suche nach komplexen Schwachstellen in modernen CPUs. Es ist jedoch möglich, dass solche Angriffe in Zukunft „vereinfacht“ werden.

Die etwas komplexere Erklärung

Seitenkanalangriffe werden durch die indirekte Beobachtung des Betriebs eines einzelnen Chips oder eines ganzen Computers durchgeführt. Die klassische Seitenkanalangriffsmethode besteht in der Beobachtung von Schwankungen im Stromverbrauch des Chips. Ist letzterer beispielsweise damit beschäftigt, Daten zu verschlüsseln, können Änderungen des Stromverbrauchs in manchen Fällen genutzt werden, um den dazu verwendeten Geheimschlüssel zu rekonstruieren.

Seitenkanäle können sowohl software- als auch hardwarebasiert sein. In der bekannten Spectre-Studie wird ein solcher Seitenkanal direkt in der CPU verwendet, wobei spekulative Ausführungsfunktionen ausgenutzt werden, um sensible Daten zu stehlen. Zudem ist der Anschluss eines Voltmeters an den Computer oftmals nicht notwendig, um den Stromverbrauch der CPU zu überwachen, da diese meist über ein integriertes Voltmeter verfügt. Mithilfe eines Systems zur Überwachung des durchschnittlichen Stromverbrauchs von Intel-Prozessoren wurde bereits ein Angriff im Zusammenhang mit Hertzbleed entwickelt.

Lassen Sie uns nun einen Blick auf die dynamische Anpassung der CPU-Frequenz werfen. Ermöglicht wird dies durch die DVFS-Technik, mit anderen Worten, die dynamische Spannungs- und Frequenzskalierung. Neben der Frequenz variiert auch die CPU-Spannung, um optimale Betriebsbedingungen zu gewährleisten (geringer Stromverbrauch bei geringer Last, stabiler Betrieb bei Spitzenleistung). Die Forscher beschreiben detailliert, wie sie zahlreiche DVFS-Experimente mit Intel-Prozessoren durchgeführt haben (Intel selbst nennt diese Technologie Turbo Boost). Sie reduzierten die CPU-Last auf einen vernachlässigbaren Wert und beobachteten dann, wie sich die Frequenz veränderte. Dabei zeigten sich mehrere Muster: Um es so weit wie möglich zu vereinfachen: Die CPU-Frequenz stieg bei einem Satz von Berechnungsdaten tendenziell an, bei einem anderen wiederum nicht. Außerdem führte eine höhere Frequenz zu schnelleren Berechnungen und dementsprechend auch zu einem schnelleren Ergebnis.

Schauen wir uns nun noch einen letzten, dritten Begriff an, der in diesem Zusammenhang von Bedeutung ist: die zeitkonstante Programmierung. Diese ist bei der Implementierung eines Verschlüsselungsalgorithmus von Bedeutung. Nehmen wir an, ein Programm erhält eine bestimmte Phrase als Eingabe und gibt dieselbe Phrase verschlüsselt wieder aus. Wir können Daten als Input geben, kennen den geheimen Verschlüsselungscode, den wir in der Zwischenzeit durch Beobachtung der Ausführungszeit zu ermitteln versuchen, jedoch nicht. Dies ist vergleichbar mit dem Versuch, einen Tresor zu knacken, der mit einem geheimen digitalen Code versehen ist und minimal anders auf fast richtige Zahlenfolgen reagiert und uns warm-kalt-Hinweise gibt. Die meisten Programme, die Verschlüsselungsalgorithmen implementieren, verfügen über einen Schutzmechanismus, um Versuche zu verhindern, den Schlüssel auf diese Weise zu ermitteln – das eigentliche Prinzip der zeitkonstanten Programmierung.

Das wichtigste Ergebnis der Hertzbleed-Studie ist, dass die dynamische Anpassung der CPU-Frequenz das Prinzip der zeitkonstanten Programmierung – d. h. die Zeitinvarianz bei der Verschlüsselung – bricht. Die Forscher zeigten, wie man sich diese Tatsache zunutze machen kann. Dazu nahmen sie ein System mit einer realen Datenverschlüsselungssoftware und gaben eine Zeichenabfolge ein, die das Programm dann zu entschlüsseln versuchte. Die Eingaben wurden so gewählt, dass ein Angreifer den Verschlüsselungskey rekonstruieren kann. Außerdem wird der Schlüssel über einen Seitenkanal extrahiert, d. h. das Datenleck entsteht durch eine Änderung der CPU-Frequenz und dementsprechend der Programmausführungszeit und der Antwortzeit auf die Anfrage des Angreifers.

 

Fehlende Folgen

In unserer „komplexen Erklärung“ haben wir ungefähr 0,05% der von den Forschern präsentierten Informationen abgedeckt. Es gibt unzählige weitere Nuancen, die für das Verständnis der Funktionsweise ebenfalls wichtig sind. Insbesondere haben die Forscher eine Funktion des SIKE-Algorithmus genutzt, um Bedingungen zu schaffen, die ein Datenleck durch Änderung der Reaktionszeit oder der Frequenz ermöglichen. Dies ähnelt dem bereits erwähnten Spectre-Angriff, bei dem spezielle Bedingungen in der angegriffenen Software geschaffen werden müssen, um den Diebstahl wichtiger Daten zu ermöglichen. Streng genommen lässt sich auf der Grundlage der Ergebnisse der Studie nicht eindeutig sagen, wo die Schwachstelle liegt: in der CPU oder im Programm.

Des Weiteren müssen wir folgenden Aspekt der Umsetzung erwähnen: Obwohl die Forscher einen tatsächlichen, praktischen (nicht theoretischen) Angriff demonstrierten, wurde dieser unter kontrollierten Bedingungen durchgeführt. Die Veränderung der Reaktionszeit in Abhängigkeit von den Eingaben war immer konstant. Was aber, wenn die CPU gleichzeitig andere Aufgaben ausführt, die sich ebenfalls auf die Reaktionszeit auswirken? Denn immerhin nahm die Rekonstruktion des Verschlüsselungskeys (in zwei verschiedenen Experimenten) selbst unter solchen idealen Bedingungen jeweils 36 bzw. 89 Stunden in Anspruch! Während dieser Zeit wurden Tausende von Anfragen pro Sekunde an das Verschlüsselungsprogramm gesendet. Die einzige Möglichkeit, um sicherzustellen, dass alle notwendigen Funktionen der Software und der Hardware aufeinander abgestimmt waren, um das Datenleck hervorzurufen.

Daher war die Reaktion auf die Studie nicht eindeutig. Einerseits wurden die Schwachstellen mit den üblichen Bezeichnungen versehen: CVE-2022-23823 für Intel und CVE-2022-24436 für AMD. Doch weder Intel noch AMD haben Updates für die betroffenen Systeme (bei Intel die CPUs Generation 8. bis 11.) in Aussicht gestellt. Tatsächlich hat die Änderung des SIKE-Algorithmus den demonstrierten Angriff verhindert. Microsoft und Cloudflare, die SIKE als eines der Elemente in ihren Verschlüsselungssystemen verwenden, haben ihre eigene Software aktualisiert.

Dennoch ist die Studie von großer Bedeutung. Wie Spectre im Jahr 2018 wird dies nicht der letzte Angriff dieser neuen Klasse sein. Wenn ein Beispiel für ein Datenleck durch dynamische Anpassung der CPU-Frequenz gezeigt werden kann, werden sicherlich weitere folgen. Auch für Kryptographen ist die Studie von Bedeutung. SIKE ist ein relativ neuer Algorithmus, wurde allerdings bereits auf seine Robustheit gegenüber Seitenkanalangriffen untersucht und als recht widerstandsfähig befunden. Mit der Hertzbleed-Studie wird dieses Ergebnis jedoch teilweise widerlegt.

Abschließend könnte man sagen, dass der Angriff, wie so oft bei solchen Studien, „entdeckt“ aber nicht vollständig und erfolgreich in die Praxis umgesetzt wurde. Die Entwickler von CPUs und Programmen, die besonders anfällig für Angriffe von Cyberkriminellen sind, werden ihre eigenen Schlüsse aus den Ergebnissen ziehen und Änderungen vornehmen, bevor Datenlecks entstehen können. Nichtsdestotrotz besteht die Möglichkeit, dass Forscher beim nächsten Mal eine Entdeckung machen, die es Angreifern ermöglicht, beispielsweise verschlüsselten Netzwerkverkehr abzufangen oder die Verschlüsselung völlig anonym zu knacken. Mit ein wenig Fantasie könnte das in dieser Studie beschriebene System derartige Ausmaße annehmen. Dies muss jedoch erst noch bewiesen werden, und die Hertzbleed-Studie zeigt, dass dies keine leichte Aufgabe ist. Bei den Schwachstellen der Spectre-Klasse kam es seit nun mehr als vier Jahren nicht zu einem solchem Durchbruch. Auch hier wird sich wahrscheinlich nicht viel ändern: In etwa einem Jahr wird ein weiterer Bericht veröffentlicht werden, der den vorherigen leicht präzisiert. Und das ist positiv zu bewerten. Schließlich gibt es bereits genug Probleme im Bereich Informationssicherheit!

Tipps