Eine Rainbow-Tabelle diente dazu, kryptografische Hash-Funktionen zu hacken und so mithilfe einer vorab berechneten Authentifizierungsdatenbank Klartextpasswörter zu ermitteln . Rainbow-Tabellen-Lösungen nutzen einen Algorithmus, um die zum Knacken von Passwort-Hashes benötigten Informationen schnell zu finden. Obwohl moderne Passwort-Salting- und Hashing- Algorithmen die Rainbow-Tabelle weitgehend überflüssig gemacht haben, gibt es viele Anwendungen, die solche leicht verfügbaren Tools nicht nutzen und stattdessen aus Bequemlichkeit oder aufgrund mangelnder Aufmerksamkeit für wichtige Details auf einzelne gehashte Passwörter setzen.
Die Idee, Rainbow Tables oder andere Hash-Cracking-Methoden zu verwenden, stammt aus der Verwendung von Passwort-Hashes in Authentifizierungsdatenbanken. Jedes System, das Passwörter zur Authentifizierung verwendet, muss diese in der einen oder anderen Form speichern. Im schlimmsten Fall speichert der Anwendungsentwickler die Passwörter im Klartext, wodurch die Passwörter aller registrierten Benutzer extrem anfällig für unbefugten Zugriff durch Hacker oder sogar interne Systemadministratoren sind. Obwohl diese schlechte Praxis seit Jahrzehnten bekannt ist, ist sie in Online-Anwendungen immer noch weit verbreitet.
Etwas sinnlos, aber wohl auch sinnlos, führen manche Programmierer eine einzelne Hash-Berechnung des Passworts durch. Es gibt gängige Hash-Algorithmen, die Passwörter scheinbar in zufällige Zeichenfolgen umwandeln, die sich aber mithilfe einer Rainbow-Tabelle sehr einfach zurückentwickeln lassen. Bei der Authentifizierung an einem System wird das eingegebene Passwort mit demselben Algorithmus gehasht, der auch für die Speicherung in der Passwortdatenbank verwendet wurde. Stimmen die Hashes überein, ist die Authentifizierung erfolgreich. Hier kommt eine Rainbow-Tabelle ins Spiel.
Eine Rainbow-Tabelle speichert alle Einweg-Hashes von Klartext-Passwörtern von einem bis sieben oder acht Zeichen Länge. (Eine Rainbow-Tabelle mit acht Zeichen für einen einfachen Hash-Algorithmus benötigt bis zu 1 Petabyte Datenbankspeicher!). Wenn ein Hacker einen Cache mit einfachen Passwort-Hashes stiehlt, kann er den Hashwert in der Rainbow-Tabelle nachschlagen, um das Klartext-Passwort zu finden.
Mit der Einführung von Passwort-Salting mit bis zu 32 Zeichen sind Rainbow-Tabellen für solche Abfragen überflüssig (Quelle: Rainbow Tables are Dead ). Wichtiger noch: Viele Standard-Binärdateien verwenden iteratives Hashing von Passwörtern. Dabei wird ein gesalzenes Passwort wiederholt, eine festgelegte Anzahl von Malen, gehasht, und der finale Hashwert – beispielsweise der 764. Hash des ursprünglich gesalzenen Passworts – wird in der Datenbank gespeichert, um ihn bei der Authentifizierung in der Anwendung zu vergleichen. Rainbow-Tabellen können diese Passwörter nicht knacken.
Wenn Hacker Passwörter stehlen, können sie schnell feststellen, ob die Passwörter N-mal gesalzen und gehasht wurden. Dazu verwenden sie eine Rainbow-Tabelle, um die 100 häufigsten Passwörter nachzuschlagen. Finden sie eine Übereinstimmung, können sie rückwärts arbeiten und feststellen, ob die Programmierer nachlässig waren und die Passwörter nicht gesalzen oder iterativ gehasht haben – oder beides. Entwickler haben diese wichtigen Schritte allzu oft übersprungen, sodass Hacker nun Ihre Passwörter durch Reverse Engineering mithilfe einer einfachen Rainbow-Tabelle erhalten.
Rainbow Tables sind eine schnelle und effektive Methode, ungesalzene und einfach gehashte Passwörter zu knacken. Wenn Sie in Ihrem KMU eine Anwendung entwickeln, fragen Sie unbedingt nach, wie die Passwörter gespeichert werden. Fragen Sie den Entwickler nach der Größe seines SALT-Werts (8 ist klein, 32 Zeichen reichen aus) und danach, wie oft er die Passwörter durchläuft, bevor der Hashwert gespeichert wird. LastPass führt das Hashing des Master-Passworts über 100,000 Mal durch. Das mag für Ihr Unternehmen zu viel sein, aber einige Hundert- bis Tausendfach-Werte sollten erforderlich sein.
Gängige Salting- und Hashing-Funktionen sind: „ Argon2 , scrypt , bcrypt und PBKDF2 “.
Was auch immer Sie tun, betrachten Sie dies als eine kritische Anforderung bei Ihrer Anwendungsentwicklung. Wenn Sie SSO nicht in Ihr Passwortschema integrieren können und Passwort-Hashes speichern müssen, müssen Sie Ihre Passwortdatenbank mit den in diesem Artikel genannten Tools salten und iterativ hashen.
Quellen:
Weitere Leseempfehlungen:
So schützen Sie Ihre Website vor Datenlecks
Verschlüsselung, Hashing und Salting: Was ist der Unterschied?
Verwandte Begriffe:
Entdecken und teilen Sie die neuesten Trends, Tipps und Best Practices zur Cybersicherheit – sowie neue Bedrohungen, vor denen Sie sich in Acht nehmen sollten.
Autorin: Katie Boquetti | Redaktion: Craig Taylor Kommentar von Craig Taylor: Das wissen wir hier schon länger...
Weiterlesen
Autorin: Katie Boquetti | Redaktion: Craig Taylor | Kommentar von Craig Taylor: Ein CAPTCHA sollte prüfen, ob …
WeiterlesenBehalten Sie die menschlichen Risiken im Blick – mit dem positiven Ansatz, der herkömmlichen Phishing-Tests überlegen ist.
