Markov-aanval (probabilistisch)
Projectreferentiedocument Time2Crack
Ontvangers: ontwikkelaars, security onderzoekers, geavanceerde gebruikers
Inhoud
1. Overzicht
Markov Attack is een wachtwoord kraken methode probabilistisch en statistisch die kandidaten genereert door te vertrouwen op de waargenomen frequenties van overgang tussen tekens in echte menselijke wachtwoorden. In plaats van het testen van alle mogelijke combinaties in alfabetische volgorde en zoals de ruwe kracht doet . . het sorteert kandidaten van de meest waarschijnlijke tenminste, concentreren van de berekening inspanning waar menselijke wachtwoorden daadwerkelijk zijn gevestigd.
In eenvoudige termen : een aanvaller die genoeg GPU en een goed getrainde Markov model zal testen "letmein," "p@ssword" en "sun2024" voordat het testen van "aaaaaaaaaaaaab" of "xqzfkw" omdat mensen maken wachtwoorden die eruit zien als woorden, niet wit lawaai. Gemeten efficiëntie : Dürmuth et al. (2015) onderzoek aan de RockYou corpus (14 miljoen wachtwoorden) toont aan dat een Markov 5 model de werkelijke zoekruimte vermindert tot 0,6% van de brutoruimte voor wachtwoorden met een typische menselijke structuur een 99,4 % reductie.2. Historische en academische achtergrond
2.1 Oorsprong
De toepassing van Markov's kanalen op wachtwoord kraken is eerder dan formele academische publicaties. Offensive security beoefenaars gebruikt soortgelijke modellen sinds de jaren 2000, maar strenge formalisering dateert voornamelijk uit de 2010s.
Chronologie van mijlpalen : JaarGebeurtenis --------------------- 2005Nakashima & Oyama: eerste formele toepassing van n-grams op wachtwoorden 2009Weir et al. (IEEE S&P): directe concurrent, posities structurele kansen 2012Ma et al. (USENIX Security): Vergelijkende studie van probabilistische modellen op 70M wachtwoorden 2013Durmuth: eerste VROUWENanalyses op verschillende corpus 2015Dürmuth, Angelstorf, Horsch, Nürnberger, Rüegge: VROUWEN (ESORICS 2015) 2016Wheeler (zxcvbn) bevestigt de effectiviteit van n-grams bij het schatten van werkelijke entropie 2018VROUWEN+: verbeterde versie met gladmaken en interpoleren 2019Markov hybride werk + neurale netwerken (PassGAN, FuzzyPSM)2.2 Referentieorgaan
Modeltraining Markov is gebaseerd op wachtwoorddatabases van bekende datalekken:
- RockYou (2009) : 14,3 miljoen gewone wachtwoorden, universele referentie corpus
Deze corpus onthullen de feitelijke statistische verdeling van menselijke wachtwoorden, die radicaal verschilt van een uniforme verdeling.
3. Wiskundige stichtingen: de kettingen van Markov
3.1 Formele definitie
Markov-volgordeketen k op een alfabet k Vorige tekens:
P(cₙ | c₁c₂...cₙ₋₁) = P(cₙ | cₙ₋ₖ...cₙ₋₁)
Voor wachtwoorden omvat het meestal 95 afdrukbare ASCII-tekens (26 kleine letters + 26 hoofdletters + 10 cijfers + 33 symbolen).
Volgorde 1 (bigram) :P("password") = P("p") × P("a"|"p") × P("s"|"a") × P("s"|"s") × ...
Besluit nr. 5 (optimal volgens 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 vangt contexten zoals "na "passw," de meest waarschijnlijke follow-up is "o" informatie ontoegankelijk voor een ordermodel 1.
3.2 De overgangsmatrix
Voor een orde van 1 op 95 karakters is de overgangsmatrix grootte 95 × 95 = 9,025 inputs. Voor Orde 5 gaat het naar 955 × 95 = ~7,7 × 1010 theoretische inputs Implementaties gebruiken holle datastructuren (tries, hash maps) om alleen waargenomen n-grams op te slaan.
3.3 Log waarschijnlijkheid en sorteren
Om drijvende overschrijdingen op 8+-karakter wachtwoorden (waarschijnlijkheden van de orde van 10−20) te voorkomen, werken de gereedschappen in log waarschijnlijkheden :
log P("password") = log P("p") + log P("a"|"p") + log P("s"|"a") + ...
Deze waarde is de score Markov Kandidaten worden gegenereerd in afnemende volgorde van score, d.w.z. de meest waarschijnlijke ten minste waarschijnlijk.
3.4 Waarom Bestel 5?
Uit empirisch onderzoek (Dürmuth 2015, bevestigd door Ma et al. 2012) blijkt dat:
4. Architectuur van een Markov cracktool
4.1 Belangrijkste onderdelen
┌─────────────────────────────────────────────────────────────┐
│ 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 Integratie met Hashcat
De meest voorkomende uitvoering in de praktijk is via de Hashcat-stdinmodus (-a 0 met een externe generator) of via Python-modules als statsgen (van de PACK toolkit):
# Exemple d'attaque Markov pratique
python statsgen.py rockyou.txt --output markovmodel.stats
python maskergen.py markovmodel.stats | hashcat -a 0 -m 1000 targethashes.txt
Specifieke hulpmiddelen zoals VROUWEN (Open Markov Estimator van Next wachtwoorden) direct genereren lijsten van gesorteerde kandidaten.
5. Fase 1
5.1. Extractie van n-grams
Voor elk wachtwoord in het corpus worden alle n-grams uitgepakt (met een startmarkering). ^ en eindigen $) :
Voorbeeld met "hallo" (orde 2):
^h, he, el, ll, lo, o$
Voorbeeld met "P@ss1!" (orde 2:
^P, P@, @s, ss, s1, 1!, !$
5.2 Telling en normalisatie
Voor elke context (n-1 vorige tekens) worden de gebeurtenissen van elk volgende teken geteld en genormaliseerd:
Contexte "pa" → {s: 847, r: 12, t: 8, l: 3, ...}
→ P(s|pa) = 847/870 = 0.973
→ P(r|pa) = 12/870 = 0.014
Deze verdelingen onthullen menselijke taalgewoonten: na "pa" schrijven mensen massaal "s" (wachtwoord, pass, pablo...).
Gladmaken
Het probleem van ongeobserveerde n-grams: als "xq" nooit verschijnt in het corpus, P(c)xq) = 0 voor elke c
Smoothing maakt het model ook mogelijk om kandidaten uit de training te genereren .. cruciaal om iets nieuwe wachtwoorden te dekken.
5.4 Wat het model leert
Na training op RockYou, een Markov 5-orde model internaliseert patronen als:
6. Fase 2
6.1 Het probleem van de opsomming van scores
Het genereren van kandidaten in dalende volgorde van waarschijnlijkheid Markov is een niet-triviaal probleem. We kunnen niet gewoon de waarschijnlijkheid van alle mogelijke kandidaten (948 x 6 × 1015 voor 8 tanks) berekenen en ze vervolgens uitzoeken.
De oplossing: Heuristische zoektocht met prioriteit staart Het algoritme lijkt op Dijkstra:
^a, ^p, ^1...)Deze aanpak zorgt voor een ongeveer afnemende sortering zonder de hele ruimte te onthouden.
6.2. Drempeldrempel
Om te voorkomen dat miljarden onwaarschijnlijke kandidaten, een Minimumscore waaronder een gedeeltelijke kandidaat wordt uitgeschakeld (sladen).
Si log P(candidatpartiel) < THRESHOLD → abandon de cette branche
Drempelwaarde is een kritische parameter: te hoog → je mist wachtwoorden aan de limiet; te laag → je genereert te veel kandidaten en vertraagt de aanval.
6.3 Duurbeheer
Markov modellen zijn opgeleid en werken over het algemeen door vaste lengteEen typische aanval:
Lengteverdeling in RockYou: 8 tanks = 24%, 7 tanks = 21%, 9 tanks = 12%, 6 tanks = 10%...
7. Het verminderen van onderzoeksruimte: de sleutel tot effectiviteit
7.1 Empirische kwantificering (Dürmuth 2015)
Voor een wachtwoord van 8 tekens met het volledige alfabet (94 tanks):
MethodeOnderzoeksruimteVerminderingsfactor ----------------------------------------------------- Brutosterkte948 6 × 10151× (referentie) Markov Order 1~3 × 1015~2× Markov Order 3~6 × 1013~100× Markov Order 5~3,6 × 1010~166 000× Markov Order 5 (typisch menselijk)~4 × 107~150 miljoen×Het verschil tussen "gereduceerde ruimte" en "typische menselijke ruimte" kan worden verklaard door het feit dat echte menselijke wachtwoorden geconcentreerd zijn in top-k% waarschijnlijk Afhankelijk van het model.
7.2 Waarom mensen voorspelbaar zijn
De door Markov gebruikte voorspelbaarheidsfactoren:
Taalbeperkingen wachtwoorden zijn afgeleid van bestaande woorden. "letmein," "sunshine," "iloveyou" volgen fonotische regels van het Engels de overgangen van letters zijn zeer waarschijnlijk. Cognitieve beperkingen Mensen herinneren zich niet echt willekeurige sequenties. Een willekeurig wachtwoord zoals "xqzfw9@" wordt zelden spontaan gekozen. Culturele patronen Deze patronen creëren clusters met hoge dichtheid in de wachtwoordruimte. Voorspelbare substituties Deze veranderingen komen zo vaak voor dat ze deel uitmaken van het model. Positie van nummers en symbolen : de nummers aan het einde van het wachtwoord (passwd123) zijn 10× vaker dan de nummers aan het begin. Achtervoegsel symbolen (passwd!) zijn 5× vaker dan in de centrale positie.7.3 Het geval van toetsenbordpatronen
Toetsenbordsequenties (qwerty, asdf, zxcv, 1234, azerty...) zijn bijzonder kwetsbaar.
In Time2Crack (huidige versie) is dit onderscheid niet langer een vaste lager. kbPat als signaal in een rangschatting (markovExpectedGuesses) vervolgens voortdurend interpoleren tussen "mens-achtige" en "random-achtige" regimes.
8. Opmerkelijke variaties en implementaties
8.1 VROUWEN (Open Markov Estimator van Volgende wachtwoorden)
Ontwikkeling : Dürmuth, Angelstorf, Horsch, Nürnberger, Rüegge (ESORICS 2015) Beschikbaarheid : Open bron (GitHub) Belangrijkste innovatie : geoptimaliseerde planning volgens niveauscore (samengevat door waarschijnlijkheidsstappen)VROUWEN maken gebruik van een discretie van waarschijnlijkheden in hele niveaus om de generatie te versnellen:
Deze aanpak lost het probleem van een ordelijke opsomming zonder dure prioritaire staart elegant op.
8.2 VROUWEN+
Uitbreiding van vrouwen met:
Gerapporteerde prestaties: +15 tot +20% gebarsten wachtwoorden vs originele VROUWEN met gelijk budget.
8.3 Statsgen / PACK (Wachtwoordanalyse en kraken Kit)
Ontwikkeling : Peter Kacherginsky (ifelix) Aanpak : lichter dan VROUWEN, genereert Hashcat compatibele maskers en statistieken Typisch gebruik : analyse van een reeks gebarsten wachtwoorden om toekomstige aanvallen aan te passen8,4 JohnTheRipper Markov-modus
John TheRipper integreert een native Markov-modus (ontwikkeld door Samuel Giovanni Tonon):
john --markov --min-length=6 --max-length=8 hashes.txt
Parameter --markov-threshold (0-400): regelt de afkapdrempel. 150 = aanbevolen standaardparameter.
JtR Markov-modus maakt gebruik van vooraf berekende statistieken opgeslagen in bestanden .mkv (markov statistieken bestanden) gegenereerd door calcstat.
8.5 Markov hybride modellen
Markov + regels : genereren Markov kandidaten, vervolgens toepassen Hashcat transformatie regels Markov + woordenboek : gebruik Markov wachtwoorden als basis voor hybride aanvallen Markov + PCFG : combineer de probabilistische orde Markov met de structurele stress PCFGDeze hybridisaties worden gebruikt in professionele kraakconfiguraties om CPU/GPU budget dekking te maximaliseren.
8.6 Moderne taalmodellen (LLM/L URL)
LSTM en Transformer netwerken kunnen worden gezien als generalisaties van Markov kanalen:
PassGAN (2017), FLA (2019), PassBERT (2022) overtrof de klassieke Markov modellen met 20-30% in cracksnelheden op het moderne corpus.
9. Gedrag tegen verschillende soorten wachtwoorden
9.1 Wachtwoorden uit natuurlijke woorden
Voorbeelden : Sunshine, let mein, dragon, ilove you Kwetsbaarheid : extreem Mechanisme : het model kent een zeer hoge waarschijnlijkheid toe aan de sequenties van het huidige Engels. boven 0,001 % gegenereerde kandidaten. Tijd : milliseconden op MD5/SHA-19.2 Woorden met leetspeak substituties
Voorbeelden : p@ssw0rd, L3tm3In, $unsh1ne Kwetsbaarheid : hoog Mechanisme Het model heeft geleerd dat "@" vaak volgt "p" (omdat "p@ss..." zeer gebruikelijk is in het corpus), dat "0" vaak volgt "w" (w0rd...), enz. De meest voorkomende substituties zijn geïntegreerd in de kans op overgang. Tijd : seconden tot minuten9.3 Woorden met digitaal achtervoegsel
Voorbeelden Wachtwoord123, zonneschijn2024, draak1! Kwetsbaarheid : hoog Mechanisme De numerieke achtervoegsels komen zo vaak voor dat het model een hoge kans heeft op de letter→ overgangen aan het einde van de reeks. "123," "1," "2024," "12" zijn de meest waarschijnlijke achtervoegsels. Tijd : seconden tot enkele minuten9.4 Voornamen en juiste namen
Voorbeelden Thomas92, AnneM@rie, NICOLAS Kwetsbaarheid matig tot hoog Mechanisme : Gewone namen (in het Engels) zijn goed vertegenwoordigd in het referentie corpus. Minder gangbare namen in het Engels corpus (Frans, Pools, enz.) profiteren minder van het model. Tijd : minuten tot uren afhankelijk van de populariteit van de voornaam9.5 Pass woorden van schijnbare willekeurige structuur maar mnemotechnische
Voorbeelden : Tr0ub4dor&3 (van artikel XKCD), Il0v3myC@t! Kwetsbaarheid matig Mechanisme Deze wachtwoorden hebben een menselijke structuur (baseword + substituions + achtervoegsel), maar de basis en de specifieke transformaties zijn niet in de top-k van Markov kandidaten. Het model zal ze uiteindelijk bereiken, maar ze vallen in de 10-30% van de ruimte. Tijd : uren tot dagen volgens lengte en hash algoritme9.6 Toetsenbordpatronen
Voorbeelden : qwerty, 1234567, azerty, qweasdzxc Kwetsbaarheid : extreem (erger dan natuurlijke woorden) Mechanisme : De toetsenbordovergangen zijn zo vertegenwoordigd in het corpus dat het model hen tot de eerste duizenden kandidaten rangschikt. Tijd : microseconden tot milliseconden9.7 Echt willekeurige wachtwoorden
Voorbeelden : xQz7@mK9, 4#pL$2nR, kRf9!Ws3 Kwetsbaarheid : laag tot nul Mechanisme : De karaktertransities in deze wachtwoorden hebben zeer lage waarschijnlijkheden in een model getraind op menselijke wachtwoorden. Ze worden gevonden in de laatste percentages van de gegenereerde ruimte. Gedrag De echte "kosten" van de veiligheid is entropie. Tijd : vergelijkbaar met of groter dan brutokracht9,8 Wachtwoordzinnen
Voorbeelden : paardenbattery-staple-correct, monchieneestlouisXIV Kwetsbaarheid : variabele Complex mechanisme :10. Integratie in Time2Crack: Modellering en Parameters
Algemene berekeningslogica (v2)
Time2Crack nu modellen Markov in verwachte rang (rank-based) in plaats van met vaste reductiefactoren.
Berekeningslijn:
L'D'S,kbPat, seq, dt, rep, hybridVuln),charset en lengte,budgetTime(rangestime, vitessehash).10.2 Unicode Tokenization en gekalibreerd profiel per taal
Het Markov v2 model maakt gebruik van Unicode klassen (\p{L}, \p{N}, anderszins symbool) en een gekalibreerd profiel per taal (geladen sinds data/markov-calibration.json, met interne terugval).
Het profiel bevat:
skeletonRanks (L8D2, L8D2S1, ...),shapeRanks (LD, LDS, ...),tokenRanks naar klasse/lengte,shapeMultipliers),signalMultipliers).10.3. Continue interpolatie (eind van steile drempels)
Het oude model gebruikte lagers (0,03 / 0,006 / 0,25 / 0,9). Het v2 model vervangt deze logica door continue interpolatie tussen:
humanRank (waarschijnlijke structurele oppervlakte),randomRank (oppervlakte dicht bij ruw, begrensd).Willekeurig gewicht is een continue functie van de lengte, tank en sterkte van menselijke signalen, waardoor kunstmatige onderbrekingen worden vermeden.
10.4 Vertrouwen en toepasbaarheid score
Time2Crack Scoring Model (functie annotateScenarioApplicability()) wordt toegewezen aan Markov:
case "markov":
return context.looksHuman ? 0.76 : 0.34;
looksHuman = true → score 0,76: Markov aanval is zeer van toepassing, het model zal de menselijke regelmaat benuttenlooksHuman = false → score 0,34: van toepassing maar zonder groot voordeel boven brute krachtcase "markov":
return Number(!!context.looksHuman) + Number(!!context.kbPat)
+ Number(!!context.seq) + Number(!!context.rep);
Elk signaal van "menselijk karakter" van het wachtwoord verhoogt Markov's duidelijke score.
10,5 HF aanpassing
Bij Markov v2 zijn de structurele signalen al geïntegreerd in de geschatte rang. De HF-aanpassing is daarom neutraal voor Markov om dubbeltelling te voorkomen.
10.6 Prioriteit in de tiebreak
Wanneer meerdere aanvallen vergelijkbare tijden (< 1ms van verschil) geven, Time2Crack kiest de meest relevante volgens een semantische prioriteit:
const tieBreakPriority = {
// ...
markov: 8, // Statistical n-gram — broad coverage
// ...
};
Markov is een nuttige aanvulling aanval die gebruik maakt van statistische regulariteiten. Het heeft voorrang op bruto kracht voor wachtwoorden met menselijke structuur, maar geeft voorrang aan woordenboek en hybride aanvallen die meer direct zijn.
10.7 Ultra zwakke zaak
Voor ultra-lage wachtwoorden (gedetecteerd door isWeakPassword()), gebruikt Markov een tijd gebaseerd op een minimum rang (weakGuessTime) in plaats van een vaste constante:
if (weak) {
rows.push({ ..., sec: weakGuessTime(a.rate), note: t("nWeakPassword"), cat: "markov" });
}
Reden: een ultra-laag wachtwoord (wachtwoord, 123456, qwerty...) is in de top-100 absoluut Markov ruimte
11. Vergelijking met andere probabilistische aanvallen
11,1 Markov vs PCFG
AfmetingenMarkovPCFG ---------------------------- MeeteenheidOvergangen van individuele tekensSegmentstructuren (L/D/S) Opgenomen informatieLokale regelmaat (n-gram)Wereldwijd (grammatica) AandringenNatuurlijke woorden, continue patronenWoorden + getallen, samengestelde structuren MaximumhoeveelheidBevat geen mondiale structurenLokale overgangen niet vastleggen ComplementariteitIdeaal voor pure woordenIdeaal voor Wachtwoord123 Optimaal voorbeeld"zonneschijn"Sunshine#93 Orde in Time2CrackMarkov = 8, PCFG = 6PCFG nauwkeuriger indien structuur gedetecteerd11.2 Markov vs. Regelgebonden aanval
AfmetingenMarkovRegelmatig ----------------------›› AanpakGeneratie ab initio probabilsticTransformatie van een bestaand woordenboek DekkingAlle waarschijnlijk wachtwoordenVertalingen van woordenboek woorden AandringenZeldzame of enigszins niet-woordelijke woordenTraditionele transformaties van bekende woorden MaximumhoeveelheidMinder effectief dan dictator+regels voor huidige mutatiesAfhankelijk van de kwaliteit van het woordenboek11.3 Markov vs Neural Networks (PassGAN, LSTM)
AfmetingenMarkov (orde 5)Neuronale netwerk ------------------------------------------------ ComplexiteitO(k ×) door voorspellingO(n2 × d) (Transformer) Vereiste gegevens1-10M voorbeelden voldoende10M-1B voor goede resultaten VertolkingTotaal (waarschijnlijkheidstabellen)Zwarte doos GeneraliseringBeperkt tot lokale context kAlgemeen potentieel KraaksnelheidRubrieknummer+20-30% op moderne wachtwoorden GeneratiesnelheidZeer snelLangzamer11.4 Algemene positionering
In een professionele kraken workflow is de typische volgorde:
Markov is vaak de achtergrondregel front brute kracht: het dekt effectief menselijke wachtwoorden die ontsnapt zijn aan meer gerichte aanvallen.
12. Grenzen van de Markov aanval
12.1 Afhankelijkheid van de opleiding
Het model is zo goed als zijn corpus. Een corpus gedomineerd door Engelse wachtwoorden (RockYou, LinkedIn) begrijpt de regelmaat verkeerd:
12.2 Langeafstandsonafhankelijkheid
Een Markov 5 model ziet niet meer dan 5 tekens. Voor een wachtwoord van 12 tekens, kan het niet correleren het 12e karakter met de 1e. Een wachtwoordzin zoals "stargate2004!" heeft een globale structuur ("woord + jaar +!") die Markov ziet lokaal, maar niet wereldwijd is PCFG beter hier.
12.3 Ongevoeligheid voor samenstellingsstructuren
"HorseStapleBatttery" (eerste majusculum + 3 samengevoegde woorden) is moeilijk voor Markov omdat inter-woord overgangen (e→S, e→B) zijn onverwacht. De combinator aanval of PCFG is beter geschikt.
12.4 Willekeurig wachtwoord ineffectiviteit
Een wachtwoord gegenereerd door /dev/urandom met 12+ alfanumerieke tekens heeft geen structuur die Markov kan exploiteren. De aanvalstijd Markov convergeert naar de ruwe kracht.
12.5 Gevoeligheid voor bijgewerkt wachtwoordbeleid
Als een organisatie strenge regels heeft opgelegd (lengte ≥ 16, verplicht 1 kapitaal + 1 cijfer + 1 symbool), kunnen de resulterende wachtwoorden een andere verdeling van de opleiding hebben . .
13. Doeltreffende verdediging
13.1 Wat Markov volledig neutraliseert
Willekeurige wachtwoordgeneratoren : elke wachtwoord manager (Bitwarden, 1Password, KeePass) met een cryptografische veilige generator produceert sequenties zonder structuur exploiteerbaar door Markov. Een wachtwoord van 16 willekeurige tekens is buiten bereik, ongeacht de aanval. Genoeg lengte met willekeurige : zelfs met een gereduceerde tank (alleen a-z), 16 willekeurige tekens vertegenwoordigen 26^1613.2 Wat de effectiviteit van Markov sterk vermindert
Lange wachtwoordzinnen van zeldzame woorden : 4+ ongewone woorden gescheiden zijn uit de top Markov kandidaten, vooral als woorden komen uit verschillende talen of gespecialiseerde woordenlijsten. Vermijd gemeenschappelijke leetpiekvervangers : Substituons a→@, e→3, enz. zijn geïntegreerd in het model, maar niet-standaard transformaties (a→ Vermijd toetsenbordpatronen en natuurlijke woorden : Markovs maximale kwetsbaarheid.13.3 Wat niet verdedigt tegen Markov
Complexiteitseisen (majuscule + cijfer + symbool) : als deze elementen worden toegevoegd aan een natuurlijk woord (P@ssw0rd!), legt het model deze patronen vast. valse zekerheid gezien. Basic leetspeak substituties : volledig vastgelegd door het model (overgangen "@"→"s," "3"→"y"...). Digitale achtervoegsels/prefixes : "word + 123" of "word + 2024" patronen behoren tot de eerste getest.13.4 Slotaanbeveling
De meest effectieve verdediging tegen Markov (en elke probabilistische aanval) is omelke te verwachten menselijke structuur elimineren, wat neerkomt op het delegeren van wachtwoorden aan een veilige willekeurige generator.
14.
Academici (peer-reviewed)
Dürmuth, M., Angelstorf, F., Horsch, J., Nürnberger, S., & Rüegge, A. (2015). VROUWEN: Sneller wachtwoord raden met behulp van een bestelde Markov teller. Engineering Secure Software and Systems (ESSOS 2015), LNCS 8978, blz. 119. → Hoofdreferentie voor Markov probabilistische kalibratie gebruikt in Time2Crack (RockYou 14M, Order 5) Ma, J., Yang, W., Luo, M., & Li, N. (2014). Een studie van Probabilistische Password Modellen. IEEE Symposium over beveiliging en privacy (S&P 2014). → Empirische vergelijking Markov, PCFG, n-grams op 70M wachtwoorden Weir, M., Aggarwal, S., de Medeiros, B., & Glodek, B. (2009). Wachtwoord volgen Met behulp van Probabistic Context-Free Grammatica. IEEE Symposium over beveiliging en privacy (S&P 2009). → Oprichting van structurele probabilistische methoden (Markov concurrent) Wheeler (2016). zxcvbn: Low-Budget Wachtwoord Sterkteschatting. 25e USENIX Security Symposium. → Bevestigt de effectiviteit van n-grams voor realistische wachtwoordkrachtschatting Pasquini, D., Cianfriglia, M., Ateniese, G., & Bernaschi, M. (2021). Het verminderen van Bias in Modeling Real-World Password Strength via Deep Learning en Dynamic Dictionarys. 30e USENIX Security Symposium. → Kwantitatieve vergelijking Markov vs diep leren op modern corpus Hitaj, B., Gasti, P., Ateniese, G., & Perez-Cruz, F. (2019). PassGAN: Een diepe leren aanpak voor wachtwoord raden. ACNS 2019. → Markov Neural Successor, vergelijkingspunt voor Time2CrackdescNeural
Open source implementaties
VROUWEN https://github.com/RUB-SysSec/VROUWEN John TheRipper (Markov-modus) https://www.openwall.com/john/doc/MARKOV.shtml VERPAKKING (statsgen/maskgen) https://github.com/iphelix/pack Hashcat https://hashcat.net/hashcat/Bronnen van corpus
RockYou (2009) : 14,3M wachtwoorden van de RockYou sociale netwerk fout Ben ik verliefd geweest? https://haveibeenpwned.com Seclists : https://github.com/danielmeissler/SecListsWebbronnen geciteerd in de Time2Crack-toepassing
Springer (hoofdstuk Markov/probabilistisch kraken). https://link.springer.com/hoofdstuk/10.1007/978-3-319-24174-67 → Verwante bron indescMarkov (app.js) voor een effectieve vermindering van de onderzoeksruimte door statistische prioritering.
Document gegenereerd voor Time2Crack project Laatste update: 2026-04-01 Gebaseerd op implementatie in app.js (Markov v2 rang-based) en academische publicaties geciteerd