Atak PCFG - Kompleksowa operacja

Dokument referencyjny projektu Time2Crack
Odbiorcy: deweloperzy, badacze bezpieczeństwa, zaawansowani użytkownicy

Spis treści

  • Przegląd
  • Tło historyczne i akademickie
  • Fundacje: gramatyka strukturalna haseł
  • Uczenie się modelu PCFG
  • Porządnie generowanie kandydatów
  • Dlaczego PCFG łamie sekrety z wysoką pozorną entropią
  • Wdrożenie w Time2Crack: addPCFGAttacks()
  • Funkcja pcfgKeyspace() i założenia
  • Zarządzanie cyfrowe: miękkie wieczko (zastąpienie twardego)
  • Wysoka kalibracja wierności
  • Wskaźniki i rzędy wielkości
  • Konkretne przykłady
  • Limity ataku PCFG
  • Skuteczna obrona
  • Odniesienia

  • 1. 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:

    Model uczy się, że niektóre wzorce (L8D2, L6D4) są częste, inne rzadkie.

    4. Nauka modelu PCFG

  • Segment haseł do klas.
  • Szacować prawdopodobieństwo szkieletów.
  • Należy oszacować prawdopodobieństwo występowania żetonów w każdym szczelinie.
  • 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:

  • komponent literowy (wordGuesses),
  • Składnik liczb (10^digitLen),
  • element symbolu (32^symbolCount),
  • współczynnik zmienności strukturalnej.
  • 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ę:

  • liniowe pod punktem łokcia (knee),
  • ściskanie progresywne powyżej,
  • asymptota do maksimum numerycznego (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 = 1e14
  • PCFGMAXGUESSES = 1e18
  • Efekt: 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

  • uzależnienie od korpusu treningowego,
  • niska wydajność na prawdziwym losowym,
  • złożoność wielodomenowej kalibracji językowej,
  • v1 modelu pozostaje przybliżeniem PCFG (nie gramatyką opartą na trybie online).
  • 14. Skuteczna obrona

  • Unikać zwykłych struktur (Word+Digits+Symbol).
  • Użyj losowo wygenerowanych sekretów.
  • Solid KDF + MFA.
  • 15. Odniesienia bibliograficzne

  • Weir et al. (2009). IEEE S & P.
  • Ma et al. (2014). IEEE S & P.
  • Wheeler, D. (2016). USENIX Security.