SYSTOLA
WIR BLOGGEN WOANDERS
SystoLOCK: Eine echte passwortlose MFA-Plattform für Windows-Domänen
Unser Gastbeitrag bei Devolutions, inc. über SystoLOCK, eine echte passwortlose Multi-Faktor-Authentifizierungsplattform, die verbesserte Sicherheit gegen den Diebstahl von Zugangsdaten bietet.
Roman Kuznetsov @ 25.05.2023
Follow Roman Kuznetsov on LinkedIn
Wo ist passwortloses MFA für Windows?

„Passwortlos" ist ein Schlagwort in der modernen Welt der Authentifizierung, mit verschiedenen Ansätzen vor allem in webbasierten Produkten (denken Sie an Passkeys). Leider gibt es keine native Unterstützung für echte MFA in Windows-Domänenumgebungen, wenn man von Azure-basierter MFA und Windows Hello for Business absieht. Daher bieten die meisten Drittanbieter MFA-Unterstützung für Windows in Verbindung mit einem passwortbasierten Ansatz an.
Es gibt nur sehr wenige Lösungen auf dem Markt, die eine echte kennwortlose MFA für Microsoft Active Directory on-prem bieten, und SystoLOCK ist die einzige Lösung, die vollständig autark und selbst gehostet ist, nicht auf Cloud-Dienste angewiesen ist und alle gängigen Anwendungsszenarien unterstützt, von der Systemanmeldung über den Identitätswechsel und den Zugriff auf Netzwerkfreigaben bis hin zu RDP- und VPN-Zugriff.


Wie unterscheidet sich SystoLOCK von herkömmlicher MFA?

Der MFA-Ansatz von SystoLOCK unterscheidet sich stark von dem der meisten Anbieter: Es ist zwar ein echtes MFA-System, d. h. es verwendet 2 von 3 Faktoren zur Authentifizierung eines Benutzers, verlässt sich dabei aber nicht auf das Passwort des Benutzers und verwaltet auch keine Passwortrotation im Hintergrund. Genauer gesagt verwaltet es separate Sätze von kryptografischen Anmeldedaten, die vom Benutzerobjekt im Active Directory getrennt und bei der Anmeldung überprüft werden. Nach erfolgreicher Überprüfung dieser Anmeldeinformationen registriert SystoLOCK ein kurzlebiges (nur für diese eine Anmeldung gültiges) Zertifikat für den Benutzer und legt dieses Zertifikat dem Domänencontroller vor, wo die endgültige Authentifizierung stattfindet. Hier ist ein Diagramm des gesamten Prozesses:
SystoLOCK stützt sich auf gehärtete Instanzen von AD CS, die nur die eigenen Anfragen bedienen sollen.

Wichtig ist, dass der Ansatz nicht beim Anmeldebildschirm aufhört, sondern sich auf alle nachfolgenden Berechtigungsanfragen erstreckt, einschließlich Netzwerkzugriff, Benutzer-Impersonation und Privilegienerhöhung:
Und was passiert mit dem Passwort? Nun, SystoLOCK ist im Wesentlichen eine virtuelle Smartcard und präsentiert sich dem System als solche. Daher können wir eine "Smartcard erforderlich"-Kontoeinstellung auf das Benutzerobjekt im AD anwenden und so effektiv jede passwortbasierte Authentifizierung und jeden Brute-Force-Angriff oder den Diebstahl von Anmeldeinformationen verhindern.


SystoLOCK für RDP: Plötzliche Harmonie

Das Einloggen in eine RDP-Sitzung war noch nie ein trivialer Prozess, wenn es richtig gemacht wurde. Wenn Sie versuchen, MFA zu diesem Prozess hinzuzufügen, werden noch mehr Probleme offensichtlich, und mit einer NLA-Anforderung können Sie sich in der Fehlersuche verzetteln. Bei herkömmlichen MFA-Anbietern geben Sie normalerweise Ihr Kennwort an der lokalen RDP-Eingabeaufforderung ein, sofern diese so konfiguriert ist, und führen dann den zweiten Schritt des MFA-Prozesses auf dem Remote-Bildschirm aus. In der RDP-Protokollarchitektur gibt es einfach keinen Platz für die MFA-Anmeldeinformationen, daher die Dualität.

Als wir SystoLOCK entwickelt haben, wollten wir die Benutzererfahrung rationalisieren und diese Dualität beseitigen. Der daraus resultierende Ablauf ist genau das: Sie geben Ihre Anmeldedaten einmal ein und werden dann in die RDP-Sitzung aufgenommen, ohne dass ein zweiter Schritt erforderlich ist - unabhängig davon, ob NLA erzwungen wird oder nicht, ist die Erfahrung immer nahe an einer einmaligen Anmeldung.
Ein weiterer wichtiger Aspekt der RDP-Unterstützung ist die Verhinderung des Diebstahls von Anmeldeinformationen. Wenn Sie einen einfachen kennwortbasierten oder herkömmlichen MFA-Ansatz verwenden und Ihr Client oder Host kompromittiert wird, kann das Kennwort, das Sie in die RDP-Authentifizierungsaufforderung eingeben, gestohlen werden, es sei denn, Credential Guard ist auf der Serverseite installiert. Auch auf der Client-Seite sieht es wegen Passwortdiebe düster aus.

