Flexible Security for Your Peace of Mind

[Neue Analyse] Wie aufwändig ist es, einen bcrypt-Hash zu erraten? Kann bcrypt Passwörter zuverlässig geheim halten?

Anfang des Jahres veröffentlichten wir eine Analyse dazu, wie lange es dauert mit Hilfe aktueller Hardware MD5-gehashte Passwörter zu bruteforcen. Diesmal werden wir den bcrypt-Hash-Algorithmus testen, um zu sehen, wie lange es dauert, so gehashte Passwörter mit vergleichbarer Rechenleistung zu knacken. Diese Analyse fällt mit der jüngsten Aufnahme von über 49 Millionen kompromittierten Passwörtern in den Specops Breached Password Protection Service zusammen.
In diesem Beitrag gehen wir darauf ein, warum bcrypt eine beliebte Methode zur Sicherung von Passwörtern ist und welche Vorteile es gegenüber anderen gängigen Methoden wie SHA256 und MD5 hat. Aber schützt ein stärkerer Algorithmus Ihre Kennwörter auch tatsächlich vor Hackern? Dafür werden wir auch die Achillesfersen von bcrypt (und allen Hash-Algorithmen) untersuchen.

Warum Passwortinformationen in einen Hash umwandeln?

Das Speichern von Kennwörtern im Klartext sollte nie eine Option sein, da jeder, der unbefugten Zugriff auf die Datenbank hat, sie einfach lesen könnte. Heutzutage verwenden die meisten Systeme daher Hash-Algorithmen, um gespeicherte Kennwörter dagegen zu schützen, dass ein Unbefugter die Kennwörter einfach auslesen kann. Da es sich bei Hash-Algorithmen um Einwegfunktionen handelt, ist die einzige Möglichkeit, das tatsächliche Kennwort aus einem Hash zu ermitteln, das Erraten mittels Brute-Force-Techniken.

Für einen Menschen wäre das eine unmögliche Aufgabe, daher verwenden Angreifer Hardware und Software zum Knacken von Passwörtern wie Hashcat, L0phtcrack oder John The Ripper. Bei Brute-Force-Angriffen probieren sie Millionen oder Milliarden von Kombinationen aus (so viele, wie ihre Computerleistung hergibt) und vergleichen eine riesige Anzahl von Zeichenfolgen mit einem Hashwert. Wörterbuchlisten und andere Tools machen diese Aufgabe für einen Angreifer in einem hybriden Vorgehen etwas einfacher, aber die Zeit, die zum Knacken eines gehashten Passworts benötigt wird, kann schnell astronomisch werden.

Verschiedene Hash-Algorithmen benötigen unterschiedlich viel Zeit, um von Software und Hardware zum Knacken von Kennwörtern geknackt zu werden. Ältere Hash-Algorithmen wie SHA-1 und MD5 gelten als weniger sicher, da sie von moderner Crack-Software sehr schnell geknackt werden können; MD5 gehört jedoch immer noch zu den am häufigsten verwendeten Hash-Algorithmen bei gefundenen Datenlecks. Wenn Sie wissen möchten, wie sich MD5 gegen Brute Force-Verfahren schlägt, lesen Sie unseren letzten Beitrag zu diesem Thema.

Was ist bcrypt und wie funktioniert es?

bcrypt wurde 1999 auf der Grundlage des Blowfish-Verschlüsselungsalgorithmus entwickelt. Es wandelt das Passwort eines Benutzers in eine Zeichenkette fester Länge in einer Einweg-Hash-Funktion um, was bedeutet, dass es nicht in das ursprüngliche Passwort zurückverwandelt werden kann. Jedes Mal, wenn sich der Benutzer anmeldet, führt bcrypt einen erneuten Hash des Passworts durch und vergleicht diesen Wert mit dem im Systemspeicher gespeicherten, um festzustellen, ob die Passwörter übereinstimmen. Wenn ein Klartext-Passwort kurz ist, kann es durch diesen Prozess länger und komplexer werden.
Um die Sicherheit zu erhöhen, fügt bcrypt außerdem jedem Passwort-Hash ein zufälliges Datenelement (Salt) hinzu, das seine Einzigartigkeit gewährleistet und es sehr schwer macht, es mit Wörterbuch- oder Brute-Force-Angriffen zu erraten. Das Ergebnis ist eine 22-stellige Zeichenkette, die dem Passwort-Hash vorangestellt wird und das Erraten durch Brute-Force-Angriffe noch schwieriger macht. Salting erhöht die Sicherheit und macht Passwörter widerstandsfähiger gegen Brute-Force- und Wörterbuchangriffe.
bcrypt verwendet auch einen ” Cost Factor “, der es von anderen Hash-Algorithmen unterscheidet. Er zeigt an, wie viele Passwort-Iterationen durchgeführt wurden, bevor der Hash generiert wurde, und wird dem Salt vorangestellt. Damit können Sie die Anzahl der Passwort-Iterationen und Hash-Runden bestimmen, die durchgeführt werden müssen, was den Zeit-, Arbeits- und Rechenaufwand für die Berechnung des endgültigen Hash-Wertes erhöht. Dies verlangsamt das Entschlüsseln immens.
Die Kennwortzeichenfolge, das Salt und der Cost Factor werden vom Algorithmus zu einem 24-Byte-Hashwert mit Base-64-Kodierung kombiniert. Schauen wir uns an, wie lange es dauert, ihn zu knacken.

