SYSS-2017-027: Biometricks: Bypassing an Enterprise-Grade Biometric Face Authentication System

SySS-IT-Sicherheitsexperten Matthias Deeg und Philipp Buchegger zeigen Spoofing-Angriff gegen Windows Hello Face Authentication von Microsoft

Abstract

Die zwei IT-Sicherheitsexperten Matthias Deeg und Philipp Buchegger der SySS GmbH zeigen einen Spoofing-Angriff gegen verschiedene Versionen des biometrischen Authentifizierungsverfahrens Windows Hello Face Authentication von Microsoft.

The two IT security experts Matthias Deeg and Philipp Buchegger of SySS GmbH demonstrate a spoofing attack against different versions of the biometric authentication system Microsoft Windows Hello Face Authentication.­  

Biometricks (Deutsche Fassung)

Im Rahmen eines Forschungsprojekts ist es den beiden IT-Sicherheitsexperten Matthias Deeg und Philipp Buchegger von der SySS GmbH gelungen, das biometrische Authentifizierungsverfahren Windows Hello Face Authentication von Microsoft in verschiedenen Versionen des Betriebssystems Windows 10 mit einem Spoofing-Angriff zu umgehen.

Um Windows Hello Face Authentication auf zahlreichen Windows 10-Versionen [1] auf unautorisierte Weise zu umgehen, benötigt ein Angreifer lediglich einen speziellen Papierausdruck mit dem Gesicht einer berechtigten Person. Was den Papierausdruck besonders macht, sind die folgenden Eigenschaften:

  • Das Gesicht der Person wurde frontal fotografiert
  • Die Aufnahme der Person wurde im Nahinfrarotbereich erstellt
  • Helligkeit und Kontrast der Aufnahme wurden mit einfachen Mitteln verändert
  • Der Papierausdruck wurde mit einem Laserdrucker erzeugt

Mit Papierausdrucken dieser Art ist es möglich, Windows Hello Face Authentication erfolgreich in verschiedenen Versionen von Windows 10 mit unterschiedlichen Hard- und Softwarekonfigurationen zu umgehen.

Die Gesichtserkennung von Windows 10 ist ein integraler Bestandteil des Windows Biometric Framework (WBF), das eine Kernkomponente des Windows 10-Betriebssystems darstellt. Windows Hello Face Authentication verwendet für die Benutzerauthentifizierung Informationen einer speziellen Nahinfrarotkamera (Near-IR Camera) und, abhängig von der genutzten Windows 10-Version, zusätzlich auch Informationen einer RGB-Kamera.

Allgemein kann Windows Hello Face Authentication in zwei unterschiedlichen Konfigurationen betrieben werden, zum einen in der Standardkonfiguration ohne aktivierte "Enhanced Anti-Spoofing"-Funktionalität und zum anderen mit aktivierter "Enhanced Anti-Spoofing"-Funktionalität. Die Standardkonfiguration lässt sich hierbei mit einfacheren Mitteln umgehen und stand bei Tests mit unterschiedlicher Hardware (Dell Latitude Laptop mit Windows Hello-kompatibler USB-Kamera von LilBit und Microsoft Surface Pro 4) immer zur Verfügung. Die "Enhanced Anti-Spoofing"-Funktionalität hingegen kann laut Microsoft nur mit bestimmter Hardware genutzt werden, wie beispielsweise dem Microsoft Surface Pro 4. Eine Liste von Windows Hello-kompatiblen Geräten wie Laptops, Tablets und Smartphones findet sich beispielsweise auf der Internetpräsenz von Microsoft [2].

Weitere Informationen darüber, wie Windows Hello funktioniert und über die zugrunde liegende Metrik bezüglich False Acceptance Rate (FAR) und False Rejection Rate (FRR), werden ebenfalls auf der Internetpräsenz von Microsoft aufgeführt [3].

Unser Proof-of-Concept-Video "Biometricks 1/3: Windows Hello Face Authentication Bypass PoC I" [4] demonstriert beispielhaft einen erfolgreichen Angriff gegen Windows Hello Face Authentication auf einem Microsoft Surface Pro 4 mit Windows 10 in der Version 1607 mit aktivierter "Enhanced Anti-Spoofing"-Funktionalität.

