Die (Un)sicherheit von Windows Hello

ebastler

Rather active member
Themenstarter
Registriert
29 Dez. 2018
Beiträge
1.511
Habe heute einen interessanten Artikel gelesen, in dem Forscher Windows Hello Fingerabdruck Authentifizierung auf einem ThinkPad, einem Inspiron und einem Surface Pro X geknackt haben indem sie dem System einen Sensor vorgetäuscht haben der aber keiner war.

Microsoft hätte eigentlich Protokolle um das zu verhindern, aber die wurden nicht (2 der 3 Notebooks) bzw mangelhaft (der dritte) aktiviert.

Diese Angriffe erfordern Zugriff auf die Hardware über einen längeren Zeitraum (Gerät zerlegen, "falschen" Sensor anstecken), aber sind durchaus machbar und nicht rein theoretischer Natur... Der Materialaufwand ist nahe null, und wenn es jemand in ein Script umbaut ist es vermutlich auch für nicht-Experten durchaus machbar.

 
All tested fingerprint sensors were Match-on-Chip (MoC) sensors with their own microprocessor and storage, allowing fingerprint matching to be performed securely within the chip.

...

For the Surface device, whose ELAN fingerprint sensor had no SDCP protection, used cleartext USB communication, and had no authentication, they spoofed the fingerprint sensor after disconnecting the Type Cover containing the sensor and sent valid login responses from the spoofed device.

Das ist ja teilweise fast wie den Fingerprint Reader per GPIO mit einem CPU-Pin zu verdrahten und bei High-Pegel zu entsperren :LOL:


Immerhin war bei den Thinkpads der Kommunikationskanal verschlüsselt... :cautious:
 
"Windows" und "Sicherheit" ist ein Oxymoron
Hab' jetzt nochmal die Artikel zu dem Thema, um das es hier geht, gelesen und würde sagen: Die Lücke im SDCP-gesicherten Fingerabdrucksensor entsteht hier sogar erst durch Linux.
Hier zur Erklärung:
- das Microsoft Surface Pro Type Cover kommuniziert unverschlüsselt via USB mit dem Surface Pro. Hier wird kein Sicherheitsfeature genutzt, daher so leicht knackbar.
- das Lenovo ThinkPad T14(s) nutzt das SDCP-Protokoll nicht, obwohl die Hardware es können würde. Stattdessen wird nur die Übertragung per TLS gesichert, der Key der Verschlüsselung lässt sich aber leicht aus der Seriennummer und dem Typ berechnen. Dann auch leicht knackbar.
- das Dell Inspiron 15 ist das einzige, das hier die vorgesehene Sicherheitsfunktion von Windows Hello nutzt, also SDCP implementiert. Tatsächlich konnten die Forscher SDCP auch nicht knacken. Allerdings hat der Sensor zwei Datenbanken - eine Datenbank für Windows, bei dessen Zugriff SDCP genutzt wird und eine Datenbank für Linux, die völlig ungesichert ist, weil Linux kein SDCP und auch keine vergleichbare Sicherheitsfunktion bietet. Unter Linux wäre der Fingerabdrucksensor also eh schon offen wie ein Scheunentor. Und das machten sich die Forscher dann auch zunutze. Sie haben unter Linux ihren eigenen Fingerabdruck in der Linux-Datenbank hinterlegt. Beim Booten konnten sie dann dem Sensor mitteilen, dass Linux gebootet sein würde (obwohl es in Wahrheit Windows war), was natürlich - aufgrund fehlender Linux-Absicherung durch Authentifizierung ging - und somit ihre Linux-Fingerabdrücke nutzen um Windows zu entsperren.

Klar hätte auch letzteres nicht funktionieren sollen/dürfen, aber grundsätzlich loben auch die Forscher die Sicherheit von Microsofts SDCP und bemängeln, dass die Hersteller es nicht richtig verstanden haben bzw. nicht richtig implementieren bzw. sogar gar nicht aktivieren. So wie ich das sehe, ist Microsoft SDCP also eine gute Sache und liefert eine zusätzliche Sicherheit - eine, die Linux hier gar nicht bieten kann.

tl;dr: deine pauschale Aussage ist Mist.
 
Ahem, nein. Wäre es eine "gute Sache", dann wäre Sourcecode und Implementierung offen. Ist es aber nicht, M$ halt. Auch wenn es Aiphaton und Cuco nicht passt: es ist ein Unerschied, ob du dich zusätzlich gegen dein spionierendes OS wehren musst (mit allen Hintertürchen) oder ob du deinem OS zumindest ansatzweise vertrauen kannst.
 
Abgesehen von der Wasser-undichtigkeit von diversen Sicherheitslösungen halte ich Biometrie aus anderen Gründen für problematisch. Selbst perfekt eingebunden kann irgendwas kaputt gehen - Hardware oder Software, und plötzlich sitzt man da und starrt mit seinem dummen Gesicht in die Cam, die nicht will. Ein Passwort hat weniger Probleme, und die wenigen Probleme die sich all diese Lösungen teilen sind quasi : Festplatte oder Bootsektor kaputt.

Und das ist die perfekte Welt. In einer imperfekten Welt hat man seine biometrischen Daten jetzt irgendwo gespeichert. Oder man kann ganz ohne die grauen Zellen belasten zu müssen von einem "bösen Mann" vor die Maschine gesetzt werden oder der Fingerabdruck wird eingefordert um was zu entsperren. Selbst als Zusatzlösung schafft man eigentlich nur ein mehr an möglichen Problemfällen, genauso wie auch Passwort + USBStick "mit Bonus-Key" im Endeffekt mehr Probleme schafft als aus der Welt räumt.

