Wörterbuchangriff
aus Wikipedia, der freien Enzyklopädie
Als einen Wörterbuchangriff (engl. dictionary attack, frz. attaque par dictionnaire) bezeichnet man die Methode der Kryptoanalyse, ein unbekanntes Passwort (oder Benutzernamen) mit Hilfe einer Passwortliste (oft auch Wordlist genannt) zu knacken.
Man verwendet diese Methode, wenn man davon ausgehen kann, dass das Passwort aus einer sinnvollen Zeichenkombination besteht. Dies ist, erfahrungsgemäß, meistens der Fall. Erfolgversprechend ist dieses Verfahren nur, wenn möglichst viele Passworte schnell hintereinander ausprobiert werden können. Wörterbücher sind beliebte Dateien in Tauschbörsen wie eDonkey.
Inhaltsverzeichnis |
[Bearbeiten] Mögliche Angriffsziele
Dazu unterscheidet man aktive und passive Angriffsobjekte:
Ein aktives Angriffsobjekt ist eine Instanz, welche die Richtigkeit des Passwortes überprüft und den Zugriff erteilt oder verweigert. Dies ist beispielsweise beim Einloggen auf einer Webseite der Fall. Bei aktiven Angriffsobjekten sind die Möglichkeiten der Wörterbuchattacke stark begrenzt, da häufig nach einer gewissen Anzahl von Fehlversuchen jeder weitere Versuch unterbunden wird (ähnlich der PIN am Geldautomaten, die maximal drei Mal falsch eingegeben werden kann). Außerdem hinterlässt der Angreifer Spuren in den Protokolldateien des Servers.
Unter einem passiven Angriffsobjekt versteht man einen verschlüsselten Text. Hier wird das Passwort nicht durch eine Instanz überprüft. Das richtige Passwort führt aufgrund des verwendeten Verschlüsselungsverfahrens direkt zur Entschlüsselung des Textes. Der Angreifer kann hier erheblich mehr Passwörter in kürzerer Zeit ausprobieren. Die Geschwindigkeit hängt von der vom Angreifer verwendeten Soft- und Hardware ab. Schon auf handelsüblichen Computern können ohne weiteres mehrere hunderttausend Passwörter pro Sekunde durchprobiert werden (Stand 2005). Gut ausgerüstete Angreifer können mehrere Millionen Passwörter pro Sekunde überprüfen.
Der aktive Wortschatz einer Sprache liegt in der Regel bei 50.000 Worten. Somit können dutzende Sprachen innerhalb weniger Sekunden überprüft werden. Ein Passwort, welches nur aus ein oder zwei Worten besteht, ist daher bei der Verschlüsselung von Texten sehr unsicher.
[Bearbeiten] Verfahren
Durch ein spezielles Programm werden die Einträge der Passwortliste als Benutzername oder Passwort durchprobiert. Möglich ist auch das Verwenden von zwei getrennten Listen für Benutzername und Passwort. Viel häufiger ist jedoch die Verwendung einer Combo-List, einer kombinierten Liste aus Benutzername und Passwort solchen Formats:
Benutzername:Passwort
[Bearbeiten] Vorteile
Besonders die typischen Passwörter sind mit dieser Methode leicht zu knacken. Auch die Dauer der Ausführung, die üblicherweise geringer ist als beispielsweise die der Brute-Force-Methode, spricht für die Verwendung dieser Methode.
[Bearbeiten] Nachteile
Bei dieser Methode ist man sehr auf eine gute Passwortliste angewiesen. Da naturgemäß selbst die beste Liste nicht alle möglichen Passwörter enthält, kann mit dieser Methode auch nicht jedes Passwort geknackt werden. Besonders klein ist die Chance, Passwörter, die aus sinnlosen Zeichenreihen bestehen, zu knacken.
[Bearbeiten] Gegenmaßnahmen
Die effektivste Gegenmaßnahme ist, die Benutzer zur Verwendung von Sonderzeichen in ihren Passwörtern zu zwingen. Allerdings steigt dabei das Risiko, dass sie sich die Passwörter aufschreiben.
Zusätzlich sollte versucht werden, den Angreifer auszubremsen, so dass er möglichst lange braucht, um viele Passwörter durchzuprobieren. In der Regel wird dazu nach der Eingabe eines falschen Passworts eine Warteschleife eingebaut. Hier muss der Programmierer allerdings darauf achten, dass der Angreifer nicht mehrere Anmeldeversuche parallel unternehmen kann.
Die Passwörter der Benutzer sollten serverseitig nicht im Klartext gespeichert werden. In der Regel wird lediglich der Hash des Passworts gespeichert. Wenn es einem Angreifer gelingt, in den Besitz dieser Datei zu gelangen, kann er mit den Passwörtern zunächst nichts anfangen. Er muss das oben unter „passiven Angriffsobjekte“ beschriebene Verfahren anwenden: Er nimmt sich ein Wörterbuch, hasht die einzelnen Wörter und vergleicht das Ergebnis mit dem verschlüsselten Passwort. Damit dafür keine fertigen Listen mit Hash-Wert -> Originalwort benutzt werden können, wird in der Regel das Passwort vor dem Hashen um einen Zufallswert (Salz) erweitert. Der Zufallswert wird neben dem Hash abgespeichert.
Siehe auch: Kryptoanalyse
[Bearbeiten] Weblinks
- Bibliothek mit mehreren Wörterbüchern
- mehrere Wörterbücher, darunter auch ein umfangreiches des Openwall-Projektes mit den gebräuchlichen Passwörtern und Begriffen aus mehr als 20 Sprachen (> 40MiB)
- FTP-Spiegel mit diesem umfangreichen Wörterbuch des Openwall-Projektes
- kommerzielles Wörterbuch des Openwall-Projektes, 500MiB, 40 Millionen Einträge