heise online Logo
Anmelden
Menü
  • c't – Magazin für Computertechnik
  • iX – Magazin für professionelle Informationstechnik
  • MIT Technology Review – Das Magazin für Innovation von Heise
  • c't Fotografie - Das Magazin rund ums digitale Bild
  • Mac & i – Nachrichten, Tests, Tipps und Meinungen rund um Apple
  • Make – Kreativ mit Technik
  • Alle Magazine im Browser lesen
IT News
  • Newsticker
  • heise Developer
  • heise Netze
  • heise Open Source
  • heise Security
Online-Magazine
  • heise+
  • Telepolis
  • heise Autos
  • TechStage
  • tipps+tricks
Services
  • Stellenmarkt heise Jobs
  • Weiterbildung
  • heise Download
  • Preisvergleich
  • Whitepaper/Webcasts
  • DSL-Vergleich
  • Netzwerk-Tools
  • Spielen bei Heise
  • Loseblattwerke
  • iMonitor
  • IT-Markt
Heise Medien
  • heise Shop
  • Abo
  • Veranstaltungen
  • Arbeiten bei Heise
  • Mediadaten
  • Presse
Anzeige Go! Schule morgen
Newsletter heise-Bot heise-Bot Push Nachrichten Push Push-Nachrichten
heise Security Logo
  • News
    • Archiv
    • 7-Tage-News
  • Hintergrund
  • heise Security Pro
    • FAQs zu heise Security Pro
  • Events
  • Kontakt
  1. Security
  2. Hintergrund
  3. Nach dem Passwort-Leak: Eigene Passwörter lokal checken

Nach dem Passwort-Leak: Eigene Passwörter lokal checken

Hintergrund 22.01.2019 15:53 Uhr Ronald Eikenberg
Nach dem Passwort-Leak: Eigene Passwörter lokal checken

(Bild: plantic\Shutterstock.com, Modifikation: heise Security)

Eine halbe Milliarde geleakter Passwörter mal eben lokal durchsuchen? Mit einem Python-Skript geht das schnell und auch ohne riesige Downloads.

Im Netz kursieren Milliarden Zugangsdaten – zuletzt sorgte eine Passwort-Sammung mit 773 Millionen Online-Konten für Aufsehen. Wer überprüfen möchte, ob sich die eigenen Acconts darunter befinden, kann die Web-Dienste Have I Been Pwned (HIBP) oder auch Pwned Passwords nutzen. Bei HIBP durchsucht man eine riesige Datenbank mit rund 6,5 Milliarden geknackten Accounts nach einer Mail-Adresse, bei Pwned Passwords sucht man nach einem Passwort. Beide Dienste betreibt der renommierte Sicherheitsexperte Troy Hunt.

Das Passwort "Mutti" ist nicht besonders originell: Pwned Passwords meldet 181 Suchtreffer.
Das Passwort "Mutti" ist nicht besonders originell: Pwned Passwords meldet 181 Suchtreffer.

Gibt man bei Pwned Passwords ein Passwort ein, erfährt man, ob es sich in den dort erfassten Datenbank-Leak befindet – und wenn ja, wie oft. Ein Suchtreffer heißt noch nicht, dass einer der eigenen Accounts tatsächlich betroffen ist. Schließlich kann es sich auch um Accounts anderer Nutzer handeln, die zufällig das gleiche Paswort einsetzen. Gerade bei individuellen Kennwörtern, die aus zufälligen Zeichenfolgen bestehen, ist die Wahrscheinlichkeit jedoch groß, dass es einen selbst erwischt hat. Auf jeden Fall ist sicher, dass das Passwort in den Wörterbüchern der Cracker steht und im Zweifelsfall beim Durchprobieren vieler Passwörter (Brute Forcing) recht schnell geknackt wird.

Die ersten fünf Zeichen

Nun gilt es als Binsenweisheit, dass es eine schlechte Idee ist, einem Webdienst geheime Passwörter zu verraten, um deren Sicherheit zu überprüfen. Spätestens mit dem Absenden des Passworts ist dieses üblicherweise als verbrannt zu betrachten. Troy Hunt hat sich einen Mechanismus einfallen lassen, um dieses Problem zu entschärfen: Pwned Passwords hasht das eingetippte Passwort lokal im Browser des Nutzers mit SHA-1 und sendet nur die ersten fünf Stellen des Hashes an den Server. Der Server liefert daraufhin eine Liste Passwort-Hashes zurück, die mit diesen fünf Zeichen beginnen.

