Berechnungsgrundlagen und Prüfungsablauf Passwort-Check 2.0

Inhalt:     Passwort-Cracker  | Passwort-Qualität  | Passwort-Check  | Berechnung  | Prüfungsablauf


zur Statistik der Prüfungen  | Zum Eingabeformular für die Passwort-Überprüfung


1. Wie gehen Passwort-Cracker-Programme vor


Diese automatisieren einen Angriff, indem sie die Eingangsgrössen in rasanter Geschwindigkeit verändern können. Beispiele für solche Programme sind Brutus, Cain and Abel, John the Ripper, UnSecure...Auf Web-Interfaces (Logins) kann scriptgesteuert "losgegangen" werden.


Die Strategien sehen so aus:
  • Wörterbuch-Attacke (Dictionary-Attack): Es werden (riesige) Wortlisten durchgegangen, die Wörter, Sätze, auch in Kombination mit Zahlen u.s.w. enthalten können. Z.B. der komplette Duden, ein Wörterbuch für eine Sprache, ein Telefonbuch oder Namenslisten...(siehe Beispiel einer Liste mit 189.591 deutschen Begriffen). Der Ausgangswert wird so SEHR SCHNELL gefunden. Deshalb sollten für Passwörter KEINESFALLS real vorkommende Begriffe (egal aus welcher Sprache und auch nicht rückwärts geschrieben) verwendet werden! Unser Passwort-Checker arbeitet mit rd. 2,5 Millionen Begriffen aus verschiedenen Bereichen. Die vorstehend verlinkte Liste ist nur ein kleiner Teil davon.

  • Brute-Force-Attack (Rohe Gewalt): Es werden alle möglichen Kombinationen von Zeichen aus einem gewählten Zeichensatz ausprobiert. Diese Methode führt IMMER zum Ziel, es ist nur eine Frage der Zeit.

  • Hybrid-Cracker: Solche Programme kombinieren beide Möglichkeiten (Dictionary- und Brute-Force-Attack), indem den Wortlisten-Begriffen Kombinationen aus dem gewählten Zeichensatz angefügt, eingefügt oder vorangestellt werden. Auch das Rückwärts-Einlesen oder die Ersetzung von Zeichen (z.B. Buchstabe "O" duch Zahl "0") gehört zum Funktionsumfang. Diese Strategie führt zu einem noch schnelleren Erfolg, da mit diesem Ansatz ein Passwort wie z.B. "Karl20" trotz angefügter Zahl keinen ausreichenden Schutz mehr bietet und innerhalb kürzester Zeit geknackt ist.
Der Passwort-Check berücksichtigt alle drei Methoden in der Berechnung (inkl. der Kombinations-Berechnung aus Wortlisten bis zur zweiten Rekursion), siehe folgend (Punkt 3 und 4)!



2. Passwort-Qualität


Optimale Passwörter sind zufällig generierte Zeichenfolgen, denn sie sind i.d.R. NICHT über Wortlisten eruierbar. D.h. die Qualität und Anzahl der Möglichkeiten (AM) steigt exponentiell mit der Länge der Zeichenfolge (LZ) sowie polynomial mit der Menge des verwendeten Zeichensatzes (ZS).


Es ergibt sich folgende Formel zur Anzahl der Möglichkeiten: AM = ZSLZ (für eine reine Brute-Force-Attacke)

Beispiel am Passwort "Karl20": Es ergibt sich eine Zeichensatz-Länge von 62 (26+26+10), da das Passwort zum einen aus Kleinbuchstaben (a-z=26), aus Gross-Buchstaben (A-Z=26) und Zahlen (0-9=10) besteht. Das Passwort selbst hat eine Länge von 6 Zeichen. Ergo sieht das Ergebnis wie folgt aus:

