Konkrete Kritik an CVSS4
Marc Ruef
WebAuthn basiert auf einer vorangegangenen FIDO-Spezifikation namens Universal Authentication Factor (UAF). Diese wurde damals jedoch nicht gross beachtet, da sie unter anderem die Thematik mobiler Browser gänzlich ausser Acht liess. Durch die Unterstützung der grossen Browserhersteller wird WebAuthn im Gegensatz ein hohes Mass an Marktpräsenz erlangen können und damit zu einem beachtenswerten Element moderner Websicherheit werden.
Ein Webdienst muss WebAuthn als Authentisierungsmechanismus anbieten. Der Benutzer muss dann in einem ersten Schritt sein Gerät auf diesem Dienst registrieren. Dazu steuert er den Dienst mit seinem kompatiblen Browser an und beginnt die Registration. Er kann dann seine lokal gespeicherte Identität auswählen und diese mit dem Dienst verknüpfen. Hierzu muss er voraussichtlich eine klassische Authentisierung mittels Benutzername/Passwort vornehmen. Von da an kann er zukünftig auf die Nutzung der klassischen Credentials verzichten. Stattdessen kann er sich mit seinem Gerät anmelden.
Sind die Hürden einer erfolgreichen Registrierung genommen, kann auf einen relativ simplen und leicht nachvollziehbaren Mechanismus zwecks Authentisierung zurückgegriffen werden. Benutzer müssen sich nicht mit zig unterschiedlichen Authentisierungsformen und individuellen Implementierungen auseinandersetzen. Der Login im Online-Banking dürfte weitestgehend gleich funktionieren, wie bei Webmail oder einem Webforum auch. Gerade Gelegenheitsnutzer dürften sich durch die Simplifizierung im täglichen Umgang überzeugen lassen.
Die Nutzung eines asymmetrischen Verfahrens steigert die Sicherheit des Ablaufs einer Authentisierung massgeblich. Ein einfacher Diebstahl von Credentials zwecks Wiederverwendung (Re-Use-Attack) wird durch die kryptografische Beschaffenheit des Mechanismus verhindert.
Da jeweils für jeden Dienst eine neues Schlüsselpaar definiert wird, lassen sich auch sogenannte Birthday-Attacken verhindern. Es ist nämlich nicht mehr möglich, dass für die Authentisierung zwei unterschiedlicher Dienste die gleichen Credentials eingesetzt werden. Ein Data Breach bei einem Dienst hat somit keine direkten Auswirkungen auf die sichere Authentisierung eines anderen Dienstes. Die zunehmende Anzahl der Datenbreaches bzw. das gesteigerte Interesse an diesen macht dies nämlich zu einem echten Problem.
Die Registrierung wird immer über einen alternativen Kanal bzw. einen alternativen Weg stattfinden müssen. Typischerweise wird dies über Benutzername/Passwort geschehen. Ein Angreifer kann während dieser Phase die Registrierung mitlesen, manipulieren oder stören. Hierbei handelt es sich um das klassische Problem symmetrischer Verschlüsselung: Wie kann zu beginn der das Pre-Shared Secret (der Schlüssel) auf sichere Weise ausgetauscht werden?
In der Pressemitteilung von W3C kommt der Executive Director der FIDO Alliance zu Wort und vermeldet, dass mit WebAuthn endlich phishing-resistente Authentisierung eingeführt werden kann (“phishing-resistant FIDO Authentication”). Dies ist fachlich inkorrekt, denn nach wie vor können Benutzer mittels Phishing dazu bewegt werden, eine Authentisierung teilweise oder vollumfänglich durchzuführen. Dies haben wir im Rahmen vieler Kundenprojekte immer wieder bewiesen. Das Heranziehen eines weiteren Faktors erschwert lediglich die Reproduzierbarkeit eines Angriffs.
Nach wie vor existiert auch das Risiko von Fehlern bei der Umsetzung im logischen Ablauf. Zum Beispiel ist der Anbieter eines Dienstes verantwortlich, das wiederholte Benutzen der gleichen erfolgreichen Authentiserung (Replay-Attack) zu erkennen und zu verhindern.
Viele Authentisierungsmechanismen, dazu gehören auch Merhfaktor-Lösungen, erlauben das Caching von Authentisierungsdaten. So könnte ein USB-Stick als zusätzlicher Faktor so konfiguriert werden, dass eine Authentisierung mittels PIN oder Fingerabdruck nur alle 30 Minuten stattfinden muss. Ein wichtiges Element der Erhöhung des Komforts, die die gesamte Sicherheit aber – mindestens in diesem Zeitfenster – wieder zunichtemachen kann.
Hinzu kommt, dass mit jeder technischen Erweiterung die Codekomplexität eines Browsers erhöht wird. Damit steigt auch das Risiko von Programmierfehlern. Beobachtungen des Exploit-Handels zeigen klar auf, dass sowohl die Anzahl kritischer Schwachstellen in Browsern als auch das kommerzielle Risiko an diesen Schwachstellen stetig zunimmt.
Nicht zu vergessen ist, dass die Architektur von WebAuthn Risiken für die Privatsphäre eines Nutzers mit sich bringt. Durch die systematische Auswertung von Attestation Keys können Benutzer über verschiedene Dienste hinweg verfolgt und protokolliert werden. Der Standard sieht hier gewisse Massnahmen vor, um eine solche Auswertung zu erschweren. Dies erfordert eine entsprechende Anpassung bei der Implementierung durch die jeweiligen Produktehersteller. Es bleibt abzuwarten, ob diese sich aktiv für die Privatsphäre ihrer Kunden einsetzen werden.
Strenge Authentisierung ist der richtige Weg, um mit einer Vielzahl altbekannter und stetig aktueller Gefahren umgehen zu können. Dass solche Mechanismen mittlerweile selbstverständlich in populären Diensten angeboten und durch die Anwender auch genutzt werden, ist ein klar positiver Trend.
Mit WebAuthn versucht man diese Standardisierung im Web voranzutreiben. Dabei lagert man aber einen Grossteil der Logik beim Client – vorzugsweise im Webbrowser – aus. Diese Zunahme der Software-Komplexität wird zur Erhöhung der Angriffsfläche eines Elements beitragen, das schon jetzt im Fokus von Angreifern ist.
WebAuthn wird Probleme lösen können, aber ebenso einige neue einführen. Es bleibt zu hoffen, dass die Vorteile überwiegen können. Ob dies der Fall sein wird, werden wir wohl erst in 1-2 Jahren sehen.
Unsere Spezialisten kontaktieren Sie gern!
Marc Ruef
Marc Ruef
Marc Ruef
Marc Ruef
Unsere Spezialisten kontaktieren Sie gern!