Warum wir den Passwort-Krieg verlieren

Passwort Hack

LinkedIn, eHarmony, Yahoo - die Liste lässt sich beliebig fortsetzen: Alles Unternehmen, die Kundenzugangsdaten verloren haben. Wir kennen zwar alle die Regeln für sichere Passwörter, aber trotzdem könnte es sein, dass unsere Zugangsdaten immer unsicherer werden.

Keine Namen oder einfache Worte, sondern Zahlen, Buchstaben, Groß- und Kleinschreibung sowie Sonderzeichen verwenden und mindestens 10 Stellen verwenden – das sind die Regeln für die Passwortvergabe. Dennoch zeigt sich, dass das nicht reicht. Das Problem bei den Passwort-Beutezügen der letzten Zeit ist die Tatsache, dass die Passwörter von Millionen von Leuten bekannt sind. Ars Technica erklärte dazu folgendes:

Neue Hardware und moderne Methoden haben die Passwort-Cracks der letzten Zeit beflügelt. Die für Rechenaufgaben zweckentfremdeten Grafikprozessoren sind tausende Male schneller als Prozessoren und können Passwörter in einer Geschwindigkeit ausprobieren, die bislang unerreicht war. Ein einzelner PC mit einer einzelnen AMD Radeon HD7970 GPU kann zum Beispiel pro Sekunde 8,2 Milliarden Passwortkombinationen ausprobieren – abhängig von dem Algorithmus, der dazu verwendet wird. Vor 10 Jahren konnten das nur Supercomputer.

Jedes Mal wenn ein Hack passiert, erhalten die Angreifer zudem mehr Informationen darüber, die die Benutzer Passwörter auswählen. Sie besitzen nun riesige Datenberge von Passwörtern, die in die Angriffsmodelle mit einbezogen werden können.

Wichtiger noch als die tatsächlich verwendeten Passwörter ist der Einblick in die Art und Weise, wie Menschen Passwörter nutzen. Die meisten Anwender versuchen, sowohl ein leicht zu merkendes aber auch schwer zu erratendes Passwort zu erstellen.

Wenn man sich zum Beispiel die Passwörter ansieht, die beim Einbruch in RockYou erbeutet wurden, dann sieht man, dass praktisch alle Großbuchstaben am Anfang des Wortes verwendet wurden und fast alle Zahlen und Sonderzeichen am Ende. Außerdem gibt es eine starke Tendenz, Vornamen gefolgt von Jahreszahlen zu verwenden, wie zum Beispiel Julia1984 oder Christopher1965.

Was ist also der Ausweg aus dieser Situation? Ehrlich gesagt – außer dass man ständig seine Passwörter wechseln und für jeden Zugang ein separates Passwort verwenden sollte, gibt es unter Umständen gar keine befriedigende Lösung. Auf Ars Technica kann man dazu noch mehr lesen. [Leslie Horn / Andreas Donath]

[Via Ars Technica, Bild: Yellowj/Shutterstock]