Mit SystoLOCK gibt es für einen Angreifer keine Möglichkeit, die RDP-Sitzung zu kompromittieren, da die Passwörter effektiv aus den Benutzerobjekten entfernt werden und die verwendeten Zertifikate kurzlebig sind (und ihre privaten Schlüssel unzugänglich sind).


Offline-Computer und Remote-Mitarbeiter

Da bei jeder Anmeldung ein neues Zertifikat ausgestellt und verifiziert wird, ist während der Anmeldung eine Verbindung zum SystoLOCK-Server, einem Zertifikatsserver und einem Domänencontroller erforderlich. Dies kann ein Problem für diejenigen sein, die unterwegs sind oder von zu Hause aus arbeiten und kein VPN eingerichtet haben. Um diese Lücke zu schließen, wird hier ein anderer Ansatz verwendet. Während in den zuvor beschriebenen Anwendungsfällen einfach ein OTP verwendet werden kann, ist für die Offline-Anmeldung die Verwendung eines Smartphones erforderlich. Cached Credentials, eine Windows-Funktion, muss ebenfalls aktiviert sein, damit die Offline-Anmeldung funktioniert; sie ist jedoch in der Regel aktiviert.

Wenn sich ein Benutzer zuvor erfolgreich mit SystoLOCK an einem Computer angemeldet hat (und dieser Computer von einem Administrator so konfiguriert wurde, dass er Offline-Anmeldungen zulässt), tauscht dieser Computer einige kryptografische Informationen mit dem SystoLOCK-Server aus und speichert die kryptografischen Schlüssel des Smartphones zur späteren Verwendung.

Wenn der Benutzer versucht, sich offline anzumelden, kommuniziert der Computer, der nicht mit dem Server kommunizieren kann, stattdessen mit dem Smartphone, indem er einen QR-Code anzeigt. Wenn dieser QR-Code gescannt wird, leitet das Smartphone eine Überprüfung der Anmeldedaten auf dem Server ein und fungiert als fehlende Netzwerkverbindung zwischen dem Computer und dem SystoLOCK-Server. Wenn der Server nicht verfügbar ist, verifiziert das Smartphone kryptografisch die Identität des Computers und des Benutzers, sofern es dafür konfiguriert ist. Wenn die Überprüfung erfolgreich ist, zeigt das Smartphone einen Zahlencode an, der auf dem Computer eingegeben werden muss. Nachdem der Benutzer diesen Code bei der Aufforderung zur Offline-Anmeldung eingegeben hat, ist die Anmeldung abgeschlossen. Für den Benutzer scheint sich die Offline-Anmeldung nicht sehr von der Online-Anmeldung zu unterscheiden, was sie zu einer scheinbar einfachen Erfahrung macht:
Offline zu arbeiten bedeutet nicht immer, vollständig von der Büroinfrastruktur getrennt zu sein. In manchen Fällen bedeutet es einfach, ein VPN aufzubauen, bevor eine Büroanwendung oder eine RDP-Sitzung gestartet wird. SystoLOCK bietet verschiedene Ansätze, um die erforderliche Konnektivität zu erreichen.

Ein Ansatz ist die Steuerung der unterstützten VPN-Clients. Der VPN-Client von Microsoft und der AnyConnect-Client von Cisco werden von SystoLOCK nativ unterstützt. Die einzige Voraussetzung ist, dass das VPN-Gateway Benutzerzertifikate zur Authentifizierung akzeptiert und in der Lage ist, diese gegen Active Directory zu prüfen. Der andere Ansatz ist die Verwendung unseres generischen RADIUS-Server-Plugins, das für die Ausführung unter einer NPS-Komponente auf einem Windows-Server konzipiert ist.

Wenn Sie das Glück haben, die nativ unterstützten VPN-Clients zu verwenden, können Sie die Vorteile der PLAP-Kompatibilität von SystoLOCK nutzen und sich in einem einzigen Schritt in das VPN einwählen und auf dem Computer anmelden:
Was stimmt mit den traditionellen 2FA-Systemen nicht?

Während "2FA" ein Akronym für 2-Faktor-Authentifizierung ist, wird es manchmal verwendet, um sich auf die sogenannte Zwei-Schritt-Authentifizierung zu beziehen. Hier liegt das Hauptproblem: Die auf diese Weise durchgeführte Authentifizierung ist nicht primär eine Zwei-Faktor-Authentifizierung, sondern erfolgt in zwei Schritten: Der erste ist die eigentliche Authentifizierung, der zweite ist eine Form der Bestätigung, die sogar ein- und ausgeschaltet oder konfiguriert werden kann.