Aber ich bin da vielleicht etwas zu KISS. Ich mag (gute) Passwörter und schlichte Lösungen. TPM bei mir übrigens auch ausgeschaltet, aus dem gleichen Grund. Ich will nicht dass irgendeine Software das TPM erkennt und nutzt und ich merke es zu spät, wenn ich es entweder ausschalte oder auf einmal was nicht mehr geht.

Windows mag Probleme haben, ist aber wenn man es gescheit einrichtet besser als sein Ruf.
 
Ahem, nein. Wäre es eine "gute Sache", dann wäre Sourcecode und Implementierung offen. Ist es aber nicht, M$ halt.
Ist es doch.
Doku: https://github.com/Microsoft/SecureDeviceConnectionProtocol/wiki/Secure-Device-Connection-Protocol
Referenz-Implementierung: https://github.com/microsoft/SecureDeviceConnectionProtocol

Auch wenn es Aiphaton und Cuco nicht passt: es ist ein Unerschied, ob du dich zusätzlich gegen dein spionierendes OS wehren musst (mit allen Hintertürchen) oder ob du deinem OS zumindest ansatzweise vertrauen kannst.
Wir können weiter mit pauschalen Aussagen um uns werfen oder vielleicht mit Argumenten und Tatsachen zum Thema "Sicherheit von Windows Hello" arbeiten, um das es hier im Thread geht. Ich wäre für letzteres.
Ich bin übrigens auch ein großer Fan von Linux und open source. Aber ich verstehe immer Fanboy-Aussagen nicht, die nur pauschal sagen "mein System ist besser". Und da ist mir egal, ob es um Windows, Linux, macOS, Android, iOS oder sonstwas geht. Das ist nie zielführend.

Abgesehen von der Wasser-undichtigkeit von diversen Sicherheitslösungen halte ich Biometrie aus anderen Gründen für problematisch.
Biometrische Faktoren als Passwort-Ersatz zu nehmen ist sowieso immer nur ein Komfortgewinn, niemals aber ein Sicherheitsgewinn. Denn ein Passwort kann ich ändern. Einen Fingerabdruck quasi nicht (oder nur sehr begrenzt). Und so sieht es mit den meisten biometrischen Faktoren aus. Zur Identifizierung natürlich hilfreich, ohne Fingerabdrücke, DNA und weitere Faktoren wäre unsere moderne Strafverfolgung auf einem ganz anderen Level. Aber als Login-Ersatz halt immer mit dem Problem, dass man z.B. Fingerabdrücke leicht kopieren kann und der Eigentümer seinen wie gesagt dann nicht ändern kann.
 
Leider legt Linux die eingelesenen Fingerabdrücke als Datei auf der Festplatte ab. Es gibt auch solch ein "tolles" Programm, sich das Bild des Fingerabdruckes anschließend auf dem Monitor anzuschauen. Dazu wird fprintd (Fingerprint-Software unter Linux) überhaupt nicht weiterentwickelt und Sicherheit spielt für die Entwickler lt. Kritikern keine Rolle.

Was Lenovo- Besitzer unter Linux schützt ist, daß es für alle Geräte der letzte zehn Jahre ohnehin keinen Treiber mehr für die Fingerabdruckleser unserer Thinkpads gibt und daher alle Nutzer gezwungen sind, Passwörter zu verwenden. Das ist doch einmal ein Beweis, dass Linux sicherer ist, oder? ;-)

Microsoft wird sich der Sicherheitsfragen annehmen, ungeachtet aller in der Tat berechtigten Kritikpunkte zur Telemetrie.
 
@Ravensberger Du irrst bei beiden Feststellungen:

1. Wenn der Leser ein Modell mit lokaler Speicherung ist, dann kann und wird Linux nichts auf der Platte speichern.

2. War Lenovo's Linux-Team in den letzten Jahren fleissig und hat dafür gesorgt, dass bei neuen, Linux-zertifizierten Modellen auch der Fingerabdruckleser mit Treibern (und sogar per LVFS mit Firmware) versorgt wird. Z.B. das P14s Gen 2 AMD.

Was derzeit fehlt, ist die SDCP-Implementierung in Linux. Sofern das ein offengelegter Standard sein sollte, wird die auch früher oder später kommen.
 
Ungeachtet dessen, dass das eingangs geschilderte Sicherheitsloch ohnehin eher als Hirngespinst angesehen werden kann, wenn zum Erreichen der "Sicherheitslücke" das Gerät zerlegt und der Fingerabdrucksensor ausgetauscht werden muss, kann ich gerne einmal festhalten:

Die Fingerabdrücke liegen unter fprintd unter /var/lib/fprint/Benutzername/ . Das betrifft die älteren Scanner, die seitens des Betriebssystems von Haus aus unterstützt werden.

Meine Auswahl an Hardware ist begrenzt, wie meine Zeit und Geld auch. Also:
fprintd mit T480: nichts. fprintd mit L590: nichts. Oder genauer: "GDBus.Error:net.reactivated.Fprint.Error.NoSuchDevice"
Das T480 kann man mit dem seit drei Jahren nicht mehr gepflegten python-validity, basierrend auf open-fprintd, in Betrieb bekommen. Der Weg hierzu ist im Projekt beschrieben und meines Erachtens abenteuerlich, und bei späteren Updates rappelt es richtig aufgrund Inkompatibilitäten.

Sollte es mittlerweile wieder Geräte mit Treibern im Linux Kernel geben, freut mich das natürlich.
 
  • ok1.de
  • ok2.de
  • thinkstore24.de
  • Preiswerte-IT - Gebrauchte Lenovo Notebooks kaufen

Werbung

Zurück
Oben