Zeitaufwand für das Erraten von bcrypt-gehashten Kennwörtern

Die Erstellung eines bcrypt-Hashes dauert seine Zeit – und ebenso das Erraten des Passwortes. Ein Angreifer könnte aus Mangel an Rechenleistung aufgeben oder den Sicherheitsteams die nötige Zeit geben, um verdächtige Aktivitäten zu erkennen. Selbst bei höheren Computergeschwindigkeiten ist bcrypt aufgrund der variablen Anzahl von Passwort-Iterationen sehr zeitaufwändig zu brute-Forcen.
Im Vergleich dazu sind gängige Hash-Algorithmen wie MD5 und SHA256 für eine schnelle Hash-Verarbeitung ausgelegt. Sie eignen sich besser für Anwendungen, die häufig verwendet werden und bei denen es auf Geschwindigkeit ankommt, während bcrypt die bessere Option für die sichere Speicherung von Kennwörtern ist. Wenn die Iterationszahl so hoch ist, dass ein bcrypt-Aufruf so wertvoll ist wie Millionen von MD5-Berechnungen, dann ist das Brute-Forcing des Kennworts mit bcrypt millionenfach teurer als mit MD5.


Wie Sie in der Tabelle unten sehen können, macht der Kostenfaktor bcrypt dank seines langsam arbeitenden Hash-Algorithmus extrem sicher gegen Brute-Force-Angriffe. Kurze, nicht komplexe Kennwörter können immer noch relativ schnell geknackt werden, was die enormen Risiken verdeutlicht, die entstehen, wenn Benutzer schwache (aber sehr verbreitete) Kennwörter wie “password”, “123456” und “admin” verwenden. Sobald jedoch ein Passwort mit mehr als acht Zeichen und einer entsprechenden Komplexität verwendet wird, wird die Zeit zum Knacken für Hacker zu einer fast unmöglichen Aufgabe.

Die obige Tabelle zeigt die Zeit zum Erraten von Passwörtern durch Brute-Forcing mit moderner Hardware mit genau denselben Aufbau, den wir für die Untersuchung von MD5-gehashten Passwörtern verwendet haben. Dieses Setup ist für die meisten Angreifern durchaus erreichbar. Für optimale Ergebnisse benötigen Sie jedoch idealerweise mehr Leistung, als wir hier verwenden:

  • Hardware: die Nvidia RTX 4090. Die derzeit beste allgemein verfügbare Hardware zum Durchführen von Passwort-Cracking-Angriffen mit einem guten Preis-Leistungs-Verhältnis. Dabei handelt es sich um eine Flaggschiff-Gaming-GPU, die von Endverbrauchern erworben werden kann und mit einem UVP von rund 1599 US-Dollar weitgehend erschwinglich ist. Um diese Daten zu generieren, verwenden wir eine hypothetische Nvidia RTX 4090.
  • Software: Hashcat. Im Allgemeinen erreicht eine serienmäßige RTX 4090 etwa 164 GH/s in Hashcat (das kann man sich als 164 000 000 000 Passwort-Raten/Sekunde vorstellen).

Die oben genannten Hardware-Annahmen mögen teuer klingen; angesichts von Ransomware-Zahlungen in Millionenhöhe können die Kosten jedoch minimal erscheinen. Trotzdem könnten einige Angreifer mit Cloud-Diensten schnellere und billigere Ergebnisse erzielen.

Kann bcrypt Hashing die Kompromittierung von Passwörtern verhindern?

