Samstag, 1. September 2018

HaveIBeenPwned Password Cracker

Die Website HaveIBeenPwned bietet für jeden eine Möglichkeit per Emailadresse zu checken, ob diese zusammen mit dem dazugehörigen Passwort (unverschlüsselt/ungehasht) in eine der im Internet "geleakten" Listen enthalten ist. Diese Listen wurden durch Hacker von Webseiten gedownloadet, deren Server und Software Sicherheitslücken hatten. Darunter Myspace (360 Millionen, 2009), LinkedIn (164 Millionen, 2012), Tumblr (65 Millionen, 2013), Fling.com (40 Millionen) und VK (171 Millionen, 2016). Insgesamt hat HaveIBeenPwned 517 Millionen Datensätze (Emailadresse + Passwort) vorrätig.

Die Datensätze enthalten also neben einer Zuordnung von Emailadresse-Passwort, mittels der ein Account, der diese beiden zusammenhängend verwendet, geknackt werden kann, auch eine riesige Emailadressen-Liste, mittels der Spam versendet werden kann, und auch eine riesige Passwort-Liste, mittels der Passwörter geknackt werden können.

Das Problem mit Passwortlisten: Riesige Passwortlisten sind ziemlich unnütz um einen Account auf herkömmliche Weise zu knacken, da die Software die Anzahl der Versuche eingrenzt einen Account zu knacken. Wenn dann muss sich Zugang zu Userdatenbanken verschafft werden und es muss die Verschlüsselungsmethode der Passwörter bekannt sein, die meist durch eine Generierung der Passwörter als Hashes realisiert wird. Dann werden die geleakten ungehashten Passwörter mittels der Hashmethode gehasht und mit den Hashwerten der Passwörter in der Userdatenbank verglichen. Bei einem Treffer wird dann das zugehörige ungehashte Passwort dem geleakten Datensatz mit Emailadresse zugeordnet und die Accounts geknackt.

Das Problem der Emailadressenlisten: Riesige Listen an Emailadressen sind für das Versenden von Spam ziemlich unnütz, da sie viele ungenutzte Emailadressen enthalten, deren Emails niemand mehr liest. Zudem erzeugen ungültige Emailadressen zusätzlichen Traffic via Mailer-Daemon und dergleichen. Die riesigen geleakten Emailadressenlisten müssen also gefiltert werden. Dies ist am besten zu realisieren, wenn dies die User selbst tun, via einer Webseite wie HaveIBeenPwned. Somit entstehen hochwertige Emailadresslisten für Spam, die im Darknet Höchstpreise erzielen ("filtered").

Im Sommer 2018 entschied sich Github für eine Partnerschaft (Partnership) mit HaveIBeenPwned um die Passwörter seiner User zu knacken, die in den geleakten Listen, die HaveIBeenPwned vorrätig hat, vorhanden sind. Die Userdatenbank von Github selbst wurde nach Angaben von Github nicht gehackt und geleakt. Github verspricht zwar wie jede andere Plattform, dass sie selbst die Passwörter der User nicht unverschlüsselt/ungehasht einsehen können, doch umgeht das mittels der Partnerschaft mit HaveIBeenPwned. Github hat es sich zur Aufgabe gemacht, seine User darüber zu informieren, ob ihre Passwörter in eine der Passwortlisten von HaveIBeenPwned vorhanden ist. Dabei werden nur die Passwörter geprüft, nicht der Zusammenhang Emailadresse-Passwort. Damit entschlüsselt/enthasht Github die Passwörter seiner User, wenn diese in einer der HaveIBeenPwned-Passwortlisten vorhanden sind, auch wenn der User nie einen Account bei einer der Plattformen der geleakten Listen hatte. Freundlicherweise informiert Github die User darüber, wenn dem so ist, und legitimiert sich das als Dienst im Namen der Sicherheit. Die Idee dahinter: Die User sollen keine Passwörter verwenden, die in einer der geleakten Listen sind. Das sind viele Millionen Passwörter, die nicht mehr verwendet werden sollen.

Das Github-Problem: Github enthasht die Passwörter seiner User nicht im Zusammenhang mit den Emailadressen, wie sie in den geleakten Listen vorhanden sind. Das kommt einem Knacken der Passwörter eines Hackers gleich. Github kann somit nicht mehr behaupten, dass sie die Passwörter der User nur gehasht einsehen können, da Github via HaveIBeenPwned die Passwörter seiner User knackt.

Zurzeit informiert Github seine User nur, wenn das Passwort des Users von Github-HaveIBeenPwned geknackt wurde. Möglich ist, dass diese Accounts in naher Zukunft gesperrt werden, wenn der User sein Passwort nicht ändert.

HaveIBeenPwned Github Password Cracker

Was Github will: Github will, dass seine User keine der Passwörter aus den geleakten Listen verwenden. Dazu muss Github die Passwörter seiner bereits registrierten User knacken. Zudem werden keine neuen Accounts mit einem Passwort, dass in den geleakten Listen vorhanden ist, registriert.

HaveIBeenPwned Github Password Cracker