Sicherheitsexperten umgehen die Fingerabdruck-Authentifizierung von Windows Hello

Sicherheitsexperten von Blackwing Intelligence ist es gelungen, die Windows Hello-Fingerabdruckauthentifizierung auf Geräten mit den drei am häufigsten verwendeten Fingerabdrucksensoren in Windows zu umgehen.

Die Experten wurden von Microsofts Offensive Research and Security Engineering gebeten, verschiedene Fingerabdruck-Sensoren zu testen, die für die Authentifizierung mit Windows Hello verwendet werden könnten.

Die drei Ziel-Laptops waren das Dell Inspiron 15, das Lenovo ThinkPad T14 und das Microsoft Surface Pro Type Cover mit Fingerabdruck-ID.

Der Bericht beginnt mit den Grundlagen. Die Forscher erklären, wie Fingerabdrucksensoren der aktuellen Generation funktionieren. Alle Fingerabdrucksensoren waren MoC-Sensoren, was Match on Chip bedeutet. Die Sensoren verwenden integrierte Mikroprozessoren, um die Überprüfung von Authentifizierungsanfragen durchzuführen. Windows Hello erfordert Fingerabdrucksensoren, die MoC unterstützen.

Zwei potenzielle Angriffsvektoren gegen MoCs sind das Spoofing von Kommunikation und das Abspielen von zuvor aufgezeichnetem Datenverkehr, der Anfragen authentifiziert.

Microsoft war sich dieser Unzulänglichkeiten bewusst, als es Windows Hello entwickelte und schuf das Secure Device Connection Protocol (SDCP), um diese zu beheben. Damit wird im Wesentlichen sichergestellt, dass das Fingerabdruckgerät vertrauenswürdig ist und nicht manipuliert wird, und die Kommunikation zwischen dem Fingerabdruckgerät und dem Hostsystem geschützt.

Einzelheiten zu den jeweiligen Angriffen finden Sie im Folgenden. Das erste Ziel war der Dell Inspiron 15 Laptop. Der verwendete Sensor von Goodix unterstützt Windows Hello, SDCP und wird auch unter Linux eingesetzt.

Die Linux-Version lieferte den Forschern Anhaltspunkte für die Implementierung und die Umgehung. Unter Windows wird die SDCP-Spezifikation für die Anmeldung befolgt. Dies ist unter Linux jedoch nicht der Fall. Der Hauptunterschied besteht darin, dass unter Windows eine ID als "MAC-Operation auf dem Host erzeugt und auf dem Sensor validiert" wird. Dadurch wird die Verwendung beliebiger IDs verhindert. Unter Linux erzeugt der Host-Treiber die ID und sendet sie zur Speicherung an den Sensor.

Die Forscher entdeckten nach einigen Versuchen, dass es möglich ist, die Linux-Vorlagendatenbank (und damit die ID) für die Authentifizierung zu verwenden. Es war ein Man-in-the-Middle-Angriff erforderlich, um die Konfigurationspakete umzuschreiben, aber schließlich gelangten sie doch in das Gerät.

Das zweite Gerät, das Lenovo Thinkpad T14, erforderte einen anderen Ansatz. Die Forscher entdeckten, dass SDCP auf dem Chip deaktiviert war, obwohl es unterstützt wurde. Der Synaptic-Sensor verwendete einen eigenen TLS-Stack für die sichere Kommunikation zwischen Host und Sensor.

Nachdem das herausgefunden war, wurde der Plan gefasst, TLS direkt anzugreifen. Sie konnten bereits mit TLS kommunizieren und Client-Zertifikate und Schlüsseldaten auslesen. Die Daten sind verschlüsselt, und nach einigen Nachforschungen fanden die Forscher heraus, dass der Schlüssel aus dem Produktnamen und der Seriennummer des Geräts abgeleitet ist.

Mit diesem Wissen entwickelten die Ingenieure einen Angriff, der es ihnen ermöglichte, die verschlüsselten Daten zu lesen und zu entschlüsseln, eine TLS-Sitzung mit dem Sensor aufzubauen, gültige IDS-Fingerabdruckvorlagen aufzulisten, die gültigen IDs zu fälschen und Windows mit dem gefälschten Fingerabdruck zu starten.

Das letzte Gerät, das Microsoft Surface Pro, verwendete einen Chip von ELAN. Die Forscher waren überrascht, als sie feststellten, dass dieser Chip kein SDCP verwendet, die USB-Kommunikation im Klartext erfolgt und keine Authentifizierung stattfindet. Dieser Sensor war am einfachsten zu umgehen, da er keine Sicherheit bietet.

Alle drei Fingerabdrucksensoren wurden im Test umgangen, so dass sich Angreifer als Benutzer eines beliebigen Systems anmelden konnten. Die meisten Windows-Benutzer sollten die Fingerabdruck-Authentifizierung auf Windows-Laptops vorerst nicht verwenden, bis diese Probleme behoben sind.