• IT-Karriere:
  • Services:

Bereits kompromittierte Passwörter verbieten

Die interessanteste Empfehlung ist aber, die von Nutzern gewählten Passwörter mit Listen bereits kompromittierter Passwörter abzugleichen, die bei früheren Datenlecks bekannt geworden sind. Diese Empfehlung verhindert gleich mehrere häufige Angriffsszenarien. So versuchen Angreifer oft, Accounts durch Brute-Force-Angriffe zu übernehmen und nutzen hierbei immer wieder Listen mit besonders beliebten Passwörtern.

Stellenmarkt
  1. Kreis Paderborn, Paderborn
  2. Metabowerke GmbH, Nürtingen

Zudem verhindert ein solches Vorgehen zumindest teilweise sogenanntes Credential Stuffing. Das sind Angriffe, bei denen versucht wird, Zugangsdaten aus Datenlecks bei anderen Services auszuprobieren. Der Grund: Fast alle Nutzer verwenden das gleiche Passwort für viele Services. So kann es vorkommen, dass das alte Myspace-Passwort zu einem kompromittierten Account bei Facebook führt.

Wie soll ein Service eine solche Passwort-Prüfung umsetzen? Natürlich könnte er anfangen, möglichst viele im Netz verfügbare Datenbanken von früheren Datenbreaches zu sammeln. Auch kursieren in manchen Onlineforen ganze Sammlungen von kompromittierten Accountdaten, die aus verschiedenen Breaches zusammengesammelt wurden. Doch das manuelle Sammeln wäre nicht nur aufwendig, es stellen sich dabei auch einige ethische und möglicherweise rechtliche Fragen, da sich in den kompromittierten Datenbanken auch personenbezogene Daten befinden könnten.

Eine Liste mit Hashes von 500 Millionen Passwörtern

Es gibt eine einfachere Lösung: Troy Hunt, der Betreiber des Leak-Checkers haveibeenpwned.com, stellt auf seiner Webseite eine Liste mit SHA1-Hashes von aktuell über 500 Millionen geleakten Passwörtern zum Herunterladen bereit. Darin eingeflossen sind die Passwörter aus allen großen Datenleaks, die öffentlich verfügbar sind, sowie auch Datenleaks, die Troy Hunt auf verschiedene Weise erhalten hat und die nicht direkt öffentlich verfügbar sind.

Eine denkbar einfache Passwort-Richtlinie lässt sich damit umsetzen: Alle Passwörter, die schon einmal Teil eines Datenlecks waren, sind nicht erlaubt. Das gibt Nutzern immer noch einen großen Freiraum für mögliche Passwörter, doch alle besonders schlechten Varianten und alle Zugangsdaten, die leicht mittels Credential Stuffing geknackt werden können, sind ausgeschlossen.

Die Liste ist nicht gerade kurz. Gepackt sind es in der aktuellen Version 4 circa 10 Gigabyte, entpackt ist es eine 23-Gigabyte-Textdatei. Darin zu suchen geht vergleichsweise schnell: Es gibt die Hashes in sortierter Reihenfolge. Damit kann man mittels eines gegebenen Passworts einen Hash mit einer binären Suche finden. Das funktioniert in Sekundenbruchteilen. Doch nicht jeder kann oder will 23 Gigabyte für einen Passwort-Check bereithalten. Würden die reinen Hashes effizienter in binärer Form gespeichert, wären es immer noch etwa zehn Gigabyte.

Ist K-Anonymität genug?

Eine mögliche Lösung stellt Cloudflare bereit: eine Online-API, mit der die Passwörter anhand der Liste von Troy Hunt geprüft werden können. Natürlich wäre es hochgradig problematisch, alle Passwörter der eigenen Nutzer an einen von Dritten betriebenen Service zu schicken. Daher geht diese API anders vor: Sie nutzt eine sogenannte K-Anonymität.

Das Konzept dahinter ist relativ simpel. Ein Service berechnet den SHA1-Hash eines Passworts, schickt an die API aber nicht den ganzen Hash, sondern nur ein kurzes Prefix von fünf Zeichen. Die API schickt dann dem Service eine Liste aller Hashes zurück, die dieses Prefix haben. Nun kann lokal geprüft werden, ob der Hash des getesteten Passworts darunter ist.

Doch auch wenn diese Methode recht schlau ist: Manche Servicebetreiber fühlen sich sicher generell unwohl damit, Daten an Dritte zu schicken, die immer noch potenziell Rückschlüsse zulassen. Zudem ist es auch grundsätzlich sinnvoll, sich möglichst wenig von Services Dritter abhängig zu machen, wenn es Alternativen gibt. Denn natürlich kann niemand wissen, wie lange Cloudflare diesen kostenlosen Service bereitstellt.

Bloom-Filter spart Platz und ermöglicht lokalen Check

Eine Alternative, die ohne eine externe API und auch ohne die Speicherung einer riesigen Hash-Liste auskommt, sind sogenannte Bloom-Filter. Mit einem Bloom-Filter ist es möglich, eine Liste von Daten komprimiert zu speichern und dann abzufragen, ob bestimmte Daten darin enthalten sind.