Eine Suche nach dem Passwort "Mutti" (SHA-1-Hash: 0D926579481433A17E8054ACDA22571772FA0181) etwa führt zu der folgenden Anfrage:

GET https://api.pwnedpasswords.com/range/0D926

Daraufhin liefert der Server die folgende Liste zurück:

00C49CB05CDDCB132767A4760E3A1E977B2:1
00D7927E0C070902CB85534E808C6D55450:11
018BC2A467EB1A122E9736813260D25F0CB:2
0201AF4728C4BE1A66923EA48EAD6DECE2E:1
...
579481433A17E8054ACDA22571772FA0181:181
...

Da die ersten fünf Zeichen der Hashes bekannt sind, spart sich der Server deren Übermittlung. Die Zahl nach dem Doppelpunkt steht für die Anzahl der Suchtreffer in den Leaks; "Mutti" wurde bei unserer Anfrage insgesamt 181 Mal gefunden.

Auch gezippt ist die Liste der Passwort-Hashes noch 11 GByte groß.
Auch gezippt ist die Liste der Passwort-Hashes noch 11 GByte groß.

Mit dieser Methode erfährt der Server zwar nicht den kompletten Passwort-Hash, jedoch die ersten 5 von insgesamt 40 Zeichen. Würde es einem Angreifer gelingen, diese 5 Zeichen abzufangen, erhält er einen wertvollen Hinweis auf den Passwort-Hash des Nutzers. Man kann dieses Problem umschiffen, indem man die Liste der Hashes herunterlädt und lokal durchsucht – damit handelt man sich allerdings ein neues Problem ein: Die Datei ist selbst gezippt noch 11 GByte groß und eine Suche in einer so großen Datei ist ressourcenaufwendig.

Bloomige Aussichten

Eine elegante Lösung für dieses Problem liefert der Entwickler Hector Martin in seinem Github-Repository: Er nutzt einen Bloom-Filter, um die Datenmassen effizient durchsuchbar zu machen. Man benötigt lediglich Python 3.x, die Datei bloom.py und eine der beiden Bloom-Filterlisten, die Martin zum Download anbietet.

Bloom-Filter reduzieren die zu durchsuchende Datenmenge ganz enorm, was sich nicht nur positiv auf die Suchgeschwindigkeit auswirkt, sondern auch die Größe der erforderlichen Downloads deutlich verkleinert. Das erkauft man sich mit einer etwa unscharfen Suche, die gelegentlich Fehlalarme (False Postives) produziert. Es kann also passieren, dass bloom.py ein Passwort als verbrannt meldet, das sich gar nicht in der Originalliste befindet. Der umgekehrte Fall – also ein Passwort steht zwar in der Liste, wird aber nicht gefunden (False Negative) – ist prinzipbedingt ausgeschlossen. Das Konzept der Bloom-Filter erklärt Bloom Filters for Dummies recht anschaulich.

Die beiden angebotenen Listen unterscheiden sich in der Genauigkeit: pwned-passwords-2.0.bloom misst 968 MByte und hat eine False-Positive-Rate von 0,0005 während pwned-passwords-2.0-k16.bloom etwa um die Hälfte größer ist und die False-Positive-Rate auf 0,000015 verkleinert. Beide False-Positives-Raten sind durchaus vertretbar – die Wahrscheinlichkeit, dass das Skript fälschlicherweise behauptet, ein Hash würde sich unter den Leaks befinden, ist sehr gering (0,5 bzw. 1/66 Promille). Wer ganz sicher gehen will, kann ja mit dem sehr wahrscheinlich sowieso verbrannten Passwort das HIBP-API befragen. Der Fall, dass ein betroffener Hash nicht gemeldet wird, ist hingegen ausgeschlossen. Die Download-Links zu den beiden Bloom-Filtern findet man im Readme-Bereich des Skripts.

Man ruft das Skript wie folgt auf:

python bloom.py test -s pwned-passwords-2.0.bloom MeinPasswort

