Unter dem Begriff Shadow-Password wird eine Methode zum Schutz von Passwörtern verstanden, die in vielen Unix- und Unix-ähnlichen Systemen verwendet wird. Das verschlüsselt gespeicherte Passwort wird dabei vor dem Zugriff durch unbefugte Benutzer geschützt, um das Brechen von zu schwachen Passwörtern durch Brute-Force- oder Wörterbuchangriffe zu verhindern.

Problemlage

Bearbeiten

Vor der Einführung von Shadow-Passwörtern wurden alle relevanten Benutzerdaten, also auch der Hashwert des Passworts, in einer Datei gespeichert. Diese Datei (/etc/passwd) musste für alle Benutzer zugänglich (lesbar) sein, um auch Anwendungsprogrammen – beispielsweise zur Anzeige von Dateirechten – das Auflösen von Benutzerkennungen zu Benutzernamen zu ermöglichen, und konnte dadurch leicht für Angriffe auf das System genutzt werden.

Lösung in Unix-Systemen

Bearbeiten

Die Lösung des genannten Problem besteht darin, die verschlüsselten Passwörter (Passwort-Hashes) nicht in der für alle Nutzer offenen Datei /etc/passwd zu speichern, sondern in einer davon unterschiedlichen Datei (/etc/shadow), die nur für den Root-User und hierfür vorgesehenen Systemprogramme lesbar ist.[1]

Die einfach erscheinende Lösung, Passwort-Hash und Nutzerdaten durch zwei separate Dateien voneinander zu trennen, erfordert innerhalb des Betriebssystems eine wirksame Trennung von Nutzerrechten und Systemrechten, da ein Zugriff auf die Passwort-Hashes durch unprivilegierte Nutzer, zum Beispiel bei der Anmeldung am System, möglich bleiben muss. Dieser Zugriff erfolgt nun nicht durch den Benutzer direkt, sondern durch ein hierzu systemseitig berechtigtes Programm.

Erstmals wurde ein solches System von den Unix-Derivaten System V 3.2[2] und BSD 4.3 Reno verwendet.[3] Nutzer anderer Systeme blieben vorerst ausgeschlossen. Im Jahre 1987 entwickelte Julianne Frances Haugh die Shadow Password Suite, die ursprünglich die Befehle login, su und passwd enthielt.[4] Entwickelt wurde die Shadow Password Suite für SCO Xenix[5], aber bald auf andere Plattformen portiert, z. B. 1992 auf Linux.

Die Implementierung der Shadow-Passworte wurde zusätzlich genutzt, um – falls gewünscht – ergänzende Maßnahmen der Passwort-Sicherheit zu ermöglichen. So enthält die Datei /etc/shadow optionale Parameter für Mindest- und Maximalgültigkeitsdauern der Passwörter und Mindestnutzungsfrequenz des entsprechenden Benutzerkontos.[6]

Verbreitung

Bearbeiten

Inzwischen sind Shadow-Passwörter als Standardverfahren im Unix- und Linuxbereich etabliert. Damit wurde die im ursprünglichen Konzept von Unix enthaltene Sicherheitslücke erfolgreich geschlossen und der unbefugte Zugriff auf die Password-Hashes der Benutzer wird wirksam verhindert. Die Möglichkeit für einen normalen Nutzer, diese mit Hilfe von Brute-Force und Wörterbuchangriffen zu missbrauchen, ist eingeschränkt, wenn auch nicht unmöglich. Verschiedene netzwerkbasierende Authentifizierungssysteme, wie zum Beispiel Yellow Pages (YP) bzw. Network Information Service (NIS), übertragen die Passwort-Hashes über das Netzwerk und ermöglichen damit dem Angreifer einen unerlaubten Zugriff. Der Trend geht daher in die Richtung, stärkere Verschlüsselungsverfahren für die Passwörter zu verwenden.

Bearbeiten

Einzelnachweise

Bearbeiten
  1. Harald Schröpfer: UNIX - Einführung in das Betriebssystem, Seite 329, ISBN 3-423-50157-X
  2. http://groups.google.com/group/comp.unix.wizards/msg/c90ab8dc75918192
  3. http://groups.google.com/group/comp.bugs.4bsd/msg/2ada37c991f02480
  4. http://groups.google.com/group/comp.sources.misc/msg/dcce54f8bd71c067
  5. http://groups.google.com/group/alt.sources/msg/cd6b178f686ad221
  6. Harald Schröpfer: UNIX - Einführung in das Betriebssystem, Seite 330, ISBN 3-423-50157-X