Dabei müssen Kompromisse eingegangen werden, denn Bloom-Filter haben eine gewisse Fehlerwahrscheinlichkeit. Implementiert man den Passwort-Check mit einem Bloom-Filter, ist es möglich, dass in seltenen Fällen ein Passwort abgelehnt wird, das überhaupt nicht in der Liste enthalten ist. Dabei gilt: Je mehr Fehlerwahrscheinlichkeit akzeptiert wird, desto besser können die Daten komprimiert werden. Fehler gibt es nur in eine Richtung. Ein Passwort, das akzeptiert wird, ist auch mit Sicherheit nicht Teil des Bloom-Filters.

Der Softwareentwickler Hektor Martin hat eine passende Bloomfilter-Implementierung für Python unter der freien MIT-Lizenz bereitgestellt. Wird eine Fehlerwahrscheinlichkeit von 0,05 Prozent akzeptiert, benötigt der Bloom-Filter für die Passwort-Liste von Troy Hunt nur etwa ein Gigabyte. Das ist immer noch einiges, aber deutlich weniger als die gesamte Hash-Liste. Damit ist es eine sehr gute Lösung, um schlechte Passwörter abzulehnen.

Natürlich ist das Ablehnen von unsicheren Passwörtern nicht der einzige Aspekt einer sicheren Implementierung einer Nutzer-Authentifizierung. Passwörter sollten immer als Hashes gespeichert werden und zudem einen Salt nutzen. Dabei sollte eine spezielle Passwort-Hashfunktion verwendet werden. Stand der Technik ist hier Argon 2, aber auch ältere Algorithmen wie Bcrypt oder Scrypt bieten einen vergleichsweise guten Schutz.

Zudem ist es generell sinnvoll, Zwei-Faktor-Authentifizierung anzubieten. SMS als zweiter Faktor sind dabei nicht unbedingt empfehlenswert, etwas besser sind Codes nach dem TOTP-Standard, die etwa mit der Google-Authenticator-App erzeugt werden können. Am sichersten sind Hardware-Tokens, für die es seit kurzem den neuen Webauthn-Standard gibt.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed
 Passwort-Richtlinien: Schlechte Passwörter vermeiden
  1.  
  2. 1
  3. 2


Anzeige
Spiele-Angebote
  1. 26,99€
  2. 14,99€
  3. 16,49€

FaLLoC 08. Jul 2019

Ich hatte bereits Zusatzentropie für die Falschschreibung berücksichtigt. Und geschickte...

Blacki 29. Apr 2019

Naja, das kommt drauf an. Manchmal geht das Backend ja nicht. Dann kann man das nur über...

Missingno. 26. Apr 2019

https://www.zeit.de/1995/33/Wie_das_Ue_ins_Tuerkische_kam/seite-2

Olliar 17. Apr 2019

Wie verhindert man, das die NSA den Dienst betreibt und einen Hash, der in der Liste ist...

robinx999 12. Apr 2019

Im Artikel steht doch "Wer seine Passwörter aus ganzen Sätzen konstruiert, überschreitet...


Folgen Sie uns
       


Xbox Series X und S - Fazit

Im Video zum Test der Xbox Series X und S zeigt Golem.de die Hardware und das Dashboard der Konsolen von Microsoft.

Xbox Series X und S - Fazit Video aufrufen
IT-Unternehmen: Die richtige Software für ein Projekt finden
IT-Unternehmen
Die richtige Software für ein Projekt finden

Am Beginn vieler Projekte steht die Auswahl der passenden Softwarelösung. Das kann man intuitiv machen oder mit endlosen Pro-und-Contra-Listen, optimal ist beides nicht. Ein Praxisbeispiel mit einem Ticketsystem.
Von Markus Kammermeier

  1. Anzeige Was ITler tun können, wenn sich jobmäßig nichts (mehr) tut
  2. IT-Jobs Lohnt sich ein Master in Informatik überhaupt?
  3. Quereinsteiger Mit dem Master in die IT

Wissen für ITler: 11 tolle Tech-Podcasts
Wissen für ITler
11 tolle Tech-Podcasts

Die Menge an Tech-Podcasts ist schier unüberschaubar. Wir haben ein paar Empfehlungen, die die Zeit wert sind.
Von Dennis Kogel


    MCST Elbrus: Die Zukunft von Russlands eigenen Prozessoren
    MCST Elbrus
    Die Zukunft von Russlands eigenen Prozessoren

    32 Kerne für Server-CPUs, eine Videobeschleunigung für Notebooks und sogar SSDs: In Moskau wird die Elbrus-Plattform vorangetrieben.
    Ein Bericht von Marc Sauter

    1. Anzeige Verkauf von AMDs Ryzen-5000-Serie startet
    2. Alder Lake S Intel bestätigt x86-Hybrid-Kerne für Desktop-CPUs
    3. Core i5-L16G7 (Lakefield) im Test Intels x86-Hybrid-CPU analysiert

      •  /