Auf diese Weise kann man ressourcensparend herausfinden, ob bestimmte Passwörter in einschlägigen Quellen kursieren – ohne einen Teil des Passwort-Hashs verraten zu müssen. heise Security konnte das Python-Skript auf einem Ubuntu problemlos einsetzen, unter Windows scheiterte die Ausführung hingegen. Vielleicht hat ja jemand Erbarmen mit den Windows-Nutzern und entwickelt eine PowerShell-Version des Skripts?

(rei)

Kommentare lesen (33 Beiträge)

Mehr zum Thema

  • Passwörter

Forum bei heise online: Desktopsicherheit

Teile diesen Beitrag

https://heise.de/-4284756 Drucken
Dienste
  • Security Consulter
  • Netzwerkcheck
  • Anti-Virus
  • Emailcheck
  • Krypto-Kampagne
Alerts! alle Alert-Meldungen

Aruba ClearPass Policy Manager

Sonicwall

NetBSD & Playstation

ZoneAlarm

Anzeige
  • OPPO Find X5 Pro: Fotos und Videos auf professionellem Niveau
  • Mehr Flexibilität durch Infrastructure as Code
  • Zuverlässiger Zugriff dank Zero Trust
  • Wie IT zu nachhaltigem Wirtschaften beitragen kann
  • MediaMarkt: Der bessere Geschäftskunden-Service
  • Sicher entwickeln im Open-Source-Universum
  • Fujitsu Data & Storage Days 02.06. – 20.07.2022
  • SANS eröffnet Cyber-Ressource Center
  • Kundenservice mit künstlicher Intelligenz
  • Wann lohnt es sich, die IT-Security auszulagern?
Artikel

Utimaco, der Krypto-Miner und ein Disclosure-Desaster​

Auch Anbieter von Hochsicherheitslösungen sind vor Securityproblemen nicht gefeit. Man sollte sich vorbereiten, bevor man davon erfährt, sagt Jürgen Schmidt.

11 Kommentare
Aufmacher: Kommentar Welt-Passwort-Gedenktag

Kommentar: "Willkommen zum Welt-Passwort-Gedenktag"

Welt-Passwort-Tag: Jürgen Schmidt, Senior Fellow Security bei Heise, hat einen Kommentar aus einer Zukunft ohne Passwörter geschickt.

230 Kommentare
  • Passwortsicherheit – Alles, was Sie wissen müssen
  • Welt-Passwort-Tag: Zugangssicherheit im Fokus

Der Patch-Alptraum: Wenn schnell nicht schnell genug ist

Neben den überbewerteten Zero-Day-Lücken gibt es eine weniger bekannte Bedrohung durch "Beinahe-Zero-Days". Die sind weitverbreitet und brandgefährlich.

95 Kommentare

Neueste Forenbeiträge

  1. WeTransfer und gefährliche Ratschläge
    Viele Menschen nutzen gern den kosenlosen Service von WeTransfer, um große Dateien zu übertragen. WeTransfer verschickt dann E-Mails, um…

    Forum:  Diverses

    Paul Lenz hat keinen Avatar
    von Paul Lenz; 11.05.2022 13:57
  2. Re: sudo apt-get update: Signatur abgelaufen
    Hallo, per eMail vom Redakteur ein neues Zertifikat anfordern. Evtl. reicht es auch das Zertikat zu importieren. Andernfalls dieses durch eine…

    Forum:  Desinfect

    maal1 hat keinen Avatar
    von maal1; 09.05.2022 12:44
  3. Re: Herr Schirrmacher ist eine Vorschau auf das kommende Desinfec't schon möglic
    In der Heftvorschau des aktuellen Heft 11 ist Desinfec't nicht in den Topthemen aufgeführt. Entweder es wird noch gründlich überarbeitet und…

    Forum:  Desinfect

    maal1 hat keinen Avatar
    von maal1; 06.05.2022 12:06
News und Artikel
  • News
  • 7-Tage-News
  • News-Archiv
  • Hintergrund-Artikel
  • Alert-Meldungen
Service
  • Newsletter
  • Tools
  • Foren
  • RSS
  • mobil
Dienste
  • Security Consulter
  • Netzwerkcheck
  • Anti-Virus
  • Emailcheck
  • Krypto-Kampagne
  • Datenschutz
  • Cookies & Tracking
  • Impressum
  • Kontakt
  • Barriere melden
  • Mediadaten
  • 2585194
  • Content Management by InterRed
  • Hosted by Plus.line
  • Copyright © 2022 Heise Medien