Kurz gesagt: Nein. Es bietet zwar eine Möglichkeit, gespeicherte Passwörter vor dem Erraten zu schützen, aber HaveIBeenPwned hat viele Beispiele, bei denen bcrypt-Hashes durch Datenschutzverletzungen offengelegt wurden. Im Februar 2018 wurde zum Beispiel der Diät- und Fitnessdienst MyFitnessPal Opfer einer Datenpanne. Bei dem Vorfall wurden 144 Millionen eindeutige E-Mail-Adressen zusammen mit Benutzernamen, IP-Adressen und Passwörtern offengelegt, die als SHA-1- und bcrypt-Hashes gespeichert wurden (ersterer für frühere Konten, letzterer für neuere Konten).
“Ein Angreifer wird in der Regel nicht versuchen, einen Hash-Algorithmus wie bcrypt zu erraten, und zwar aus den Gründen, die wir in dieser Analyse festgestellt haben. Sie bevorzugen vielmehr einfachere Ziele, wie etwa Active Directory-Passwörter, die bereits durch Datenpannen kompromittiert wurden. Die Wiederverwendung von Passwörtern wird dadurch zu einer der größten Bedrohungen für Unternehmen”, sagt Darren James, Senior Product Manager bei Specops. “Die beruflichen Passwörter Ihrer Benutzer könnten auf die sicherste Art und Weise gespeichert sein, aber in dem Moment, in dem sie dieses Passwort auf einer weniger sicheren Website wiederverwenden und diese Website angegriffen wird, könnte der Angreifer auch auf Ihr Netzwerk losgehen.”
Wie die folgende Tabelle zeigt, ist ein starker Passwort-Hashing-Algorithmus bedeutungslos, sobald ein Passwort kompromittiert ist. Die Sperrung von bekannten kompromittierten Passwörtern ist ein wesentlicher Bestandteil des Schutzes vor Passwort-basierten Angriffen.
“Wenn wir mit IT-Teams sprechen, verstehen sie in der Regel die Risiken der Wiederverwendung von Passwörtern”, so James weiter, “aber es ist nicht immer einfach, die Entscheidungsträger dazu zu bringen, diese versteckte Gefahr zu erkennen. Wir hoffen, dass diese Tabellen zum Erraten von Passwörtern den IT-Teams dabei helfen können, ein Bewusstsein für den Umgang mit kompromittierten Passwörtern zu wecken. Kompromittierte Passwörter sind ein Risiko, das in keiner Sicherheitsstrategie außer Acht gelassen werden sollte.

So finden Sie kompromittierte Passwörter in Ihrem Netzwerk

Die Aktualisierung des Breached Password Protection Service in diesem Monat beinhaltet die Aufnahme von über 21 Millionen kompromittierten Passwörtern in die von Specops Password Auditor verwendete Liste. Mit Specops Password Auditor können Sie mit einem Read-Only-Scan Ihres Active Directory herausfinden, wie viele Ihrer Passwörter entweder kompromittiert oder identisch sind. Dazu erhalten Sie einen kostenlosen, individualisierbaren Bericht über passwortrelevante Schwachstellen, einschließlich mangelhafter Passwortrichtlinien, kompromittierte Passwörter und veralteter/inaktiver Konten. Laden Sie Ihr kostenloses Auditing-Tool hier herunter.

Reports Übersicht zu Specops Password Auditor
Überprüfen Sie mit Specops Password Auditor, ob Ihre Administratorkonten und Passwörter entsprechend geschützt sind.

Dauerhafter automatischer Schutz vor kompromittierten Passwörtern

Specops Password Auditor bietet einen guten Ansatzpunkt für die Abschätzung Ihrer aktuellen Kennwortrisiken, aber es ist nur eine Momentaufnahme. Mit Specops Password Policy und Breached Password Protection können sich Unternehmen kontinuierlich gegen mehr als 4 Milliarden kompromittierte Passwörter schützen. Zu diesen kompromittierten Passwörtern gehören auch solche, die in aktuellen Angriffen auf unsere Honeypot-Systeme verwendet werden oder auf bekannten Listen mit geleakten Passwörtern stehen, was die Einhaltung von Branchenvorschriften wie NIST oder NCSC erleichtert.
Die Systeme unseres Entwicklungsteams zur Überwachung von Angriffsdaten aktualisieren den Dienst täglich und stellen sicher, dass Ihre Netzwerke vor realen Angriffen auf Ihre Passwörter geschützt sind. Der Breached Password Protection Service blockiert diese unzulässigen Passwörter in Active Directory mit individuell anpassbaren Benachrichtigungen für die Endnutzer, um die Anzahl der Rückfragen beim Service Desk zu reduzieren.
Die tägliche Aktualisierung der Breached Password Protection API, gepaart mit kontinuierlichen Scans nach der Verwendung dieser Passwörter in Ihrem Netzwerk, stellt eine viel umfangreichere Verteidigung gegen die Gefahr von Passwort-Angriffen und das Risiko durch Password-Reuse dar.

Möchten Sie gerne mehr darüber erfahren, wie Specops Password Policy und Specops Password Auditor in Ihrer Organisation zu mehr IT-Sicherheit beitragen kann? Dann vereinbaren Sie noch heute einen unverbindlichen Termin mit unseren Experten.

(Zuletzt aktualisiert am 15/11/2023)

Zurück zum Blog