Atak PCFG - Kompleksowa operacja
Dokument referencyjny projektu Time2Crack
Odbiorcy: deweloperzy, badacze bezpieczeństwa, zaawansowani użytkownicy
Spis treści
addPCFGAttacks()pcfgKeyspace() i założenia1. Przegląd
PCFG (Probabilistic Context- Free Grammar) modeluje strukturę hasła w segmentach wpisanych (litery, numery, symbole) i generuje najbardziej prawdopodobnych kandydatów w priorytecie.
2. Tło historyczne i akademickie
Praca Weir et al. (2009) ustanowiła PCFG jako główną metodę probabilistycznego krakingu, często ważniejszą od czysto słownikowego podejścia z równym budżetem na ludzkie ciało.
3. Podstawy: strukturalna gramatyka haseł
Przykład:
Password123!- >L8 D3 S1
Model uczy się, że niektóre wzorce (L8D2, L6D4) są częste, inne rzadkie.
4. Nauka modelu PCFG
5. Uporządkowane pokolenie kandydatów
PCFG w pierwszej kolejności produkuje bajki o wysokim prawdopodobieństwie.
6. Dlaczego PCFG łamie tajemnice z wysoką pozorną entropią
Łańcuch może wydawać się silny w surowej entropii, a jednocześnie być bardzo przewidywalny strukturalnie (słowo + cyfry + symbol).
7. Wdrożenie w Time2Crack: addPCFGAttacks()
Time2Crack oblicza budżet poprzez pcfgKeyspace(pw) następnie konwertuje do czasu z budgetTime(...).
Kategoria: cat: "pcfg", uwaga: nPCFGDetected.
8. Funkcja pcfgKeyspace() i założenia
Model wewnętrzny przybliża wymiary leksyczne, numeryczne i symboliczne, a następnie ogranicza przestrzeń klawiszową, aby pozostać realistyczną w interaktywnym użyciu.
Główne elementy:
wordGuesses),10^digitLen),32^symbolCount),Budżet PCFG jest następnie przeliczany na czas poprzez budgetTime(pcfgGuesses, rate).
9. Zarządzanie cyfrowe: miękka nasadka (wymiana twardej nasadki)
Time2Crack teraz używa miękkie wieczko w celu uniknięcia sztucznych tac spowodowanych pojedynczym twardym nagłówkiem.
9.1 Wcześniejsze podejście (kopia papierowa)
Jeden Math.min(..., cap) kruszy wszystkie wartości powyżej nagłówka w tej samej stałej. Usuwa to hierarchię pomiędzy "trudnymi" i "bardzo trudnymi" przypadkami.
9.2 Nowe podejście (kurs miękki)
Model stosuje ciągłą kompresję:
knee),max).Wzór stosowany:
soft = knee + (max - knee) * (1 - exp(-(raw - knee)/(max - knee))) zamiast raw > knee.
W przeciwnym razie soft = raw.
9.3 Obecne parametry (app.js)
PCFGSOFTCAPKNEE = 1e14PCFGMAXGUESSES = 1e18Efekt: Stabilność cyfrowa zachowana bez nagłego uszkodzenia lub całkowitej utraty zróżnicowania.
10. Wysoka kalibracja wierności
Z PCFG v2 sygnały strukturalne są już zintegrowane z oszacowaniem rankingu (pcfgKeyspaceDostosowanie HF jest zatem neutralne, aby uniknąć podwójnego liczenia.
11. Wskaźniki i rzędy wielkości
Na haszu szybko, obecne struktury spadają bardzo szybko.
W przypadku powolnego KDF zamówienie PCFG pozostaje korzystne, ale koszt na próbę pozostaje decydujący.
12. Przykłady praktyczne
Password123 : idealny cel PCFG.xQ7$vP2!mL9@ : niska kompatybilność PCFG.13. Limity ataku PCFG
14. Skuteczna obrona
Word+Digits+Symbol).