Sicherheitslücke Hertzbleed: x86-Prozessortaktung verrät Geheimnisse

Ein Forscherteam belauscht kryptografische Berechnungen auf modernen x86-CPUs anhand charakteristischer Taktfrequenzänderungen.

In Pocket speichern vorlesen Druckansicht 74 Kommentare lesen

(Bild: Mark Mantel / heise online)

Lesezeit: 2 Min.

Der Seitenkanalangriff "Hertzbleed" beobachtet, wie Prozessoren von AMD oder Intel ihre Taktfrequenz und Leistungsaufnahme verändern, während sie bestimmte Daten verarbeiten. Daraus schließt Hertzbleed auf die verarbeiteten Daten, etwa um Geheimwerte zu ermitteln. Sechs Sicherheitsforscher von drei US-amerikanischen Universitäten wiesen nach, dass sich damit der geheime Schlüsselwert extrahieren lässt, den ein Linux-Server für den kryptografischen SIKE-Algorithmus verwendet (Supersingular Isogeny Key Encapsulation, ein Kandidat für Post-Quantum Cryptography/PQC).

Zwar sind praktisch alle modernen Prozessoren in Desktop-PCs, Notebooks und Servern mit Turbo- beziehungsweise Boost-Taktfrequenzen von dem Problem betroffen, jedoch ist die praktische Bedeutung von Hertzbleed (CVE-2022-24436) aufgrund des hohen Aufwands vergleichsweise gering. Laut Intels Security Advisory (Intel-SA-00698) stellt Hertzbleed ein "mittleres" Risiko dar und ist nur von einem authentifizierten User nutzbar. AMD hat das Security Bulletin AMD-SB-1038 zur Sicherheitslücke veröffentlicht.

Das Logo zur Hertzbleed-Attacke.

(Bild: hertzbleed.com)

Die Sicherheitsexperten stellen Hertzbleed auf dem USENIX Security Symposium im August genauer vor. Sie empfehlen insbesondere, den Code für kryptografische Algorithmen so anzupassen, dass sich keine charakteristischen Auswirkungen auf Taktfrequenz und Leistungsaufnahme der CPU ergeben. Bisher dazu übliche Methoden genügten nicht. Im schlimmsten Fall ließe sich der Angriffsvektor durch eine Fixierung der CPU-Taktfrequenzen schließen, was jedoch die Leistung verringern würde.

Um die aktuelle Leistungsaufnahme der jeweiligen CPU zu ermitteln, nutzt Hertzbleed wie der im November 2020 vorgestellte Platypus-Angriff die Linux-Funktion Running Average Power Limit (RAPL). Die Frequenz liest Hertzbleed alle 5 Millisekunden über die Machine Specific Registers (MSRs) MSR_IA32_MPERF und MSR_IA32_APERF aus.

(ciw)