Ashley Madison: Wie man Passwörter nicht speichern sollte

Die beim Ashley-Madison-Hack erbeuteten Daten zeigen anschaulich, wie man ein eigentlich sicheres Login-System mit einer kleinen Unachtsamkeit ad absurdum führen kann.

In Pocket speichern vorlesen Druckansicht 252 Kommentare lesen
Facepalm

(Bild: Brandon Grasley, CC-BY-2.0)

Lesezeit: 2 Min.
Von
  • Fabian A. Scherschel

Passwörter richtig speichern ist verdammt schwer. Ein einziger Fehler in einer ansonsten vorbildlichen Umsetzung von Krypto-Systemen kann das ganze Kartenhaus zum Einsturz bringen. So geschehen bei Ashley Madison. Als Sicherheitsforscher die Daten aus dem Einbruch in die Server des Seitensprung-Portals sichteten, dachten sie zuerst, dass es Jahrhunderte dauern würde, alle 36 Millionen Passwörter der Nutzer zu knacken. Wie sich jetzt herausstellte, schafft man das bei über 15 Millionen der Passwörter in ein paar Wochen.

Die Hobby-Cracker von CynoSure Prime haben in zehn Tagen bereits 11 Millionen Passwörter entschlüsselt. Den Hebel für den Passwort-Tresor fanden sie, in dem sie den geleakten Quellcode von Ashley Madison unter die Lupe nahmen. Eigentlich waren die Passwörter auf der Seite mit dem Hashing-Algorithmus bcrypt gesichert, der bei Experten als verlässlich gilt. So erklärt sich die ursprüngliche Einschätzung, die Ashley-Madison-Passwörter seien bombensicher. Doch dann fand CynoSure Prime heraus, dass 15,26 Millionen Passwörter im Endeffekt nur mit MD5 gesichert waren – und MD5 gilt seit Jahren als unzulänglich für diesen Zweck.

Zwar waren die Passwörter selbst sicher mit bcrypt vor Angriffen geschützt, allerdings generierten die Programmierer bei den 15 Millionen knackbaren Passwörtern eine Variable namens $loginkey aus dem Klartext, die eben nur mit MD5 gesichert war. Will man das richtige Passwort haben, muss man raten und jedes Mal das geratene Passwort hashen und mit dem erbeuteten Hash vergleichen. Stimmen die Hashes überein, liegt man richtig. Bei bcrypt dauert das lange, mit MD5 ist es mit moderner Hardware eine leicht lösbare Aufgabe.

Oben: So hat Ashley Madison verschlüsselt. Unten: So wäre es sicher gewesen.

(Bild: CynoSure Prime)

Dass die Programmierer das Passwort im Klartext durch MD5 gejagt hatten bricht jetzt den Nutzern das Genick. Dass sie zusätzlich alle Passwörter ausschließlich in Kleinbuchstaben gespeichert hatten, macht das Ganze noch schlimmer. CynoSure Prime schätzt, dass die Programmierfehler den Prozess ungefähr eine Million Mal schneller machen. Traurigerweise hätten die Ashley-Madison-Programmierer den MD5-Hash vom Klartext eigentlich nicht gebraucht – der Quellcode zeigt, dass sie auch einfach den schon erzeugten bcrypt-Hash durch MD5 hätten schicken können. (fab)