AM = 626 = 56.800.235.584 MAXIMAL benötigte Versuche für eine erfolgreiche Brute-Force-Attacke. Ist das Wort "Karl" aber in einer Wortliste vorhanden (und das ist es!), müssen nur noch die zwei Restzeichen durchprobiert werden, nämlich die Zahl "20" gefunden werden. Also: 102=100 Versuche pro Wortlisteneintrag mit kleinerer oder gleicher Anzahl von Zeichenfolgen wie das Passwort (dies gilt aber nur, wenn "20" nicht selbst wiederum ein Wortlisteneintrag ist, denn dann sind Wortlisten-Kombinationen möglich).

Die Dauer für den Crack von "Karl20" liegt bei rd. 6 Sekunden (mit kombinierter Dictionary-/BruteForce-Attack) bzw. bei 8 Minuten (bei purer BruteForce-Attack) bei 2 Mio. Abfragen* pro Sekunde.


Trotz des schlechten Passworts ersehen Sie an diesem Beispiel dennoch, was nur das grosse "K" hier ausmacht, um genau zu sein, sind 5.462.345.348 Versuche (bei reiner Brute-Force-Attack) mehr notwendig als bei "karl20" (denn mit kleingeschriebenem "k" beträgt der ZS nur noch 36).

Ein Passwort sollte sich deshalb wie folgt zusammensetzen:
  • aus mindestens 10 Zeichen, besser mehr
  • aus Klein-Buchstaben (erhöhen den ZS um 26**)
  • aus Grossbuchstaben (erhöhen den ZS um 26**)
  • aus Interpunktions- und Sonderzeichen (erhöhen den ZS um 35**)
  • aus Zahlen (erhöhen den ZS um 10**)
  • *evtl. aus Umlauten inkl. Accents u.s.w. (erhöhen den ZS um 14**)
  • *last but not least aus weiteren Zeichen aus dem dem vollen Zeichensatz (erhöhen den ZS um 117**)

*Mit VORSICHT anzuwenden, da evtl. vom jeweiligen System nicht zugelassen und nicht über jedes Tastaturlayout möglich. Im
  Internet könnte die eingestellte Zeichencodierung des Browsers und/oder der Webseite zu einem Fehlverhalten führen.


Die höchstmögliche Zeichensatz-Länge liegt somit bei 228** , potenziert mit mind. einer 10-stelligen Zeichenfolge (besser mehr) ergibt sich eine MAXIMALE Anzahl von
AM = 22810 = 379.619.462.565.741.198.311.424 Versuchen für eine reine Brute-Force-Attacke (dies entspricht rd. 6.018.827.095 Jahren bei 2 Mio. Abfragen* pro Sekunde). Aber bedenken Sie, dass theoretisch der erste Versuch genügen könnte und hierbei keine Dictionary-Attack berücksichtigt ist (siehe folgend Passwort-Cracker-Programme).

Sehen Sie bitte auch unsere Seite mit allgemeinen Tipps zu Passwörtern.


**Zusammensetzung der Zeichensatzlängen, siehe Berechnung (Punkt 4)



3. Was macht der Passwort-Check

Im ersten Schritt wird das Passwort aus o.g. Gründen nach Qualitätsmerkmalen (Passwortlänge, eingegebene Zeichen...u.s.w.) untersucht.


Im zweiten Schritt werden die Erfolgschancen eines Hybrid-Passwort-Cracker-Programms berechnet. D.h. es wird untersucht, ob im Passwort gefundene Zeichenfolgen aus Wortlisten enthalten sind (Dictionary-Attack) und wie gross die Anzahl der zu findenden Restzeichen ist (per BruteForce-Attack zu ermitteln). Darüber hinaus wird eine Berechnung von Kombinationen gefundener Zeichenfolgen aus den Wortlisten durchgeführt, die den Zeitaufwand für einen Crack weiter mindern würden.