Die aktuellen Testergebnisse unserer Forschungsarbeit zu erfolgreichen Authentication Bypass-Angriffen werden in folgender Tabelle zusammengefasst:

 

Windows Version Test Device 1 Dell Latitude E7470 with LilBit USB Camera Test Device 2 Microsoft Surface Pro 4
with enhanced anti-spoofing without enhanced anti-spoofing with enhanced anti-spoofing without enhanced anti-spoofing
Windows 10 Pro (Version 1709, OS Build 16299.98) n/a yes no yes
Windows 10 Pro (Version 1709, OS Build 16299.19) n/a yes untested untested
Windows 10 Pro (Version 1703, OS Build 15063.726) n/a yes no yes
Windows 10 Pro (Version 1703, OS Build 15063.674) n/a yes untested untested
Windows 10 Pro (Version 1703, OS Build 15063.483) n/a yes untested untested
Windows 10 Pro (Version 1607, OS Build 14393.1914) n/a yes yes yes
Windows 10 Pro (Version 1607, OS Build 14393.1770) n/a yes yes yes
Windows 10 Pro (Version 1511, OS Build 10586.1232) n/a yes untested untested

 

Im Frühjahr 2018 werden wir weitere Ergebnisse und Details unseres Forschungsprojekts veröffentlichen, beispielsweise zu unterschiedlichen Variationen des Angriffs. Unser Proof-of-Concept-Video "Biometricks: Windows Hello Face Authentication Bypass PoC II" [5] zeigt beispielsweise zwei Varianten des Spoofing-Angriffs mit unterschiedlichen Mitteln.

Nach unseren bisher gewonnenen Erkenntnissen sind die neueren Windows 10-Versionen (Branches) 1703 und 1709 mit Nutzung der "Enhanced Anti-Spoofing"-Funktionalität und entsprechender Hardware nicht anfällig für den hier beschriebenen Spoofing-Angriff mit einem Papierausdruck.

Die SySS GmbH empfiehlt daher, bei der Verwendung von Windows Hello Face Authentication das Windows-Betriebssystem auf die neuste Version von 1709 zu aktualisieren, "Enhanced Anti-Spoofing" zu aktivieren und im Anschluss daran Windows Hello Face Authentication neu zu konfigurieren.

Falls ein Betriebssystemupdate ausgehend von einer anfälligen Windows 10-Version wie beispielsweise 1511 oder 1607 erfolgte, ist Windows Hello Face Authentication ohne Neukonfiguration nach dem Softwareupdate immer noch anfällig für den Spoofing-Angriff, wie unser Proof-of-Concept-Video "Biometricks: Windows Hello Face Authentication Bypass PoC III" [6] illustriert.

Weitere Informationen zu der beschriebenen Authentication Bypass-Schwachstelle von Windows Hello Face Authentication finden Sie in unserem Security Advisory SYSS-2017-027 [7].

Referenzen

Biometricks (English version)

In the course of a research project, the two IT security experts Matthias Deeg and Philipp Buchegger of SySS GmbH were able to bypass the biometric authentication system Windows Hello face authentication by Microsoft on different versions of the Microsoft Windows 10 operating system via a spoofing attack.

In order to bypass Windows Hello face authentication on different versions of the Windows 10 [1] in an unauthorized way, an attacker only needs a special paper printout with the face of an authorized person. What makes this paper printout special are the following features:

  • The image shows a frontal view of the person's face
  • The image was taken with a near-infrared camera
  • Brightness and contrast of the image were modified via simple image processing methods
  • The paper printout was created with a laser printer

By using paper printouts of this kind, Windows Hello face authentication can successfully be bypassed on different Windows 10 versions with different hardware and software configurations.

Face recognition is an integral part of the Windows Biometric Framework (WBF) which is a Microsoft core component of the Windows 10 operating system. Windows Hello face authentication utilizes data from a special near-infrared camera and, depending on the used Windows 10 version, also data from an RGB camera.

