/ Security / ClkScrew: Geheime Schlüssel mit der Brechstange aus der ARM Trustzone auslesen

ClkScrew: Geheime Schlüssel mit der Brechstange aus der ARM Trustzone auslesen

Moritz Rosenfeld on September 27, 2017 - 9:03 am in Security

Die ARM-Chips in Smartphones lassen sich mittels Stromsparfunktionen angreifen, um Zugriff auf Informationen in der Trustzone der Geräte zu erlangen. Damit ließe sich Verschlüsselung knacken, die sogar vor Angreifern mit Root-Rechten sicher sein sollte.

Mit Manipulationen über die Stromsparfunktionen moderner Systems-on-Chip mit ARM-Kernen kann man diese dazu bringen, geheime Schlüssel auszuspucken, die in der speziell gesicherten Trustzone der SoCs verwahrt sind. Das haben Sicherheitsforscher der US-amerikanischen Columbia University herausgefunden, in dem sie Taktfrequenz und Spannung der SoCs manipulierten. Für den Angriff benötigen sie Root-Rechte, allerdings keinen physischen Zugang zu den Boards, wie bei den meisten anderen Angriffen dieser Art.

ARM Trustzone soll eigentlich Informationen und Code so speichern, dass auch das System mit Root- oder Kernel-Rechten nicht herankommt. Wie die Columbia-Forscher nun zeigen, ist es möglich, über die Stromsparfunktionen des Kernels Fehler bei Rechenoperationen der CPU zu provozieren, die wiederum dazu missbraucht werden können, um Informationen aus der Trustzone auszulesen oder sogar eigenen Code dort einzuschleusen. Sie missbrauchen dafür eine Technik namens Dynamic Voltage and Frequency Scaling (DVFS), über die Software die Taktfrequenz und die Spannungszufuhr der CPU-Kerne regeln kann.

Fundamental unsichere Stromsparfunktionen

Die Forscher beschreiben in ihrer Abhandlung zu dem Angriff namens ClkScrew, wie sie es über die DVFS-Funktionen schaffen, die CPU-Kerne in Arbeitsbereiche zu bringen, die außerhalb ihrer Toleranzgrenzen liegen. Dann macht die CPU bei Berechnungen Fehler, weil sie übertaktet läuft oder zu wenig Spannung zum Arbeiten bekommt.

Damit nur der Ziel-Code gestört wird und nicht auch der Schadcode des Angreifers, muss dieser es schaffen, den Ziel-Code auf einem anderen Kern ausführen zu lassen. Die Columbia-Forscher haben dafür ein Linux-Kernel-Modul geschrieben, dass sie auf dem Smartphone Nexus 6 erfolgreich getestet haben.

Übertakten des Prozessor-Kerns führt dazu, dass aus dem Ergebnis 1 eine 0 wird.
Übertakten des Prozessor-Kerns führt dazu, dass aus dem Ergebnis 1 eine 0 wird. Vergrößern
Bild: Tang et al.

In ihrer Arbeit identifizieren die Forscher mehrere Schwachstellen im Design des ARM-SoCs, welche den Angriff ermöglichen. Zum einen schaffen sie es, den Prozessor mittels Android-System-Software in Bereiche zu bringen, in denen er nicht mehr richtig funktioniert.

Außerdem werden Befehle der Trustzone zwar getrennt von denen des Betriebssystems ausgeführt, Manipulationen über Stromsparfunktionen betreffen sie aber nach wie vor. Das gilt laut der Studie etwa auch für Intel SGX.

Und schließlich kann man wichtige Informationen über Trustzone-Prozesse mit Mitteln auslesen, die außerhalb der Trustzone für Betriebssystem-Prozesse verfügbar sind.

Ein Ausweg wird auf sich warten lassen

Die Sicherheitsforscher haben die Hersteller der betroffenen ARM-Systeme bereits im Vorfeld ihrer Veröffentlichung über die Schwachstellen informiert. Man arbeite nun an Wegen, den Angriff auszubremsen. Wegen des komplizierten Zusammenspiels zwischen Hardware und Software und der essenziellen Bedeutung von Stromsparfunktionen in Mobilgeräten werden Lösungen aber wohl eine ganze Weile auf sich warten lassen.

Die Forscher vermuten außerdem, dass ähnliche Angriffe auf x86-Prozessoren möglich sind, haben das allerdings bisher nicht geprüft. Intel SGX wurde bereits erwähnt, AMD nutzt ARM Trustzone in allen aktuellen Prozessoren für den Platform Security Processor (PSP). Das wiederum ist die Basis für ein fTPM 2.0. ARM Trustzone wiederum kommt etwa auch bei der Android-Vollverschlüsselung zum Einsatz. (fab)

Read more on: Source

Comments are disabled