NTLM: Wie funktioniert das Protokoll?
Computernetzwerke sind anfällig für Angriffe, wenn sie nicht ausreichend gesichert sind. Schließlich möchte man nicht, dass jeder beliebige Nutzer Zugriff auf die geteilten Daten und Dienste erhält. Damit die richtigen Teilnehmer sich miteinander verbinden können, müssen daher gesicherte Eingänge in das ansonsten geschlossene Netz bestehen. Dafür sind bestimmte Sicherheitsprozeduren notwendig. Microsoft hat mit dem NT LAN Manager (NTLM) bereits früh ein Authentifizierungsverfahren eingeführt, das heute allerdings als veraltet gilt. Wie funktioniert das Protokoll?
Was ist NTLM?
NTLM ist eine Sammlung von Authentifizierungsprotokollen des Software-Entwicklers Microsoft. Gestartet als proprietäres Protokoll, ist NTLM inzwischen auch für Systeme, die nicht Windows verwenden, verfügbar. Der NT LAN Manager ermöglicht, dass sich verschiedene Computer und Server untereinander authentifizieren können. Die meisten Netzwerke wollen den Zugang von unbefugten Teilnehmern verhindern. Deshalb muss ein Überprüfungsverfahren implementiert sein: Nur, wenn der Client entsprechend autorisiert ist, darf er in das Netzwerk aufgenommen werden bzw. die Dienste des Netzes in Anspruch nehmen.
Das Protokoll sieht vor, dass sich ein Client mit Nutzernamen und dazugehörigem Passwort authentifiziert. Dafür findet ein Austausch zwischen dem Gerät des Nutzers und einem Server statt. Letzterem sind die Log-in-Daten bekannt, weshalb der Server den Zugriff überprüfen und dann freigeben kann.
Wie funktioniert die NTLM Authentication?
NTLM verwendet ein Challenge/Response-Verfahren, um die Echtheit eines Netzteilnehmers zu überprüfen. Dafür durchlaufen Client und Host mehrere Schritte:
- Der Client sendet einen Benutzernamen an den Host.
- Der Host antwortet mit einer Zufallszahl, der Challenge.
- Der Client erzeugt aus dieser Zahl und dem Benutzerpasswort einen Hashwert und sendet diesen als Response zurück.
- Auch der Host, dem das Passwort ebenfalls bekannt ist, bildet den Hashwert und kann diesen dann mit der Antwort des Clients abgleichen.
- Wenn beide Werte übereinstimmen, ist die Authentizität des Clients bestätigt und der Zugriff kann freigegeben werden. Sollte keine Übereinstimmung stattfinden, wird der Client blockiert.
Damit das Passwort bei der Übertragung über das Netz nicht einfach von unbefugten Dritten ausgelesen werden kann, setzt man eine Hashfunktion ein. Dabei wird mithilfe einer mathematischen Funktion das Passwort in eine unverständliche Zeichenfolge umgewandelt. Da diese Umwandlung nicht ohne weiteres rückgängig gemacht werden kann, spielen Hashfunktionen in der Kryptologie eine große Rolle.
Bei der Verhandlung zwischen Client und Host werden Informationen zum Teil in Form von NTLM Flags übermittelt. Dabei handelt es sich um einen Code mit einer Länge von 4 Byte. Die NegotiationFlags, die sich zum Teil nur in einem Bit voneinander unterscheiden, liefern Informationen über den Status des Anmeldeverfahrens.
Anwendungsgebiete von NTLM
Das NTLM Protocol ist dafür konzipiert worden, mehrere Windows-Maschinen untereinander oder mit einem Server zu verbinden. Das Verfahren sorgt dabei für Sicherheit, indem es die Zugangsberechtigung von Clients überprüft. Windows setzt NTLM als Single-Sign-on-Verfahren (SSO) ein: Nutzer müssen sich also nur einmal anmelden und haben dann Zugang zu verschiedenen Anwendungen innerhalb der Domäne.
Inzwischen gilt NTML als überholt und Microsoft setzt stattdessen auf Kerberos. Das neuere Authentifizierungsprotokoll ist sicherer. NTLM wird jedoch immer noch eingesetzt, dann allerdings vor allem, um ältere Dienste zu unterstützen. Als Administrator eines größeren Netzwerkes kann es sinnvoll sein, das NTLM Protocol zu unterbinden, wenn dieses eigentlich nicht benötigt wird. So kann man sicher sein, dass sich kein Client versehentlich darüber einloggt und somit eine Sicherheitslücke entsteht.
NTLM Protocol: Vor- und Nachteile der Methode
Vorteilhaft ist, dass man für die Authentifizierung per NTLM kein Passwort ungesichert über das Netz versenden muss. Nur in Form des Hashwerts findet eine Übertragung von Client zum Server statt. Das sorgt durchaus für ein erhöhtes Sicherheitsniveau. Der Hashwert hat allerdings den Nachteil, dass dieser äquivalent zu einem Passwort ist. Wenn die Übertragung abgefangen wird, kann die Sicherheit, die das System eigentlich verspricht, dennoch in Gefahr geraten. Die Verschlüsselung des Passworts geschieht per MD4. Dieses Verfahren gilt inzwischen als unsicher. Mit relativ wenig Aufwand können solche Hashwerte entschlüsselt werden.
Ein weiterer Nachteil ist die Tatsache, dass NTLM keine Multi Factor Authentication (MFA) vorsieht. Besonders bei sensiblen Daten ist es mehr als sinnvoll, mehrere Mechaniken zur Absicherung zu implementieren. Das Challenge/Response-Verfahren bei NTLM ermöglicht aber nur eine einzelne Authentifizierungsmethode – und zwar per Nutzername und Passwort.