In general, Windows Hello face authentication can be used in two different configurations. On the one hand, there is the default configuration with disabled "enhanced anti-spoofing" feature, and on the other hand, there is a more secure configuration with enabled "enhanced anti-spoofing" feature. Windows Hello face authentication in the default configuration can be bypassed by simpler means and was always available with different hardware during our tests (Dell Latitude laptop with Windows Hello compatible USB camera from LilBit and Microsoft Surface Pro 4). However, according to Microsoft, the configuration with enabled "enhanced anti-spoofing" feature can only be used on specific hardware, for example, the Microsoft Surface Pro 4. A list of Windows Hello compatible devices like laptops, tablets, and smartphones can be found on the Microsoft website [2].

Further information about how Windows Hello works and on its metrics concerning the false acceptance rate (FAR) and the false rejection rate (FRR) can also be found on the Microsoft website (see [3]).

Our proof-of-concept video "Biometricks: Windows Hello Face Authentication Bypass PoC I" [4] demonstrates a successful attack against Windows Hello face authentication on a Microsoft Surface Pro 4 with Windows 10 version 1607 and enabled "enhanced anti-spoofing" feature.

Current research results concerning our authentication bypass attacks are summarized in the following table:

 

Windows Version Test Device 1 Dell Latitude E7470 with LilBit USB Camera Test Device 2 Microsoft Surface Pro 4
with enhanced anti-spoofing without enhanced anti-spoofing with enhanced anti-spoofing without enhanced anti-spoofing
Windows 10 Pro (Version 1709, OS Build 16299.98) n/a yes no yes
Windows 10 Pro (Version 1709, OS Build 16299.19) n/a yes untested untested
Windows 10 Pro (Version 1703, OS Build 15063.726) n/a yes no yes
Windows 10 Pro (Version 1703, OS Build 15063.674) n/a yes untested untested
Windows 10 Pro (Version 1703, OS Build 15063.483) n/a yes untested untested
Windows 10 Pro (Version 1607, OS Build 14393.1914) n/a yes yes yes
Windows 10 Pro (Version 1607, OS Build 14393.1770) n/a yes yes yes
Windows 10 Pro (Version 1511, OS Build 10586.1232) n/a yes untested untested

 

In spring 2018, we are going to publish further test results and details of our research project, for instance concerning different variations of the attack. Our proof-of-concept video "Biometricks: Windows Hello Face Authentication Bypass PoC II" [5] exemplarily shows two variations of the spoofing attack utilizing different methods.

According to our test results, the newer Windows 10 branches 1703 and 1709 are not vulnerable to the described spoofing attack by using a paper printout if the "enhanced anti-spoofing" feature is used with respective compatible hardware.

Thus, concerning the use of Windows Hello face authentication, SySS recommend updating the Windows 10 operating system to the latest revision of branch 1709, enabling the "enhanced anti-spoofing" feature, and reconfiguring Windows Hello face authentication afterwards.

If only the Windows 10 operating system is updated from a vulnerable version like 1511 or 1607 to the latest version of 1709 without setting up Windows Hello face authentication anew, the described spoofing attack with a paper printout still works, as our proof-of-concept video "Biometricks: Windows Hello Face Authentication Bypass PoC III" [6] illustrates.

You can find further information about the authentication bypass vulnerability in different versions of Windows Hello face authentication in our security advisory SYSS-2017-027 [7].

References

Ihr direkter Kontakt zu SySS +49 (0)7071 - 40 78 56-0 oder anfrage@syss.de | IN DRINGENDEN FÄLLEN AUSSERHALB DER GESCHÄFTSZEITEN +49 (0)7071 - 40 78 56-99

Als Rahmenvertragskunde wählen Sie bitte die bereitgestellte Rufbereitschaftsnummer

Ihr direkter Kontakt zu SySS +49 (0)7071 - 40 78 56-0 oder anfrage@syss.de

IN DRINGENDEN FÄLLEN AUSSERHALB DER GESCHÄFTSZEITEN +49 (0)7071 - 40 78 56-99

Als Rahmenvertragskunde wählen Sie bitte die bereitgestellte Rufbereitschaftsnummer

Direkter Kontakt

+49 (0)7071 - 40 78 56-0 oder anfrage@syss.de

IN DRINGENDEN FÄLLEN AUSSERHALB DER GESCHÄFTSZEITEN

+49 (0)7071 - 40 78 56-99

Als Rahmenvertragskunde wählen Sie bitte die bereitgestellte Rufbereitschaftsnummer