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. Produktmanagerin / Produktmanager für die elektronische Akte (m/w/d)
    Information und Technik Nordrhein-Westfalen (IT.NRW), Düsseldorf
  2. Cloud-Integrationsspezialist / Systemadministrator (m/w/d)
    Harzwasserwerke GmbH, Hildesheim
Detailsuche

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.

Golem Akademie
  1. Scrum Product Owner: Vorbereitung auf den PSPO I (Scrum.org): virtueller Zwei-Tage-Workshop
    3.–4. März 2022, virtuell
  2. Einführung in die Programmierung mit Rust: virtueller Fünf-Halbtage-Workshop
    21.–25. März 2022, Virtuell
Weitere IT-Trainings

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


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...



Aktuell auf der Startseite von Golem.de
Snapdragon 8 Gen1
Der erste ARMv9-Smartphone-Drache ist da

Neuer Name, neue Kerne: Der Snapdragon 8 Gen1 nutzt ARMv9-Technik, auch das 5G-Modem und die künstliche Intelligenz sind viel besser.

Snapdragon 8 Gen1: Der erste ARMv9-Smartphone-Drache ist da
Artikel
  1. 470 - 694 MHz: Streit um DVB-T2 und Veranstalterfrequenzen spitzt sich zu
    470 - 694 MHz
    Streit um DVB-T2 und Veranstalterfrequenzen spitzt sich zu

    Nach dem Vorstoß von Baden-Württemberg, einen Teil des Frequenzbereichs an das Militär zu vergeben, gibt es nun Kritiken daran aus anderen Bundesländern.

  2. Prozessoren: Intel lagert zehn Jahre alte Hardware in geheimem Lagerhaus
    Prozessoren
    Intel lagert zehn Jahre alte Hardware in geheimem Lagerhaus

    Tausende ältere CPUs und andere Hardware lagern bei Intel in einem Lagerhaus in Costa Rica. Damit lassen sich Probleme exakt nachstellen.

  3. Factorial Energy: Mercedes und Stellantis investieren in Feststoffbatterien
    Factorial Energy
    Mercedes und Stellantis investieren in Feststoffbatterien

    Durch Festkörperakkus sollen Elektroautos sicherer werden und schneller laden. Doch mit einer schnellen Serienproduktion ist nicht zu rechnen.

Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Daily Deals • Nur noch heute: Bis zu 75% auf Switch-Spiele • AOC 31,5" WQHD 165Hz 289,90€ • Gaming-Sale bei MediaMarkt • G.Skill 64GB Kit DDR4-3800 319€ • Bis zu 300€ Direktabzug: u. a. TVs, Laptops • WD MyBook HDD 18TB 329€ • Switch OLED 359,99€ • Xbox Series S 275,99€ [Werbung]
    •  /