Einzelansicht

 Mi, 15. Jul. 2020   Rodler, Michael

Gefahr für sensible Daten

Im Zuge unserer Forschungsarbeit zu Trusted Execution Environments hat unser Team mehrere Schwachstellen in sicherheitskritischen Programmen entdeckt, die in extra geschützten Speicherbereichen moderner Intel-Prozessoren ausgeführt werden. Dadurch könnte schlimmstenfalls Schadsoftware in sensible Programme eingeschleust werden, z.B. in die Software von Fingerabdruckscannern. Mit Hilfe von unserem Team haben die betroffenen Firmen ihre Programme bereits nachgebessert.

Neuere Prozessoren der Firma Intel bieten Anwendungsentwickler*innen die Möglichkeit, mit Hilfe der „Software Guard Extensions (Intel SGX)“ speziell gesicherte Speicherbereiche, sogenannte Enklaven, zu erstellen. Durch eine hardwarebasierte Verschlüsselung werden dabei ausgewählte Speicherinhalte des Prozessors vom Rest des Systems abgeschirmt. Selbst wenn eine Spionagesoftware ein System befallen würde, käme ein Angreifer prinzipiell nicht an die Daten oder den Code in der Enklave. Damit eignet sich die SGX-Technologie sehr gut, um z.B. eine vertrauenswürdige Ausführungsumgebung in einer Cloud zu schaffen oder um biometrische Daten auf einem Computer zu verarbeiten – wenn sie denn fehlerfrei eingesetzt wird.

In fast allen öffentlich verfügbaren Enklaven konnte unser Team allerdings Lücken aufdecken und Angriffe, sogenannte Proof-of-Concept-Exploits, zum Ausnutzen der Schwachstellen konstruieren. So haben wir Defizite in Beispielcodes von Intel und Baidu/Apache nachgewiesen, die eigentlich bei der Programmierung von sicheren Enklaven helfen sollten. Besonders brisant: Auch zwei mittels SGX geschützte Fingerabdruck-Treiber von Synaptics (CVE-2019-18619) und Goodix (CVE-2020-11667) konnten Angriffen nicht standhalten. Sie werden auf neueren Notebooks von Lenovo und Dell eingesetzt, um biometrische Daten sicher zu verarbeiten. Die Enklave des Messenger-Dienstes Signal war hingegen immun gegen diese Angriffe.

Die Ergebnisse wurden den betroffenen Firmen bereits im November letzten Jahres mitgeteilt. Inzwischen haben sie die Fehler in dem Code der Enklaven behoben bzw. die Lücken der Fingerabdruckscanner durch jüngste Windows-Updates geschlossen. Die technischen Details der Proof-of-Concept-Exploits werden 12. August 2020 auf der renommierten Sicherheitskonferenz USENIX Security 2020 vorgestellt.

Wie konnten die Schwachstellen nachgewiesen werden?

Im Zuge unserer Forschungsarbeit haben wir ein Tool namens TeeRex entwickelt, das ein speziell auf SGX-Enklaven zugeschnittenes Framework zum Auffinden von Schwachstellen und Konstruktion von Proof-of-Concept-Exploits bereitstellt. Dieses analysiert durch symbolische Ausführung automatisch, ob der Binärcode von SGX-Enklaven an der Schnittstelle zwischen Enklave und dem Rest des Systems Schwachstellen aufweist. Die Analysen mit TeeRex haben ergeben, dass viele Enklaven Laufzeitfehler enthalten, die es einem Angreifer ermöglichen, Funktionszeiger (Pointer) zu korrumpieren oder willkürliche Operationen im Speicher durchzuführen. Ein Angreifer könnte so vollständig die Kontrolle über die Enklaven gewinnen.

Weiterführende Informationen:

Das Paper auf dem 29th USENIX Security Symposium (bis zum 12.08. ist nur der Abstract verfügbar):

https://www.usenix.org/conference/usenixsecurity20/presentation/cloosters

Mehr Informationen zu der Forschungsarbeit (Pre-Print, PoC Exploits):

https://www.syssec.wiwi.uni-due.de/en/research/research-projects/analysis-of-tee-software/, paper pre-print (pdf)