Angewandt auf eine Windows- oder RDP-Anmeldung bedeutet dies, dass der Benutzer zunächst sein Kennwort angibt, die eigentliche Authentifizierung gegenüber einem Domänencontroller erfolgt und dann, wenn dieser erste Schritt erfolgreich ist, eine Form der zusätzlichen Überprüfung durchgeführt wird. Wenn es sich um lokale oder RDP-Anmeldungen handelt, erfolgt diese Überprüfung in der Regel durch das Einblenden eines zusätzlichen Bildschirms kurz vor dem Start der Benutzershell, und dieser Bildschirm wird zur Übermittlung des zweiten Faktors verwendet. Der Trick ist einfach: Wenn die Überprüfung hier fehlschlägt, wird die Benutzeroberfläche nicht gestartet und die Anmeldesitzung abgebrochen.

Die meisten traditionellen MFA-Anbieter, darunter Duo, Thales usw., verwenden diesen Trick, um die Verifizierung im zweiten Schritt durchzuführen, und verlassen sich dabei auf eine erfolgreiche passwortbasierte Authentifizierung.

Das erste Problem bei diesem Ansatz ist, dass er nur auf den Anmeldevorgang angewendet werden kann. Wenn Sie dann auf eine Dateifreigabe zugreifen oder ein Programm als Administrator ausführen müssen, entfällt dieser zweite Verifizierungsschritt. Das kann an sich schon ein Problem sein (denken Sie an die Einhaltung von Vorschriften!), aber es führt zu anderen, wichtigeren Problemen:

  • Die meisten anderen Geräte in Ihrer Domäne, die nicht MFA-fähig sind, können immer noch mit Brute-Force-Methoden angegriffen werden, und das wird auch irgendwann der Fall sein, wenn sich ein Gerät in Ihrem Netzwerk einen Virus "einfängt",
  • Benutzer werden einfachere Passwörter wählen, weil sie sich mit 2FA bei der Anmeldung sicherer fühlen, wodurch Brute-Force-Angriffe einfacher werden,
  • RDP-Sitzungen können gekapert und Kennwörter gestohlen werden, wenn der RDP-Client oder -Server kompromittiert wird. Diese Passwörter könnten dann gegen diese MFA-unbewussten Knoten verwendet werden

Dies sind nur einige der Probleme, die mit der zweistufigen Authentifizierung verbunden sind. Ein weiteres gutes Beispiel ist die "MFA-Fatigue", auch bekannt als MFA-Bombing-Angriff - die Art von Angriff, die beim Uber-Hack im September 2022 verwendet wurde. Dieser und ähnliche Angriffe veranlassten einige Forscher von Bleeping Computer, Sentinel One und PC Magazine dazu, die Wirksamkeit von MFA insgesamt in Frage zu stellen.
Universeller Ansatz und Zukunftsaussichten

Windows-Benutzerkonten sind das Herzstück der Benutzererfahrung. Sie werden auf viele verschiedene Arten in vielen verschiedenen Szenarien verwendet, und diese Szenarien variieren in Komplexität und Ansatz. Es geht nicht nur um Login und RDP, SystoLOCK ist in der Lage, mit ADFS zu kommunizieren, zum Beispiel, um den Weg für passwortloses Login zu Office 365 mit lokal verwalteten Benutzern zu öffnen, es kann RD Gateway und RDWeb anweisen, SSO gegen eine Farm von veröffentlichten Anwendungen durchzuführen. Und natürlich verfügt SystoLOCK über eine eigene mobile Authenticator App, die alle bisher bekannten Authentifikatoren ersetzen kann. Hier finden Sie eine Vielzahl von SystoLOCK Modulen, die für verschiedene Windows Komponenten verfügbar sind.

Das Hauptziel von SystoLOCK ist die Abschaffung von Passwörtern bei bestmöglicher Benutzerfreundlichkeit und ohne Abhängigkeit von einem Cloud-Service. SystoLOCK erreicht dies durch die Umwandlung eines Satzes von Anmeldeinformationen in einen anderen. Diese Umwandlung bedeutet, dass der ursprüngliche Satz variieren kann, und wir arbeiten an der Integration von FIDO2-Tokens und anderen Authentifizierungsmitteln in den Workflow, auch wenn diese noch nicht unterstützt werden.

Es hat sich herumgesprochen, dass die Zukunft der Authentifizierung passwortlos ist. SystoLOCK ist dazu da, diesen Übergang auf der Windows-Seite zu unterstützen, wo Microsoft es bisher versäumt hat, einen angemessenen Ansatz für moderne MFA zu bieten.