Rainbow Tables
Inhaltsverzeichnis
Was sind Rainbow Tables?
Das Konzept der Rainbow Tables
Rainbow Tables sind im Grunde eine große Zahl vorberechneter Tabellen, die mit Hash-Werten gefüllt sind und mit möglichen Klartext-Passwörtern abgeglichen wurden. Die Rainbow Tables erlauben Hackern die Hashing-Funktion umzukehren, um zu bestimmen, was das Klartext-Passwort sein könnte.
Es ist möglich, dass zwei verschiedene Passwörter zu demselben Hash führen, sodass es nicht wichtig ist herauszufinden, wie das ursprüngliche Passwort war, solange es den gleichen Hashwert hat. Das Klartextkennwort ist möglicherweise nicht das gleiche Kennwort, welches vom Benutzer erstellt wurde. Solange aber der Hash-Wert übereinstimmt, spielt es keine Rolle, wie das ursprüngliche Kennwort lautet.
Wie funktioniert die Kennwortverschlüsselung?
Wenn ein Passwort in ein System eingeben wird, wird es unter Verwendung eines Verschlüsselungsalgorithmus “gehasht”, sodass das tatsächliche Passwort niemals in Klartext über die Kommunikationsleitung gesendet wird. Dies verhindert, dass Lauscher das Passwort abfangen können.
Der Hash eines Kennworts ist eine Abfolge ungeordneter Zahlen und Buchstaben und hat normalerweise eine andere Länge als das ursprüngliche Kennwort. Wenn das Passwort beispielsweise “Mitternachtssonne” lautet, könnte der Hash des Passwortes ungefähr wie “7344347efkbfdd761619451949225ec1” aussehen.
Um einen Benutzer zu verifizieren, nimmt ein System den Hash-Wert, der durch die Kennwort-Hashing-Funktion auf dem Client-Computer erzeugt wurde, und vergleicht ihn mit dem Hash-Wert, der in einer Tabelle auf dem Server gespeichert ist. Wenn die Hashes übereinstimmen, wird der Benutzer authentifiziert und erhält Zugriff.
Wie können Passwörter gehackt werden?
Das Hacken eines Passworts ist eine sogenannte 1-Wege-Funktion. Das bedeutet, dass ein Hash nicht entschlüsselt werden kann, um zu sehen, wie der Klartext des Passworts lautet. Es gibt keinen Schlüssel und keine Dekodierungssoftware um den Hash zu entschlüsseln, sobald er erstellt wurde.
Eine Möglichkeit ein Passwort zu knacken ist ein sogenannter Brute-Force-Angriff mit spezieller Software. Diese Programme versuchen, das Passwort intuitiv zu erraten. Das bedeutet, ein Passwort nach dem anderen wird getestet.
Die zweite Möglichkeit besteht darin, ein Passwort-Cracking-Wörterbuch zu laden, das Hunderttausende von häufig verwendeten Passwörtern enthält, diese nacheinander abzuarbeiten und zu sehen, ob es Treffer gibt. Diese beiden Methoden können Wochen, Monate oder sogar Jahre benötigen, wenn die Passwörter stark genug sind.
Passwort-Cracking-Programme funktionieren ähnlich wie der Login-Prozess. Das Cracking-Programm beginnt damit, Klartext-Passwörter zu wählen, sie durch einen Hash-Algorithmus wie MD5 laufen zu lassen, und vergleicht dann die Hash-Ausgabe mit den Hashes in der gestohlenen Passwort-Datei. Wenn es eine Übereinstimmung findet, hat das Programm das Passwort geknackt.
Wie werden Rainbow Tables angewendet?
Regenbogentabellen werden oft von Passwort-Cracking-Software für Netzwerksicherheitsangriffe verwendet. Alle Computersysteme, die eine kennwortbasierte Authentifizierung erfordern, speichern Kennwörter, die mit Benutzerkonten verknüpft sind in Datenbanken ab. Die Speicherung erfolgt als Sicherheitsmaßnahme typischerweise verschlüsselt statt in Klartext.
Sobald ein Angreifer Zugriff auf die Kennwortdatenbank eines Systems erhält, kann er einen Kennwortcracker nutzen, um die vorkompilierte Liste potenzieller Hashes der Rainbow-Tables mit den Hashes in der Datenbank zu vergleichen. Die Rainbow-Tabelle verknüpft Klartextmöglichkeiten mit jedem dieser Hashes, die der Angreifer nutzen kann, um als authentifizierter Benutzer auf das Netzwerk zuzugreifen.
Rainbow-Tabellen machen das Cracken von Passwörtern viel schneller als frühere Methoden wie Brute-Force-Cracking und Wörterbuchangriffe. Abhängig von der jeweiligen Software können mit den Tabellen 14-stellige alphanumerische Passwörter in etwa 160 Sekunden geknackt werden.
Diese Methode benötigt jedoch aufgrund der großen Datenmenge in einer solchen Tabelle viel Speicherplatz. Rainbow-Tables sind aus diesem Grund noch nicht sehr lange im Gebrauch, da die Größe des verfügbaren Speicherplatzes in älteren Computern nicht ausreichend gewesen ist. Eine einzelne Tabelle für eine standardmäßige alphanumerische Datei benötigt etwa 4 Gigabyte (GB).
Wo werden Rainbow Tables eingesetzt?
Hacker können vorberechnete Rainbow Tables kaufen, um Passwörter von anfälligen Betriebssystemen wie Windows XP, Vista, Windows 7 zu knacken. Aber auch Anwendungen die mit MD5 und SHA1 als Passwort-Hashing-Mechanismus arbeiten, können dadurch geknackt werden, denn viele Web-Anwendungsentwickler nutzen immer noch diese Hash-Algorithmen.
Schutzmaßnahmen vor Angriffen mit Regenbogen Tabellen
Ein stärkeres Passwort bietet nur einen minimal bessern Schutz vor einem Angriff auf ein System mit Hashwert-Tabellen. Die Schwachstelle eines Systems sind nicht die Passwörter. Das Sicherheitsproblem ist mit der Hash-Funktion verbunden, die zum Verschlüsseln eines Passworts verwendet wird.
Eine größere Passwortlänge und -komplexität können ein wenig helfen, sind aber kein garantierter Schutz. Je länger ein Passwort ist, desto größer müssen die Rainbow Tables sein, um es zu knacken, aber ein Hacker mit vielen Ressourcen kann dies dennoch erreichen.
In erster Linie sind Anwendungsentwickler und Systemadministratoren gefordert, wenn es darum geht, Systeme gegen diese Art von Angriffen zu schützen. Zum Schutz vor Angriffen mithilfe von Rainbow-Tables sollten Systemadministratoren Sicherheitsmaßnahmen zur Kennwortverschlüsselung hinzufügen.
Zum Beispiel kann durch das Hinzufügen von zufällig generierten Zeichen (Salt) zu Kennwort-Hashwerten und die Verwendung neuerer Kennwort-Hashing-Algorithmen als MD5 oder SHA1 ein besserer Schutz vor Hacker-Angriffen mit Rainbow Tables erreicht werden.
Tipp
Wenn Sie noch Fragen bezüglich eines Online Marketing Themas haben, dann können Sie gerne unseren Glossar besuchen und sich über das Thema informieren, wo Sie noch speziell Fragen haben.
Sie haben noch Fragen?