Do, 14. Jul. 2022   Birgit Kremer

Sicherheitslücken in Fingerabdrucksensoren und Krypto-Wallets

Unser Team hat zusammen mit Forschern des DFG Exzellenzclusters CASA eine neue Technik entwickelt, die erstmals das Fuzz-Testing von besonders geschützten Speicherbereichen moderner Prozessoren ermöglicht. Mithilfe dieser Methode konnten wir Schwachstellen in sicherheitskritischen Programmen entdecken.

Sie sollen besonders sensible Daten vor Missbrauch schützen –  die „Software Guard Extensions“ (SGX) von Intel. Die weit verbreitete Technologie wird eingesetzt, um einen bestimmten Speicherbereich vom Rest eines Computers abzuschirmen. In einer solchen Enklave lässt sich beispielsweise ein Passwortmanager sicher ausführen, selbst wenn das übrige System von Schadsoftware befallen sein sollte.

Nicht selten schleichen sich allerdings Fehler bei der Programmierung der Enklaven ein. Bereits 2020 hat unsere Arbeitsgruppe mehrere Schwachstellen in SGX-Enklaven entdeckt und veröffentlicht (zum Artikel: Gefahr für sensible Daten). Nun ist uns gemeinsam mit Partnern des Exzellenzclusters CASA ein weiterer Durchbruch bei der Analyse-Technik gelungen:  Während wir zuvor den Enklaven-Code auf Basis symbolischer Ausführung analysierten, ermöglicht unsere neueste Entwicklung das sehr viel effektivere Fuzz-Testing. Hierbei wird ein Programm mit einer großen Anzahl von Eingaben konfrontiert, um Rückschlüsse auf die Struktur des Codes zu ziehen. „Fuzzing lässt sich nicht ohne Weiteres auf Enklaven anwenden – schließlich ist deren Speicherbereich ja extra vor Zugriffen von außen geschützt“, erklärt Tobias Cloosters (wissenschaftl. Mitarbeiter in unserer Arbeitsgruppe) die Herausforderung. „Außerdem sind für das Fuzzing verzweigte Datenstrukturen notwendig, welche wir dynamisch aus dem Enklaven-Code rekonstruieren.“ Forschungspartner Johannes Willbold aus dem Forschungskolleg "SecHuman - Sicherheit für Menschen im Cyberspace" von der Ruhr-Universität Bochum ergänzt: „Auf diese Weise lassen sich die abgeschirmten Bereiche ohne Zugriff auf den Quellcode analysieren.“

Dank moderner Fuzzing-Technik konnten wir viele, bisher unbekannte Sicherheitslücken aufspüren. Betroffen waren diesmal alle getesteten Fingerabdruck-Treiber sowie Wallets zur Aufbewahrung von Kryptowährung. Hacker könnten diese Schwachstellen ausnutzen, um biometrische Daten auszulesen oder das gesamte Guthaben der gespeicherten Krypto-Währung zu stehlen. Alle Hersteller wurden informiert; das SKALE Network zeigte sich für die Hinweise sogar mit einer „Bug-Bounty“-Prämie in Form von Krypogeld erkenntlich. Drei Schwachstellen wurden in das allgemein zugängliche CVE-Verzeichnis aufgenommen. Die Ergebnisse unserer Arbeit werden auf dem USENIX Security Symposium in Boston (USA) im August vorgestellt.

Weitere Infos

CVE steht für Common Vulnerabilities and Exposures und listet größere, öffentlich bekannte Sicherheitslücken. Die hier referenzierten Schwachstellen haben die CVE-Einträge CVE-2021-3675 (Synaptics Fingerprint Driver), CVE-2021-36218 (SKALE sgxwallet ) und CVE-2021-36219 (SKALE sgxwallet)

Veröffentlichung: Cloosters, Tobias; Willbold, Johannes; Holz, Thorsten; Davi, Lucas Vincenzo: SGXFuzz: Efficiently Synthesizing Nested Structures for SGX Enclave Fuzzing. In: Proc. of 31st USENIX Security Symposium. 2022. Pre-Print: SGXFuzz: Efficiently Synthesizing Nested Structures for SGX Enclave Fuzzing

TEE Projektseite: Analysis of TEE Software 

DFG Exzellenzcluster CASALink zur CASA-Website