Sicherheitslücke: Microsofts Multi-Faktor-Authentifizierung umgangen
Eigentlich sollten Microsofts Onlinedienste mit Fido-Stick und PIN geschützt sein - doch zwei Entwickler konnten die PIN-Abfrage umgehen.

Die Standards Fido2 und Webauthn ermöglichen passwortloses Anmelden bei Internetdiensten, beispielsweise mit einem Fido-Stick. Dabei setzt Microsoft auf Multi-Faktor-Authentifizierung (MFA): Um das kryptografisch gesicherte Anmeldeverfahren des Fido-Sticks zu nutzen, muss dieser zudem mit einer PIN oder einem Fingerabdruck authentifiziert werden. Doch ob tatsächlich eine PIN eingegeben wurde, prüfte Microsoft nicht.
Damit war es effektiv möglich, eine Ein-Faktor-Authentifizierung durchzuführen und sich im Falle von Fido-Sticks mit NFC im Vorbeigehen als dessen Eigentümer anmelden, wie Dominik Schürmann und Vincent Breitmoser von der Firma Cotech, die Passwörter abschaffen will, herausgefunden haben. Microsoft hat die Sicherheitslücke mittlerweile behoben.
Das Unternehmen ist einer der wenigen Anbieter, die bereits passwortloses Anmelden für ihre Onlinedienste ermöglichen. Beim Hinterlegen eines Fido-Sticks fragt der Browser nach einer PIN, die auf dem Stick gespeichert wird. Doch der Fido2-Standard unterstützt passwortloses Anmelden sowohl mit als auch ohne PIN. Ob diese abgefragt wird, kann der jeweilige Dienst per Javascript festlegen, ansonsten entscheidet der Browser.
Doch Microsoft hatte die Variable userVerification nicht gesetzt. Chrome habe dann entschieden, die PIN abzufragen, was bei der Nutzerschaft den Eindruck entstehen lasse, dass die PIN als zusätzliche Sicherung benötigt wird, erklärt Schürmann. Wird sie aber nicht - obwohl Microsoft auf seiner Supportseite zum Login mit Fido-Sticks die PIN-Eingabe mehrfach erwähnt.
Microsoft sieht kein Sicherheitsproblem, fixt aber
Die Javascript-Variable lässt sich jedoch ohnehin im Browser überschreiben. Schürmann und Breitmoser haben dafür ein Tampermonkey-Skript veröffentlicht, das die PIN-Abfrage in Chrome unterbindet. Doch noch viel schwerer wiegt, dass Microsoft auch serverseitig nicht überprüfte, ob eine PIN eingegeben wurde oder nicht. "Bei einem Login mit Webauthn werden verschiedene Flags mit übertragen, beispielsweise ob der Button des Fido-Sticks gedrückt wurde oder die PIN eingegeben wurde", erklärt Schürmann. Für eine Multi-Faktor-Authentifizierung müsste der Server die entsprechende Flag prüfen und einen Ein-Faktor-Login-Versuch ablehnen.
Doch genau das hat Microsoft nicht gemacht: Eine Anmeldung mit einem gestohlenen Fido-Stick wäre möglich gewesen. Unterstützte der Fido-Stick jedoch die Funktechnik NFC, konnte man sich sogar im Vorbeigehen in ein Microsoft-Konto einer anderen Person einloggen, wie Schürmann und Breitmoser in einem Proof-of-Concept-Video (PoC) demonstrieren.
Im Juni wiesen Schürmann und Breitmoser Microsoft auf das Problem hin. Das Unternehmen setzte daraufhin die Javascript-Variable und begann auf dem Server zu prüfen, ob eine PIN eingegeben wurde. Als Sicherheitsproblem stufte man den Fund jedoch nicht ein.
Nextcloud setzt auf passwortlose Ein-Faktor-Authentifizierung
Auch die Cloudsoftware Nextcloud bietet seit Version 19 passwortloses Anmelden nach dem Webauthn-Standard an. Auch hier wurde die Javascript-Variable nicht festgelegt, entsprechend fragte Chrome beim Hinterlegen eines Fido-Sticks nach einer PIN. Auch hier kontaktierten Schürmann und Breitmoser den Hersteller und wiesen ihn auf das Problem hin, da der Nutzerschaft so ein falsches Sicherheitsgefühl vermittelt werde.
Seit Version 19.0.1 verlange Nextcloud keine PIN mehr beim Hinterlegen oder Anmelden, da dieses wirklich komplett passwortlos funktionieren solle, erklärte das Nextcloud-Team. Das passwortlose Login ist dann eine Ein-Faktor-Authentifizierung, die durch einen weiteren Faktor wie TOTP ergänzt werden kann.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
Weltpolizei... Amerikaner... was erwartet man denn? Anzeige dagegen und prüfen lassen...
Alle diese neuen Verfahren sind im Grunde private/public Key verfahren, da muss nichts...
Oh Mann... Ironie! - schon mal gehört?