Tags :
  1. ein technischer ausweg wäre auch ein dongle, authentificator (google, blizzard haben sowas schon) oder Zertifikate. am sinnvollsten wäre es aber wenn die dienste/firmen die die passwörter haben ihre sicherheit verstärken würden. die meisten hacks in dieser art passieren, weil teilweise massive sichheitslücken auf dem angegriffenen system bestehen. zum anderen sollten die passwörter in der benutzerDB die geklaut wird auch noch verschlüsselt sein. da können die angreifer auch einen pc mit 2 grafikkarten (-.-) haben und brauche einfach n stückchen.
    verschlüsselung funktioniert halt auch nur, wenn das ganze system sicher ist…

  2. So leicht ist es leider nicht. Wenn ein Server okkupiert wird, dann hat der Angreifer im schlimmsten Falle root-Rechte und kann damit eben auch die Verschlüsselung sehen. Und wenn nicht (async enc), hat er immerhin die (verschlüsselten) Daten als auch den Algorithmus und dann fängt der Bruteforce an, den man mit besagten GPUs und Cloud-Servern ziemlich gut skalieren kann. Dongles oder Authenticator-Apps sind eine schöne Lösung um Man-in-the-middle-Attacken zu verhindern, aber wenn der Dieb die Daten schon hat, hilft das reichlich wenig. Es gibt leider keine Verschlüsselung, die auf statischen Daten alle 30 Sekunden ihren Schlüssel ändert. und den alten Wertlos werden lässt.
    Dennoch ist das kein unmögliches Problem. Klar ist, dass man als Betreiber keine Klartext-Passwörter speichern sollte. Das sollten eigentlich immer ein Hash-Wert des Passworts sein. Aber auch einfache MD5-Werte speichern bringt zwar erstmal Sicherheit, ist aber durch Sachen wie Rainbow-Tables und einfache Zählungen welche Hashes am häufigsten genutzt werden angreifbar. Hashes mit salt schalten immerhin die default Rainbow-Tables aus, und mit variablen Salt sogar die Zählungen. Dann hat der Angreifer nur noch die Möglichkeit zum Bruteforcen. Und auch das kann man bis zu einer in naher Zukunft nicht erreichbaren Größe erschweren. BCrypt heißt hier das Zauberwort. BCrypt ist eine Erzeugung von Hashes, die sich im Berechnungsaufwand skalieren lässt. Man kann zwischen Werten von 1 ms bis zu 74 Minuten (beides auf aktueller Hardware) für das generieren des Hashes wählen. Natürlich sagt Moore’s Law (indirekt), dass die Prozessorgeschwindigkeit und damit auch die Bruteforce-Angriffe schneller werden, aber bis wir Prozesse, die heute 74 Minuten dauern, in wenigen Nanesekunden errechnen können, dürften noch einige Jahre ins Land gehen. Man muss nur nachhaltig dafür solten, dass die Werte davon erhöht werden.

    Es gibt genügend gute Waffen um den “Passwort-Krieg” mindestens hinauszuzögern und ich würde sagen, dass man ihn damit auch komplett “gewinnen” könnte. Der Artikel ist leider dafür nicht ausreichend recherchiert. Die Verantwortung dafür liegt bei den Webseitenbetreibern und genau da ist der Hacken: Diese kann man nicht kontrollieren. Ich würde von einigen eher erwarten, dass sie sich Gedanken darüber mache als von anderen, aber offenlegen tut es keiner. Eine sichere Verschlüsselung muss dem kompletten Zugriff auf die Quelltexte und die Datenbanken standhalten.

      1. Nö, hab selbst mal eine Lösung für das Problem gesucht und bin dabei auf Bcrypt gestoßen. Die Zahlen hab ich von nem Blogeintrag von phpgangsta und im Nachhinein hab ich gsehen, dass im Originalartikel selbst diejenigen, die die Daten von einem Hack analysiert haben, sagen, sie hätten mit Bcrypt maximal 1500 Passwörter pro Sekunde bruteforcen (vermutlich mit einem derzeit realistischem Komplexitätsparameter von 8 oder 9) können und nach einer Woche keinen Bock mehr gehabt weiter zu machen, was den wiedergegebenen Artikel noch etwas schlechter macht.

        “If the LinkedIn passwords had been hashed using bcrypt, I never would have been able to crack 90 percent of them,” he told Ars in an e-mail. “The number of attacks I had to run, combined with the sophistication of the attacks I had to run to get many of the passwords [more than] 15 characters, would have taken literally centuries to finish. I would have given up after about a week.”

  3. Eine weitere, einfache Lösung: Es wird nur eine bestimmt Anzahl von Passworteingaben pro Zeiteinheit erlaubt. Schon bei einem zugelassenen Passwortversuch pro Sekunde sind sogar schlechter Passwörter quasi unknackbar, ohne dass ein normaler Benutzer davon irgendeinen Nachteil hat.
    Seltsamerweise scheint es den meisten Diensten/Nutzern/Entwicklern dann doch wieder nicht so wichtig mit der Sicherheit zu sein, als dass man ein solches System implementieren würde.

  4. @CoSinus
    Das was du da ansprichst ist eine Absicherung nach außen. D.h. ein Angreifer versucht möglichst häufig das Passwort über den regulär laufenden Dienst zu erraten. Da das immer einen immensen Overhead durch die ganzen Protokolle durch die die Anfrage muss, ist das zum Bruteforcen nicht geeignet. Auch Wörterbuch-Angriffe gehen nur bedingt. Ein Passwort mit den Eigenschaften aus dem Artikel hilft in dem Fall ausreichend. Das wahre Problem ist aber bei Hacks wie dem Sony PSN-Store-Hack, das der Angreifer Zugriff auf die gespeicherten Passwörter hatte. Davor kann auch ein 100 Zeichen langes Passwort nicht helfen.

    Ein schönes Beispiel, wo es jemand richtig gemacht hat und was einem auch gleichzeitig genügend Vertrauen gegenüber Passwortmanagern geben sollte ist lastpass. Lastpass wurde gehackt, d.h. die Angreifer hatten Zugriff auf die Datenbanken. Da Lastpass die Passwörter aber verschlüsselt speichert und nur der User mit seinem Master-Passwort die Daten entschlüsseln kann (welches Lastpass gar nicht speichert) haben sie einmal müde gelächelt, ein Backup auf einen neuen Server eingespielt und den alten abgeschaltet (so ungefähr wahrscheinlich – wie das wirklich gelaufen ist weiß ich nicht). Gleichzeitig haben sie auch noch die Verschlüsselung ihrer Datenbank erhöht. Fakt ist aber, dass hier die Daten sicher waren (wenn man sich eben an die Konventionen für Passwörter beim Masterpasswort gehalten hat).

  5. Wie der Vorredner bereits erwähnt hat:
    Wieso nicht einfach Passwortverwaltungssoftware verwenden?
    Wenn man heute bei mehr als 30 Diensten angemeldet ist, kann man sich da einzelne Passwörter ohnehin niemals merken. Klar wenn jemand die Key-Database in die Hände fällt und er dann das dazu gehörige Passwort bruteforced hat man natürlich ein Problem aber immernoch sicherer als 1,2,3 Passwörter für alle Dienste zusammen!

  6. “Wenn ein Server okkupiert wird,…” da ist es eben schon an den entsprechenden betreibern dies zu verhindern und auch die sicherheit intern recht hoch zu halten. sprich den server die rel einfach angegriffen werden können (zb. webserver) sollte auch intern nicht wirklich vertraut werden bzw. man sollte so gut wie möglich abkapseln.
    und einen Datensatz aus einer geklauten DB zu entschlüsseln ist mit BruteForce noch sehr gut möglich, aber ne DB mit 5-10000 Usern entschlüsselt man nicht so schnell. muss ja immer wieder von vorne anfangen.
    Ach ja so Dienste wie LastPass gehen imho garnicht. Ich speichere meine Passwort Daten doch nicht in eine weltweit zugängliche Cloud mit sitz in ka wo…

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Advertising