AngriffMarkov(probabilistisch) — Umfassender Betrieb

Referenzdokument des ProjektsTime2Crack
Empfänger: Entwickler, Sicherheitswissenschaftler, Fortgeschrittene

Inhalt

  • Überblick
  • Historischer und akademischer Hintergrund
  • Mathematical Foundations:Markov
  • Architektur eines CracktoolsMarkov
  • Phase 1 — corpus Ausbildung von realen Passwörtern
  • Phase 2 — Ordentliche Kandidatengeneration
  • Reducing Research Space: Der Schlüssel zu Effektivität
  • Notable Variationen und Implementierungen
  • Verhalten gegen verschiedene Arten von Passwörtern
  • Integration inTime2CrackModellierung und Parameter
  • Vergleich mit anderen probabilistischen Angriffen
  • AngriffsbeschränkungenMarkov
  • Effektive Verteidigung
  • Referenzen

  • 1. Überblick

    AngriffMarkovist ein Passwort-Cracking-Verfahren probabilistisch und statistisch die Kandidaten generiert, indem sie sich auf die beobachteten Frequenzen des Übergangs zwischen Zeichen in realen menschlichen Passwörtern verlassen. Statt alle möglichen Kombinationen in alphabetischer Reihenfolge zu testen - wie die Rohkraft tut - sortiert sie Kandidaten aus dem wahrscheinlichsten zumindest, Konzentration der Berechnungsaufwand, wo menschliche Passwörter tatsächlich liegen.

    Einfach : Angreifer mit ausreichender GPU und ModellMarkovgut ausgebildet wird testen "letmein", "p@ssword" und "sun2024" vor dem Testen "aaaaaaaaaa", "aaaaab" oder "xqzfkw" - denn Menschen erstellen Passwörter, die wie Wörter aussehen, nicht weißes Rauschen. Gemessene Effizienz : Forschung von Dürmuth et al. (2015) auf dem RockYou corpus (14 Millionen Passwörter) zeigt, dass ein ModellMarkovOrdnung 5 reduziert den eigentlichen Suchraum 0,6% des Bruttoraums für Passwörter mit typischer menschlicher Struktur — eine Reduzierung von 99,4 %.

    2. Historischer und akademischer Hintergrund

    2.1 Ursprung

    AnwendungMarkovPasswörter knacken predates formale akademische Publikationen. Offensive Sicherheitspraktizierende verwendet ähnliche Modelle aus den 2000er Jahren, aber strenge Formalisierung stammt hauptsächlich aus den 2010er Jahren.

    Chronologie der Meilensteine : JahrVeranstaltung -------------- 2005Nakashima & Oyama: erste formale Anwendung von n-Grammen auf Passwörter 2009Weir et al. (IEEE S&P):PCFG— direkte Wettbewerber, Positionsstrukturwahrscheinlichkeiten 2012Ma et al. (USENIX Security): Vergleichende Studie von probabilistischen Modellen auf 70M Passwörtern 2013Durmuth: erste OMEN-Analysen auf mehreren corpus 2015Dürmuth, Angelstorf, Horsch, Nürnberger, Rüegge: OMEN (ESORICS 2015) — wichtige akademische Referenz 2016Wheeler (zxcvbn) bestätigt die Wirksamkeit von n-Grammen bei der Schätzung der tatsächlichen Entropie 2018OMEN+: verbesserte Version mit Glättung und Interpolation 2019–2022Hybride ArbeitMarkov+ neuronale Netze (PassGAN, FuzzyPSM)

    2.2 Referenzkörper

    ModellausbildungMarkovbasierend auf Passwort-Datenbanken von bekannten Datenlecks:

  • LinkedIn (2012) : 6,5 Millionen nicht gesalzene SHA-1 Hashs (einschließlich 4,4M gekrackt)
  • Adobe (2013) : 153 Millionen Kennziffern (3DES Hashs — durch Frequenzanalyse gekrackt)
  • Sammlung #1–5 (2019) : 2,7 Milliarden Paare identifizieren/Passwort
  • Habe ich Pwned (2024) : ~14 Milliarden einzelne aggregierte Anmeldeinformationen
  • Diese Korpus zeigen die tatsächliche statistische Verteilung menschlicher Passwörter, die sich radikal von einer einheitlichen Verteilung unterscheidet.


    3. Mathematische Grundlagen:Markov

    3.1 Formelle Definition

    Eine Kette vonMarkovOrdnung k.o. auf einem Alphabet k.o. Vorherige Zeichen:

    P(cₙ | c₁c₂...cₙ₋₁) = P(cₙ | cₙ₋ₖ...cₙ₋₁)

    Für Passwörter enthält es in der Regel 95 bedruckbare ASCII-Zeichen (26 unteres Gehäuse + 26 oberes Gehäuse + 10 Ziffern + 33 Symbole).

    Ordnung 1 (Programm) :
    P("password") = P("p") × P("a"|"p") × P("s"|"a") × P("s"|"s") × ...
    Bestellung 5 (optimal nach Dürmuth 2015) :
    P("password") = P("p") × P("a"|"p") × P("s"|"pa") × P("s"|"pas")
                    × P("w"|"pass") × P("o"|"passw") × P("r"|"passwo")
                    × P("d"|"passwor")

    Order 5 erfasst Kontexte wie "nach "passw", die wahrscheinlichste Folge ist "o" — Informationen, die für ein Auftragsmodell 1 nicht zugänglich sind.

    3.2 Die Übergangsmatrix

    Für eine Ordnung von 1 über 95 Zeichen ist die Übergangsmatrix Größe 95 × 95 = 9,025 Eingänge. Für Bestellung 5 geht es 955 × 95 = ~7.7 × 1010 theoretische Eingänge — aber die Mehrheit der Ordnung n-Grammen 5 erscheint nie in den tatsächlichen Daten. Implementierungen verwenden hohle Datenstrukturen (tries, hash maps), um nur beobachtete n-Grammen zu speichern.

    3.3 Log-Wahrscheinlichkeit und Sortierung

    Um schwimmende Overruns auf 8+-Kennwörtern zu vermeiden (Verbindlichkeiten in der Größenordnung von 10-20), arbeiten die Werkzeuge in log Wahrscheinlichkeiten :

    log P("password") = log P("p") + log P("a"|"p") + log P("s"|"a") + ...

    Dieser Wert ist ErgebnisMarkov Die Kandidaten werden in absteigender Reihenfolge der Partitur erzeugt, d.h. die wahrscheinlichsten zumindest wahrscheinlich.

    3.4 Warum Ordnung 5?

    Empirische Forschung (Dürmuth 2015, bestätigt von Ma et al. 2012) zeigt:

  • Ordnung 1 : erfasst Frequenzen einzelner Zeichen (e, a, o häufig in winzig), Reduktion ~50%
  • Ordnung 2 : erfasst gemeinsame Bigrams (pa, ss, wo, rd), Reduktion ~75%
  • Beschluss Nr. 3 : erfasst Trigramme (nicht, Arsch, ssw), Reduktion ~90%
  • Beschluss Nr. 4 : sinkende Renditen starten, Reduktion ~95 %
  • Ordnung 5 : Optimum empirisch auf RockYou, Reduktion ~99.4%
  • Bestellen Sie 6+ : Overfitting, model merkt Trainingspasswörter ohne Verallgemeinerung

  • 4. Architektur eines CrackersMarkov

    4.1 Hauptkomponenten

    ┌─────────────────────────────────────────────────────────────┐
    │                    OUTIL DE CRACKING MARKOV                 │
    ├─────────────────┬───────────────────┬───────────────────────┤
    │  Phase          │  Composant        │  Rôle                 │
    ├─────────────────┼───────────────────┼───────────────────────┤
    │  Entraînement   │ Corpus Parser     │ Lit les mots de passe │
    │                 │ N-gram Counter    │ Compte les transitions│
    │                 │ Probability Table │ Normalise en probas   │
    │                 │ Model Serializer  │ Sauvegarde le modèle  │
    ├─────────────────┼───────────────────┼───────────────────────┤
    │  Génération     │ Candidate Gen     │ Énumère par score     │
    │                 │ Length Controller │ Filtre par longueur   │
    │                 │ Threshold Filter  │ Coupe les improbables │
    ├─────────────────┼───────────────────┼───────────────────────┤
    │  Attaque        │ Hash Engine       │ Compare aux cibles    │
    │                 │ GPU Interface     │ Hashcat backend       │
    └─────────────────┴───────────────────┴───────────────────────┘

    4.2 Integration mit Hashcat

    Die in der Praxis am weitesten verbreitete Umsetzung ist über Hashcat stdin mode (-a 0 mit einem externen Generator oder über Python-Module als statsgen (aus dem PACK-Toolkit):

    # Exemple d'attaque Markov pratique
    python statsgen.py rockyou.txt --output markovModell.stats
    python maskgen.py markovmodel.stats | hashcat -a 0 -m 1000 targethashes.txt

    Dedizierte Werkzeuge wie OMEN (offen)MarkovSchätzung der nächsten Passwörter) direkt erstellen Listen von sortierten Kandidaten.


    5. Phase 1 — Aufbau eines echten Passworttrainings

    5.1. Extraktion von n-Grammen

    Für jedes Passwort im Korpus werden alle n-Grammen extrahiert (mit einem Startmarker). ^ und Ende $)

    Beispiel mit "Hallo" (Bestellung 2):

    ^h, he, el, ll, lo, o$

    Beispiel mit "P@ss1!" (Bestellung 2):

    ^P, P@, @s, ss, s1, 1!, !$

    5.2 Zählung und Standardisierung

    Für jeden Kontext (n-1 vorherige Zeichen) werden die Vorkommnisse jedes folgenden Zeichens gezählt und normalisiert:

    Contexte "pa" → {s: 847, r: 12, t: 8, l: 3, ...}
    → P(s|pa) = 847/870 = 0.973
    → P(r|pa) = 12/870 = 0.014

    Diese Verteilungen zeigen menschliche Sprachgewohnheiten: nach "pa", schreiben Menschen massiv "s" (Passwort, Pass, pablo...).

    Glätten

    Das Problem der unbeobachteten n-Grammen: wenn "xq" nie in den Korpus erscheint, P(c)xq) = 0 für jede c — die die Generation blockiert.

  • Add-one (Laplace) : 1 zu allen Konten hinzufügen
  • Gute Tour : die Wahrscheinlichkeit der n-Grammen, die einmal zu den nie gesehenen
  • Kneser-Ney : Stand der Technik, verwendet in OMEN+
  • Das Glatteing ermöglicht es dem Modell auch, Kandidaten aus dem Trainingskorpus zu generieren – entscheidend, um leicht neue Passwörter abzudecken.

    5.4 Was das Modell lernt

    Nach dem Training auf RockYou, ein ModellMarkovBestellen 5 interniert Muster wie:

  • Digitale Manschetten : Zahlen erscheinen massiv am Ende des Passworts (→ "123", "2024", "1!")
  • Aktuelle Anfänge : "pa", "my", "lo", "ch", "123", "abc" sind häufige Anfänge
  • Erste Zahlung : der Oberkörper in der ersten Position ist viel wahrscheinlicher als in der Mitte der Kette
  • Seltene Symbole in der Mitte : "@", "#", "!" erscheinen vor allem beim Austausch von Briefen oder Suffix
  • Menschliche Wiederholungen : "aa", "ll", "ee" sind häufiger als Duplikate seltener Konsonanten

  • 6. Phase 2 — Ordentliche Kandidatengeneration

    6.1 Das Problem der Notenaufzählung

    Kandidaten in absteigender Reihenfolge der Wahrscheinlichkeit generierenMarkovWir können nicht einfach die Wahrscheinlichkeiten aller möglichen Kandidaten (948 x 6 × 1015 für 8 Tanks) berechnen und dann aussortieren.

    Die Lösung: Heuristische Suche mit Prioritätsschwanz Der Algorithmus ist ähnlich wie Dijkstra:

  • Initialisieren Sie die Linie mit den wahrscheinlichsten Anfängen (^a, ^p, ^1...
  • In jeder Phase depilieren Sie den wahrscheinlichsten Teilkandidaten
  • Erweitern Sie es mit jedem möglichen Zeichen, berechnen Sie die Partitur des erweiterten Kandidaten
  • Wenn die Ziellänge erreicht ist, geben Sie Kandidaten aus
  • Wenn nicht, Datei zurück
  • Dieser Ansatz sorgt für eine annähernd abnehmende Sortierung, ohne den gesamten Raum zu merken.

    6.2. Schwellenschwelle

    Um zu vermeiden, Milliarden von unwahrscheinlichen Kandidaten zu erzeugen, Mindestpunkt darunter wird ein Teilkandidat eliminiert (Lattung).

    Si log P(candidatpartiel) < THRESHOLD → abandon de cette branche

    Schwelle ist ein kritischer Parameter: zu hoch → Sie vermissen Passwörter an der Grenze; zu niedrig → Sie generieren zu viele Kandidaten und verlangsamen den Angriff.

    6.3 Längenmanagement

    ModelleMarkovwerden geschult und im Allgemeinen betrieben durch feste LängeEin typischer Angriff:

  • Länge 6: erzeugen N Kandidaten in absteigender Reihenfolge der Wahrscheinlichkeit
  • Länge 7: Idem
  • Länge 8: Idem (meist gemeinsame Länge in corpus)
  • Längen 9-12: abnehmende Abdeckung
  • Längenverteilung in RockYou: 8 Tanks = 24%, 7 Tanks = 21%, 9 Tanks = 12%, 6 Tanks = 10%...


    7. Reducing Research Space: Der Schlüssel zur Effektivität

    7.1 Empirische Quantifizierung (Dürmuth 2015)

    Für ein Passwort von 8 Zeichen mit dem vollständigen Alphabet (94 Tanks):

    MethodeForschungsraumVerringerungsfaktor ---------------------------------------------- Bruttowertschöpfung948 6 × 10151× (Referenz) MarkovOrdnung 1~3 × 1015 ~~2× MarkovOrdnung 3~6 × 1013 ~~100× MarkovOrdnung 5~3.6 × 1010 ~~166 000× ~ MarkovOrdnung 5 (typischer Mensch)~4 × 107 ~~150 million×

    Der Unterschied zwischen "reduziertem Raum" und "typischer menschlicher Raum" lässt sich dadurch erklären, dass echte menschliche Passwörter in höchstwahrscheinlich Je nach Modell.

    7.2 Warum Menschen vorhersehbar sind

    Die vonMarkov:

    Sprachzwänge Passwörter werden von vorhandenen Wörtern abgeleitet. "letmein", "sunshine", "iloveyou" folgen phonotischen Regeln des Englischen - die Übergänge von Buchstaben sind sehr wahrscheinlich. Kognitive Einschränkungen Menschen erinnern sich nicht an wirklich zufällige Sequenzen. Ein zufälliges Passwort wie "xqzfw9@" wird selten spontan gewählt. Kulturelle Muster Diese Muster schaffen hohe Dichte Cluster im Passwortraum. Vorhersehbare Substitutionen Diese Veränderungen sind so häufig, dass sie Teil des Modells sind. Position der Zahlen und Symbole : Die Zahlen am Ende des Passworts (passwd123) sind 10× häufiger als die Zahlen am Anfang. Suffix-Symbole (passwd!) sind 5× häufiger als in der zentralen Position.

    7.3 Der Fall von Tastaturmustern

    Keyboard-Sequenzen (qwerty, asdf, zxcv, 1234, azerty...) sind besonders gefährdet.

  • Charakterübergänge folgen den Zwängen der Tastaturtopologie
  • Von jedem Schlüssel sind nur 4-8 unmittelbare Nachbarn relevant
  • Ein ModellMarkovin corpus einschließlich dieser Muster erreicht eine Verringerung 99,7 % (vs 99.4% für allgemeine menschliche Worte)
  • InTime2CrackDiese Unterscheidung ist nicht mehr eine feste Ebene.MarkovV2 umfasst kbPat als Signal in einem Rangschätzer (markovExpectedGuesses) dann kontinuierlich zwischen "menschlichen" und "randomähnlichen" Regimen interpolieren.


    8. Notable Variationen und Implementierungen

    8.1 OMEN (offenMarkovSchätzung der nächsten Passwörter)

    Von : Dürmuth, Angelstorf, Horsch, Nürnberger, Rüegge (ESORICS 2015) Verfügbarkeit : Open Source (GitHub) Wichtigste Innovation : optimierte Terminierung durch Level-Score (Zusammenfassung durch Wahrscheinlichkeitsstufen)

    OMEN verwendet eine Diskretisierung von Wahrscheinlichkeiten in Insgesamt die Erzeugung beschleunigen:

  • Jedes n-Gramm erhält eine ganze Partitur (0 = sehr wahrscheinlich, 10 = unwahrscheinlich)
  • Die Summe der Punkte eines Passworts ist seine Gesamtergebnis
  • Passwörter werden in aufsteigender Reihenfolge der Gesamtwertung generiert
  • Dieser Ansatz löst elegant das Problem der ordentlichen Aufzählung ohne teure Priorität Schwanz.

    8.2 OMEN+

    Erweiterung von OMEN mit:

  • Glatte Kneser-Ney zur besseren Verallgemeinerung
  • Interpolation von Multiorder : kombiniert Auftragsprognosen 3, 4 und 5
  • Anpassung der Schwelle auf Basis der empirischen Korpusverteilung
  • Gemeldete Leistung: +15 bis +20% gekrackte Passwörter vs original OMEN mit gleichem Budget.

    8.3 Statsgen / PACK (Passwortanalyse und Cracking Kit)

    Von : Peter Kacherginsky (iphelix) Ansatz : leichter als OMEN, erzeugt Hashcat kompatible Masken und Statistiken Typische Verwendung : Analyse einer Reihe von geknackten Passwörtern zur Anpassung zukünftiger Angriffe

    8.4 John TheRipper — ModusMarkov

    John TheRipper integriert ein ModusMarkovgeb. (entwickelt von Samuele Giovanni Tonon):

    john --markov --min-length=6 --max-length=8 hashes.txt

    Parameter --markov-threshold (0-400): steuert die Abschaltschwelle. 150 = empfohlener Standardparameter.

    ModeMarkovJtR verwendet in Dateien vorkalkulierte Statistiken .mkv (markov stats files) generiert von calcstat.

    ModelleMarkovHybriden

    Markov+ Regeln : Kandidaten generierenMarkov, dann anwenden Hashcat Transformation Regeln Markov+ Wörterbuch : Passwörter verwendenMarkovals Grundlage für Hybridangriffe Markov+PCFG : die probabilistische Ordnung kombinierenMarkovmit struktureller BelastungPCFG

    Diese Hybridisierungen werden in professionellen Cracking-Konfigurationen verwendet, um die Budgetabdeckung von CPU/GPU zu maximieren.

    8.6 Moderne Sprachmodelle (LLM/LSTM) — Nachfolger vonMarkov

    LSTM- und Transformer-Netzwerke sind als Verallgemeinerungen derMarkov:

  • Markovk = k tokens Festes Kontextfenster
  • LSTM = variables und ungebundenes Kontextfenster (Langzeitspeicher)
  • Transform = Gesamtbetrachtung der gesamten Sequenz
  • PassGAN (2017), FLA (2019), PassBERT (2022) übertrifft die ModelleMarkovKlassiker von 20-30 % in Rissrate auf moderne corpus.


    9. Verhalten gegen verschiedene Arten von Passwörtern

    9.1 Passwörter aus natürlichen Wörtern

    Beispiele : Sonnenschein, Salat, Drachen, Iloveyou Schwachstelle : extrem Mechanik : Das Modell gibt den Sequenzen des aktuellen Englischen eine sehr hohe Wahrscheinlichkeit zu. Diese Wörter erscheinen im 0,001 % generierte Kandidaten. Zeit : Millisekunden auf MD5/SHA-1

    9.2 Wörter mit Leetspeak-Ersetzungen

    Beispiele : p@sw0rd, L3tm3In, $unsh1ne Schwachstelle : hoch Mechanik Das Modell hat gelernt, dass "@" oft "p" folgt (weil "p@ss..." im Korpus sehr häufig ist), dass "0" oft "w" folgt (w0rd...), etc. Die häufigsten Substitutionen sind in die Übergangswahrscheinlichkeit integriert. Zeit : Sekunden bis Minuten

    9.3 Wörter mit digitalem Suffix

    Beispiele : Passwort123, sunshine2024, dragon1! Schwachstelle : hoch Mechanik Die numerischen Suffixe sind so häufig, dass das Modell eine hohe Wahrscheinlichkeit für den Buchstaben → Übergänge am Ende der Sequenz hat. "123", "1", "2024", "12" sind die wahrscheinlichsten Suffixe. Zeit : Sekunden bis ein paar Minuten

    9.4 Vorname und richtige Namen

    Beispiele : Thomas92, AnneM@rie, NICOLAS Schwachstelle mittel bis hoch Mechanik : Gemeinsame Namen (auf Englisch) sind im Referenzkorpus gut vertreten. Weniger häufige Namen in Englisch corpus (Französisch, Polnisch, etc.) profitieren weniger vom Modell. Zeit : Minuten bis Stunden je nach Beliebtheit des Vornamens

    9.5 Passwörter der scheinbaren zufälligen Struktur, aber mnemotechnic

    Beispiele : Tr0ub4dor&3 (Artikel XKCD), Il0v3myC@t! Schwachstelle mittel Mechanik Diese Passwörter haben eine menschliche Struktur (Basiswort + Substitution + Suffix), aber die Basis und spezifische Transformationen sind nicht in der Spitze der KandidatenMarkov. Das Modell wird sie schließlich erreichen, aber sie fallen in 10-30% des Raumes. Zeit : Stunden bis Tage nach Länge und Hash-Algorithmus

    9.6 Tastatur Muster

    Beispiele : qwerty, 1234567, azerty, qweasdzxc Schwachstelle : extrem (raus als natürliche Worte) Mechanik : Tastaturübergänge sind so im Korpus vertreten, dass das Modell sie zu den ersten Tausenden von Kandidaten zählt — manchmal die ersten Zehn. Zeit : Mikrosekunden bis Millisekunden

    9.7 wirklich zufällige Passwörter

    Beispiele : xQz7@mK9, 4#pL$2nR, kRf9!Ws3 Schwachstelle : niedrig bis null Mechanik : Die Zeichenübergänge in diesen Passwörtern haben sehr geringe Wahrscheinlichkeiten in einem auf menschliche Passwörter trainierten Modell, die in den letzten Prozentsätzen des erzeugten Raumes gefunden werden. Verhalten : der AngriffMarkovDer eigentliche "Kosten" der Sicherheit ist grobe Entropie. Zeit : vergleichbar mit oder größer als Bruttokraft

    9.8 Passphrasen

    Beispiele : Pferde-Batterie-Stapel-Korrekt, monchieneestlouisXIV Schwachstelle : Variable Komplexer Mechanismus :
  • Ein ModellMarkovkann Zwischenwortübergänge in einer kurzen Passphrase (2 Wörter) erfassen, wenn diese Kombinationen im Korpus gemeinsam sind
  • Aber für lange Passphrasen (4+ Wörter), der Raum der Kandidaten bestellt vonMarkovwird sie nur erreichen, nachdem alle typischen kurzen Passwörter erschöpft sind
  • Angriff Kombinieren in der Regel wirksamer alsMarkovauf Passphrasen

  • 10. Integration inTime2CrackModellierung und Parameter

    Allgemeine Berechnungslogik (v2)

    Time2Crackjetzt ModellMarkovin erwartete Rendite (rank-basiert) anstatt mit festen Reduktionsfaktoren.

    Berechnungslinie:

  • Unicode-Tokenisierung in Segmenten L/D/S,
  • Schätzung eines menschlichen Ranges über Skelett + Form + Zeichenreihen,
  • Modulation durch Struktursignale (kbPat, seq, dt, rep, hybridVuln),
  • kontinuierliche Interpolation zu einem "randomähnlichen" Regime nach charset Länge,
  • Zeitkonvertierung über budgetTime(rangestime, vitesseHash).
  • 10.2 Unicode Tokenization and Calibrated Profile by Language

    Das ModellMarkovv2 verwendet Unicode-Klassen (\p{L}, \p{N}, andernfalls Symbol) und ein kalibriertes Profil pro Sprache (belastet seit data/markov-calibration.json, mit internem Rückfall).

    Das Profil enthält:

  • skeletonRanks (L8D2, L8D2S1, ...),
  • shapeRanks (LD, LDS, ...),
  • tokenRanks nach Klasse/Länge,
  • Sprachmultiplikatoren (shapeMultipliers),
  • Signalmultiplikatoren (signalMultipliers)
  • 10.3. Kontinuierliche Interpolation (Ende steiler Schwellen)

    Das alte Modell verwendet Lager (0.003 / 0.006 / 0.25 / 0.9). Das v2 Modell ersetzt diese Logik durch kontinuierliche Interpolation zwischen:

  • humanRank (wahrscheinlicher struktureller Bereich),
  • randomRank (Fläche in der Nähe von rohem, gebunden).
  • Zufälliges Gewicht ist eine kontinuierliche Funktion der Länge, des Tanks und der Festigkeit menschlicher Signale, wodurch künstliche Diskontinuitäten vermieden werden.

    10.4 Confidence and applicability score

    Das Scoring-ModellTime2Crack(Funktion) annotateScenarioApplicability()) ZuweisungenMarkov:

    Grundvertrauen : 0,75 (Linie 4800) Interpretation: Der AngriffMarkovals mäßig zuverlässig — zuverlässiger als die neurale Schätzung (0.7) oder PRINCE (0.7), weniger als das Wörterbuch (0,9) oder die Nuttabellen (0,95). Bewertung der Anwendbarkeit (Zeile 4873-4874):
    case "markov":
      return context.looksHuman ? 0.76 : 0.34;
  • looksHuman = true → Punkt 0.76 : der AngriffMarkovist sehr anwendbar, das Modell wird menschliche Regelmäßigkeiten ausnutzen
  • looksHuman = false → Score 0.34: anwendbar, aber ohne großen Vorteil gegenüber Brute Kraft
  • Evidenzwert (Zeile 4829-4830):
    case "markov":
      return Number(!!context.looksHuman) + Number(!!context.kbPat)
           + Number(!!context.seq)        + Number(!!context.rep);
    Jedes Signal des "menschlichen Charakters" des Passworts erhöht die offensichtliche Score vonMarkov.

    10.5 Einstellen HF

    mitMarkovv2 sind die Struktursignale bereits in den geschätzten Rang integriert. Die HF-Einstellung ist daher neutral fürMarkovum Doppelzählung zu vermeiden.

    10.6 Priorität in der Krawatte

    Wenn mehrere Angriffe ähnliche Zeiten geben (< 1ms Differenz),Time2Crackwählt die relevanteste nach semanischer Priorität aus:

    const tieBreakPriority = {
      // ...
      markov: 8,    // Statistical n-gram — broad coverage
      // ...
    };

    Markovist ein nützlicher Komplement-Angriff, der statistische Regelmäßigkeiten ausnutzt. Es hat Vorrang vor der groben Kraft für Passwörter mit menschlicher Struktur, aber gibt Vorrang vor Wörterbuch und Hybrid-Angriffen, die direkter sind.

    10.7 Ultra-weak Gehäuse

    Für Ultra-Low-Passwörter (entdeckt von isWeakPassword()),MarkovZeit auf Basis eines Mindestplatzes (weakGuessTime) anstatt einer festen Konstante:

    if (weak) {
      rows.push({ ..., sec: weakGuessTime(a.rate), note: t("nWeakPassword"), cat: "markov" });
    }

    Begründung: ein ultra-niedriges Passwort (Passwort, 123456, qwerty...) ist im Top-100 absolut von Outer SpaceMarkov— es wird zunächst geprüft, die Genauigkeit der Berechnung ist irrelevant.


    11. Vergleich mit anderen probabilistischen Angriffen

    1.1.1MarkovvsPCFG

    AbmessungenMarkovPCFG ------------------- AnalyseeinheitIndividuelle CharakterübergängeSegmentstrukturen (L/D/S) Informationen erfasstLokale Regularitäten (n-gram)Global (Grammatik) MachtNatürliche Wörter, kontinuierliche MusterWörter + Zahlen, zusammengesetzte Strukturen Begrenzungerfasst keine globalen StrukturenLokale Übergänge nicht erfassen ErgänzungIdeal für reine WorteIdeal für Password123 Optimales Beispiel"Sunshine"Sonnenschein #93 BestellungTime2CrackMarkov= 8,PCFG= 6PCFGgenauer, wenn die Struktur erkannt wird

    11.2Markovvs Regelbasierter Angriff

    AbmessungenMarkovRegelmäßig ------------------------- AnsatzGeneration ab initio probabilisticTransformation eines vorhandenen Wörterbuchs DeckungAlle wahrscheinlichen PasswörterÜbersetzungen von Wörterbuchwörtern MachtSeltene oder leicht nichtdiktionäre WörterTraditionelle Transformationen bekannter Wörter BegrenzungWeniger wirksam als Diktator+Regeln für aktuelle MutationenKommt ganz von der Qualität des Wörterbuchs aus

    ANHANGMarkovvs Neural-Netzwerke (PassGAN, LSTM)

    AbmessungenMarkov(Ordner 5)Neuronales Netzwerk ----------------------------------- Komplexität(k ×) durch VorhersageO(n2 × d) (Transformer) Daten erforderlich1-10M Beispiele ausreichend10M-1B für gute Ergebnisse InterpretabilityInsgesamt (Versicherungstabellen)Schwarze Box AllgemeinesLimitiert auf den lokalen Kontext kGesamtpotenzial CrackrateSachgebiet+20-30% auf modernen Passwörtern Geschwindigkeit der ErzeugungSehr schnellLangsam

    11.4 Globale Positionierung

    In einem professionellen Cracking-Workflow ist die typische Reihenfolge:

  • Wörterbuch (credlist) — bekannte genaue Passwörter
  • Credential stuffing — wiederverwendete ID/mdp-Paare
  • Passwort spritzen — top-20 gemeinsam
  • Hybrid — dico + Hashcat-Regeln
  • PCFG — wenn L+D-Struktur erfasst wird
  • Mask — wenn das Positionsmuster erkannt wird
  • Markov — allgemeine statistische Erfassung
  • Neugeborene — wenn verfügbarer Haushaltsplan
  • Bruttowertschöpfung — letztes Resort
  • Markovoft Hintergrundlinie front brute force: es deckt effektiv menschliche Passwörter, die mehr gezielte Angriffe entkommen.


    12. AngriffsbeschränkungenMarkov

    12.1 Abhängigkeit vom Ausbildungskörper

    Das Modell ist genauso gut wie seine Korpus. Ein Korpus dominiert von englischen Passwörtern (RockYou, LinkedIn) missversteht Regelmäßigkeiten:

  • Passwörter in hohen morphologischen Dichtesprachen (Polnisch, Tschechisch, Finnisch)
  • Passwörter auf Basis nicht dargestellter Kulturen (transliterated mandarin, Romanized Arabic)
  • Passwörter aus spezialisierten Feldern abwesend von Lecks (medizinischer Slang, seltener technischer Jargon)
  • Teillösung : um bestimmte Modelle nach Sprache und Feld zu trainieren (Ansprache, die verschiedene Korpus erfordert).

    12.2 Lange interpositionale Unabhängigkeit

    Ein ModellMarkovBestellen 5 sieht nicht mehr als 5 Zeichen. Für ein Passwort von 12 Zeichen kann es das 12. Zeichen nicht mit dem 1. korrelieren. Eine Passphrase wie "stargate2004!" hat eine globale Struktur ("Wort + Jahr +!"), dieMarkovwird lokal wahrgenommen, aber nicht global —PCFGist hier besser.

    12.3 Unempfindlichkeit gegenüber kompositorischen Strukturen

    "HorseStapleBattery" (initial majusculum + 3 concatenated Wörter) ist schwierig fürMarkovweil die Zwischenwortübergänge (e→S, e→B) unerwartet sind.PCFGist besser geeignet.

    12.4 Zufälliges Passwort ineffektivität

    Ein Passwort, das von /dev/urandom mit 12+ alphanumerischen Zeichen hat keine Struktur ausgenutztMarkov. Die Zeit des AngriffsMarkovsich mit der brutalen Kraft auseinandersetzen.

    12.5 Sensitivität zur aktualisierten Passwortrichtlinie

    Hat eine Organisation strenge Regeln auferlegt (Länge ≥ 16, obligatorisches 1 Kapital + 1 Ziffer + 1 Symbol), können die resultierenden Passwörter eine andere Verteilung des Trainingskorpus haben — die Wirksamkeit des Modells zu reduzieren.


    13. Wirksame Verteidigung

    13.1 Was völlig neutralisiertMarkov

    Zufällige Passwort-Generatoren : jeder Passwort-Manager (Bitwarden, 1Password, KeePass) mit einem kryptographisch sicheren Generator erzeugt Sequenzen ohne Struktur ausnutzbar durchMarkov. Ein Passwort von 16 zufälligen Zeichen ist nicht zu erreichen, unabhängig vom Angriff. Genug Länge mit Zufall : auch mit einem reduzierten Tank (nur a-z), 16 zufällige Zeichen repräsentieren 26^16Markoveinen bereits zufälligen Raum nicht wesentlich reduziert.

    13.2 Dies reduziert die Wirksamkeit derMarkov

    Lange Passphrasen seltener Wörter : 4+ ungewöhnliche Wörter getrennt sind aus den Top-KandidatenMarkovbesonders wenn Wörter aus verschiedenen Sprachen oder spezialisierten Vokabeln kommen. Vermeiden Sie übliche Leetspeak-Ersatzstoffe : Die Substituionen a→@, e→3, etc. sind in das Modell integriert, aber nicht standardisierte Transformationen (a→ Vermeiden Sie Tastaturmuster und natürliche Wörter : die maximale SicherheitslückeMarkov.

    13.3 Was verteidigt nicht gegenMarkov

    Komplexitätsanforderungen (Majuskule + Ziffer + Symbol) : wenn diese Elemente einem natürlichen Wort (P@ssw0rd!) hinzugefügt werden, erfasst das Modell diese Muster. falsche Sicherheit wahrgenommen. Grundlegende Leetspeak-Ersetzungen : vollständig vom Modell erfasst (Übersetzungen "@"→"s", "3"→"y"...). Digitale Suffixes/Präfixe : "Wort + 123" oder "Wort + 2024" Muster gehören zu den ersten getestet.

    13.4 Schlussempfehlung

    Die wirksamste Verteidigung gegenMarkov(und jeder probabilistische Angriff)jede vorhersehbare menschliche Struktur beseitigen, die die Übertragung von Passwort-Erstellung auf einen sicheren Zufallsgenerator.


    14. Referenzen

    Akademiker (peer-reviewed)

    Dürmuth, M., Angelstorf, F., Horsch, J., Nürnberger, S., & Rüegge, A. (2015). OMEN: Schnelleres Passwort-Guessing mit einer BestellungMarkovEnumerator. Engineering Secure Software und Systeme (ESSoS 2015), LNCS 8978, S. 119-132. → Hauptreferenz für die probabilistische KalibrierungMarkovverwendet inTime2Crack(RockYou 14M, Order 5) Ma, J., Yang, W., Luo, M., & Li, N. (2014). Eine Studie über probabilistische Passwort-Modelle. IEEE Symposium über Sicherheit und Datenschutz (S&P 2014). → Empirischer VergleichMarkov,PCFG, n-Grammen auf 70M Passwörtern Weir, M., Aggarwal, S., de Medeiros, B., & Glodek, B. (2009). Passwort-Tracking unter Verwendung probabilistischer kontextfreier Grammatik. IEEE Symposium über Sicherheit und Datenschutz (S&P 2009). → Gründungsarbeiten an strukturellen probabilistischen Methoden (Wettbewerber vonMarkov) Wheeler, D.L. (2016). zxcvbn: Low-Budget-Passwortstärkeschätzung. 25. USENIX Security Symposium. → Bestätigt die Wirksamkeit von n-Grammen für realistische Kennwortkraftschätzung Pasquini, D., Cianfriglia, M., Ateniese, G., & Bernaschi, M. (2021). Reduzierung von Bias in der Modellierung von Real-World-Passwortstärke über Deep Learning und Dynamic Dictionaries. 30. USENIX Security Symposium. → Quantitativer VergleichMarkovvs tiefes Lernen auf moderne corpus Hitaj, B., Gasti, P., Ateniese, G., & Perez-Cruz, F. (2019). PassGAN: Ein Deep Learning Approach für Passwort-Guessing. ACNS 2019. → Neural NachfolgerMarkov, Vergleichspunkt fürTime2Crack descNeural

    Open Source Implementierungen

    OMEN https://github.com/RUB-SysSec/OMEN John TheRipper (Modus)Markov) http://www.openwall.com/john/doc/MARKOV.shtml PACK (statsgen/maskgen) https://github.com/iphelix/pack Hashcat http://hashcat.net/hashcat/

    Quellen von corpus

    RockYou (2009) : 14,3M Passwörter aus dem RockYou Social Network Fehler Habe ich gesungen https://haveibeenpwned.com — ~14 Mrd. aggregierte Anmeldeinformationen (Troy Hunt) Sekundarbereich : https://github.com/danielmiessler/SecLists — Referenzwörterbücher und Wortlisten

    Webquellen, die in der Anmeldung genannt werdenTime2Crack

    Springer (Kapitel)Markov/probabilistische Rißbildung). https://link.springer.com/chapter/10.1007/978-3-319-24174-67 → Verwandte Quelle in descMarkov (app.js) zur effektiven Verringerung des Forschungsraums durch statistische Priorisierung.
    ProjektdokumentTime2Crack— Letzte Aktualisierung : 2026-04-01 Basierend auf der Implementierung in app.js (Markovv2 rang-basiert) und akademische Publikationen zitiert