Sicherheitslücke Platypus: Passwörter per Leistungsmessung aus der CPU ausleiten
Wieder gelingt es einem Forscherteam, eigentlich geschützte Daten aus Intel-CPUs abzuleiten. Diesmal per Software-Leistungsmessung.

Eine Forschergruppe der Unis Graz und Birmingham sowie des Cispa-Helmholtz-Zentrums hat eine alte Angriffsmethode auf CPUs neu aufgelegt und den Angriff Platypus (Power Leakage Attacks Targeting Your Protected User Secrets) getauft. Das Team nutzt dazu minimale Unterschiede in der Leistungsaufnahme von CPUs, um geheimes Schlüsselmaterial aus der CPU auszuleiten.
Bisher setzten derartige Angriffe einen physischen Zugriff und die Messung etwa über Oszilloskope voraus. Bei dem Platypus-Angriff reicht dazu jedoch eine Software-Schnittstelle von Intel, die mit einfachen Nutzerrechten ausgenutzt werden konnte. Intel hat ein eigenes Security-Advisory für die Lücke (CVE-2020-8694, CVE-2020-8695) veröffentlicht.
Anders als etwa bei den Spectre- und Meltdown-Angriffen, die darauf basieren, dass gleiche Speicherbereiche von der CPU genutzt werden, nutzt der Platypus-Angriff eine schwer zu ändernde physische Verhaltensweise der CPUs selbst aus. Die Idee dabei ist, dass der Energiebedarf der CPU je nach genutztem Befehl unterschiedlich ist.
Wie Schnabeltiere (englisch Platypus), die mit Hilfe von Elektrorezeptoren in ihrem Schnabel nach Nahrung suchen, sucht das Forscherteam nun eben mit Hilfe der Energieaufnahme der CPUs nach Geheimnissen, wie das Team schreibt. Seit der Sandy-Bridge-Generation von Intels CPUs steht zur Messung dazu die Schnittstelle Intel Running Average Power Limit (RAPL) bereit, die bisher auch mit einfachen Nutzerrechten verwendet werden konnte. Mit der Technik können Maximalgrenzen für die Leistungsaufnahme von Prozessen festgelegt oder eben deren Energiebedarf gemessen werden.
Statistische Analysen für den Angriff
Das Team weist darauf hin, dass die RAPL-Schnittstelle nur mit höchstens 20 kHz genutzt werden kann. Die für derartige Angriffe sonst genutzten Oszilloskope bieten jedoch eine Genauigkeit von teilweise mehreren GHz. Für den Platypus-Angriff können also nicht direkt die bisherigen Szenarien übernommen werden. In dem nun veröffentlichen Angriff nutzen die Beteiligten deshalb eine vergleichsweise weitgehende statistische Analyse, um letztlich über die ungenauen Messungen doch noch Schlüsse auf die Ausführung einzelner Befehle ziehen zu können.
Dem Team gelingt es damit, zwischen verschiedenen Befehlen und verschiedenen Hamming-Gewichten von Operanden und Ladevorgängen aus dem Speicher unterscheiden zu können. Daraus kann das Team wiederum die tatsächlich geladenen Werte ableiten. Ebenso kann die Kontrollstruktur abgeleitet werden. Letztlich ist es damit möglich, AES-NI-Schlüssel aus Intels SGX abzuleiten oder auch den privaten Teil von RSA-Schlüsseln aus Mbed TLS. Ebenso lässt sich die Schutztechnik KASLR überlisten. Der Angriff auf SGX dauert jedoch 26 Stunden, was die Praktikabilität deutlich einschränkt.
Der unmittelbare Schutz gegen den Platypus-Angriff besteht darin, den Zugriff auf die RAPL-Schnittstelle zu begrenzen, was mit aktuellen Linux-Kernel-Patches bereits umgesetzt wurde. Der Angriff ließe sich dann aber auch weiterhin mit Root-Rechten durchführen. Intel hat Microcode-Updates veröffentlicht, die die durchgeführte statistische Analyse verhindern sollen.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Im Artikel steht doch, dass eben keine Oszilloskope benötigt werden, sondern der Angriff...
Ah, ok, danke!