Da der Passwort-Checker Kenntnis vom verwendeten Zeichensatz, der Passwortlänge und der Zeichenfolge hat, sind folgende Vereinfachungen bei der Berechnung möglich:
  • es kann direkt gecheckt werden, ob Fragmente des Passworts in Wortlisten zu finden sind

  • ist die Suche in Wortlisten erfolgreich, kann die minimal notwendige Anzahl der Zeichen zum verwendeten Zeichensatz für ein Hybrid-Passwort-Attacke begrenzt (Dictionary-Attack für den Fund und Brute-Force-Attack für die Restzeichen) und eine Untergrenze für den Aufwand eines Passwort-Cracks ermittelt werden.

    Beachten Sie jedoch: die von uns verwendeten Wortlisten sind begrenzt und nicht abschliessend, d.h. ein Angreifer kann sich hier mehr Mühe geben oder vorberechnete Zeichenfolgen verwenden, was die Zeit eines Angriffs signifikant verringert. Wir verwenden Wortlisten zur deutschen, englischen, französischen, italienischen, japanischen und spanischen Sprache sowie Auszüge aus Latein, Namensgebungen und Musikinterpreten...auch ein paar Listen mit wirren vorausberechneten Passwortkombinationen sind dabei (insgesamt rd. 2,5 Millionen Begriffe). Wenngleich sich dies sehen lassen kann und in den meisten Fällen bereits zum Erfolg führt, sind Angreifer wie die NSA & Co. da sicherlich wesentlich besser ausgestattet :-(

  • wurden keine Fragmente aus Wortlisten im Passwort gefunden, kann anhand des verwendeten Zeichensatzes die Obergrenze für die max. benötigte Anzahl von Versuchen und die max. benötigte Zeit für einen Brute-Force-Angriff berechnet werden



4. Wie und was berechnet der Passwort-Check im Detail

Der PW-Check berechnet zum einen die erreichte Punkteanzahl zur Qualität des Passworts und es erfolgen ggf. Abzüge nach den vorgegebenen Spezifikationen. Als Maximal-Wert kann 100 erreicht werden. Bei weniger als 80 (Schwellwert) erreichten Punkten, ist das Passwort durchgefallen und als schwach einzustufen.


Bewertungskriterium Spezifikation Abzug
Passwortlänge mind. 10 Stellen pro fehlendes Zeichen 5
Fehlende Kleinbuchstaben: a bis z 20
Fehlende Grossbuchstaben: A bis Z 20
Fehlende Sonderzeichen: ∴,.-;_=()*+|"$@#§%&/{}[]!^?``´~′ u.s.w 20
Fehlende Zahlen: 0 bis 9 20
Nicht druckbare Zeichen enthalten: Zeilenumbruch, Leerzeichen u.s.w. 20
Identische Zeichenfolge: ab dem 3. Zeichen (z.B. "aaa" oder "444") 20
ABC und Zahlenreichen:
(vor- und rückwärts)
ab dem 3. Zeichen (z.B. "abc" o. "cba" o. "456" o. "654") 20
Zeichenfolge auf der Tastatur:
(vor- und rückwärts)
ab dem 3. Zeichen (deutsche Tastatur z.B. "qwe" oder "ewq") 20
Passwort durch Wortliste
leicht eruierbar:
wenn weniger als 6 Restzeichen zum besten Treffer
(Fragment 1 aus Wortliste)
20
Zeitaufwand für Passwort-Crack: wenn 60 Tage oder weniger aber mehr als 30 Tage* 20
Zeitaufwand für Passwort-Crack: wenn 30 Tage oder weniger 100

*Ausgehend davon, dass ein Anwender sicherheitsbewusst seine Passwörter alle 30 Tage ändert (lol),
  gibt es für eine Dauer von über 30 bis 60 Tagen nur einen Abzug von 20 Punkten.
  Die Zeilen "Zeitaufwand für Passwort-Crack" werden nur angezeigt, wenn zu den darüberliegenden Prüfungen
  mind. eine Punkteanzahl von 80 erreicht wurde.


Zum anderen wird der Aufwand (Anzahl notwendiger Versuche und Zeit) berechnet, den ein Hybrid-Passwort-Cracker-Programm mit der eingegebenen Zeichenfolge haben dürfte. Dazu bedient er sich folgender Methodik:
  1. Es wird der längste Eintrag in den Wortlisten gesucht, der komplett im eingegebenen Passwort enthalten ist (bester Treffer). Dieser Treffer wird Ihnen bei der Analyse angezeigt und ist von grosser Bedeutung!

  2. Ermittlung der Restzeichen und Restzeichenanzahl, wenn der beste Treffer kürzer als das Passwort ist. Diese werden Ihnen bei der Analyse angezeigt.

  3. Es wird der längste Eintrag in den Wortlisten gesucht, der komplett in den Restzeichen enthalten ist (bester Restzeichen-Treffer aus dem Block VOR und NACH dem zuerst gefundenen besten Treffer). Dieser wird Ihnen bei der Analyse angezeigt (sofern vorhanden). Der Passwort-Checker errechnet bei einem Zweitfund auch die möglichen Kombinationen aus dem besten Treffer und dem besten Restzeichen-Treffer.

  4. Ermittlung der übrigen Restzeichen und übrigen Restzeichenanzahl, wenn der beste Restzeichen-Treffer kürzer als die übrigen Restzeichen ist. Diese werden Ihnen bei der Analyse angezeigt (sofern vorhanden),

  5. Es wird die Anzahl der möglichen Positionen des Fragments oder der Fragmente (bei Kombinationen) im Passwort berechnet, wenn der Wortlisteneintrag kürzer als das Passwort ist oder die Kombinationen aus dem besten Treffer und dem besten Restzeichentreffer aus der Wortliste kürzer als das Passwort sind. Diese ergeben sich aus der Restzeichenanzahl. Bei Restzeichenanzahl=0 (Passwort=Wortlisteneintrag) ergibt sich hier der Multiplikator 1, weil nur noch die Wortliste durchgegangen werden muss (reine Dictionary-Attacke) und nur EINE Position möglich ist.

  6. Es wird der Zeichensatz der restlichen Zeichen (sofern vorhanden, ansonsten NULL) aus dem Passwort ermittelt und die Anzahl der zu durchsuchenden möglichen Zeichen berechnet. Der Passwort-Checker unterscheidet folgende Klassen:
    Zeichensatzklasse enthaltene Zeichen Zeichen-Anzahl
    Ziffern: 0 bis 9 10
    Kleinbuchstaben: a bis z 26
    Grossbuchstaben: A bis Z 26
    Umlaute, Accents: äöüéèàçÄÖÜÉÈÀÇ 14
    Interpunktions- und Sonderzeichen: ∴,.-;_=()*+|"$@#§%&/{}[]!^?``´~′£ 35
    voller Zeichensatz: alle anderen, druckbaren Zeichen 117
      SUMME 228


  7. Es wird die Anzahl aller Wortlistenbegriffe ermittelt, die kleiner oder gleich lang wie der beste Treffer und, wenn vorhanden, des besten Restzeichen-Treffers sind.

  8. Jetzt erfolgt die eigentliche Berechnung der notwendigen Versuche mit folgendem Algorithmus:

    • Ergebnis: Anzahl notwendiger Versuche (Variable AV).

    • Parameter 1: Grösse des Restzeichensatzes (Variable RZS), d.h. die Summe der Zeichenklassenanzahl, die in den Restzeichen vorkommt. RZS kann auch NULL sein.

    • Parameter 2: Anzahl der Restzeichen (Variable RZ), die nicht im besten Treffer und nicht im besten Restzeichen-Treffer zu den Wortlisten enthalten sind. Diese müssen über eine BruteForce-Attacke geknackt werden. RZ kann auch NULL sein.

    • Parameter 3: Anzahl der Wortlisten-Begriffe (Variable WL1), die kürzer oder gleich lang wie der beste Treffer sind. Der Aufwand steigt linear mit der Grösse der Wortliste(n). Bei reinen Brute-Force-Attacken (d.h. kein Begriff in Wortliste gefunden) beträgt der WL1=1.

    • Parameter 4: Anzahl der Wortlisten-Begriffe (Variable WL2), die kürzer oder gleich lang wie der beste Restzeichen-Treffer sind. Der Aufwand steigt linear mit der Grösse der Wortliste(n). Gibt es keinen Restzeichen-Treffer beträgt WL2=0.

    • Parameter 5: Anzahl der möglichen Positionen (Variable WP), an welchen der beste Treffer im Passwort vorkommen könnte oder die besten Treffer-Kombinationen aus der Wortliste im Passwort vorkommen könnten. Der Angreifer kann die Position nicht kennen, weshalb er ALLE ausprobieren muss. Gibt es keine Restzeichen, beträgt WP=1. Gibt es einen besten Treffer zu den Restzeichen, beträgt WP = (RZ x 2) + 1, ansonsten (gibt es nur einen besten Treffer) WP = RZ +1.

    • Parameter 6: Anzahl der möglichen Kombinationen (Variable K) der Wortlisten-Begriffe, die sich aus dem besten Treffer und dem besten Restzeichen-Treffer ergeben. Gibt es keinen Restzeichen-Treffer, beträgt K=0, ansonsten berechnet sich K wie folgt:
      Formel: K = (WL1 + WL2)2 x ((RZ x 2) + 1)

    Die notwendigen Versuche errechnen sich abschliessend nun wie folgt:
    Formel: AV = (RZSRZ x (WL1 + WL2) x WP) + K

    Man beachte bei RZS = NULL und RZ = NULL (ergo 00) das Ergebnis 1 (EINS) per Definition!
    Siehe dazu auch "Null hoch Null" bei Wikipedia.

    Dabei wird von folgenden Voraussetzungen ausgegangen:

    • Das Passwort-Cracker-Programm startet mit kurzen Zeichenfolgen und erhöht die Länge nach und nach im Nicht-Erfolgsfall

    • Das Passwort-Cracker-Programm wählt die Zeichensatz-Klasse, in welchen auch wirklich Restzeichen vorhanden sind

    • Das Passwort-Cracker-Programm variiert lediglich die minimale Anzahl von Zeichen für den Brute-Force-Angriff

    • Das Passwort-Cracker-Programm kombiniert zwei Wortlisten-Begriffe mit den möglichen Reihenfolgen ("Begriff1Begriff2" und "Begriff2Begriff1" sowie mit sich selbst "Begriff1Begriff1" und "Begriff2Begriff2"), beginnend mit kurzen Zeichenfolgen und erhöht die Länge sukszessive. Führt dies nicht zum Erfolg, variiert es lediglich die minimale Anzahl von Zeichen (aus der Zeichensatzklasse, in welcher die Restzeichen vorkommen) an verschiedenen Stellen zusätzlich zu den möglichen Kombinationen für den erweiterten Brute-Force-Angriff (z.B. "Begriff1Restzeichen1Restzeichen2Begriff2" oder "Restzeichen1Restzeichen2Begriff2Begriff1"...u.s.w.)

* Die Zeit errechnet sich auf der Grundlage von 2 Millionen Abfragen pro Sekunde, was mit handelsüblicher Hardware zu erreichen ist. Sie meinen das ist zu viel? Mit der Rechengewalt aus der Cloud über viele Grafikkarten-Prozessoren (GPU) oder über Botnetze (gekaperte Rechner) sind weit mehr Abfragen pro Sekunde möglich! Deshalb ist der ausgegebene erforderliche Zeitaufwand sehr mit Vorsicht zu betrachten und eher nach unten zu korrigirieren.



5. Grafik Prüfungsablauf


© 2014 Passwort-Check von Bauser-Enterprises | Thomas Murr

Zum Eingabeformular für die Passwort-Überprüfung
Kommentare (21) zu dieser Seite