Ataque PCFG — Operação abrangente
Documento de referência do projeto Time2Crack
Destinatários: desenvolvedores, pesquisadores de segurança, usuários avançados
Índice
addPCFGAttacks()pcfgKeyspace() e suposiçõesResumo
PCFG (Probabilistic Context-Free Grammar) modela a estrutura de senhas em segmentos digitados (cartas, números, símbolos), e gera os candidatos mais prováveis em prioridade.
2. Antecedentes históricos e acadêmicos
O trabalho de Weir et al. (2009) estabeleceu o PCFG como um grande método probabilístico de craqueamento, muitas vezes superior a abordagens puramente dicionários com orçamento igual no corpus humano.
3. Fundações: gramática estrutural das senhas
Exemplo:
Password123!->L8 D3 S1
O modelo aprende que alguns padrões (L8D2, L6D4) são comuns, outros raros.
4. Aprender o modelo PCFG
5. Geração ordenada de candidatos
O PCFG produz primeiramente bypass de alta probabilidade. Esta priorização é a principal fonte de sua eficácia.
6. Por que PCFG quebra segredos com alta entropia aparente
Uma cadeia pode parecer forte na entropia crua enquanto é muito previsível estruturalmente (palavra + dígitos + símbolo). PCFG explora esta previsibilidade.
7. Implementação no Time2Crack: addPCFGAttacks()
Time2Crack calcula um orçamento via pcfgKeyspace(pw) então converte para o tempo com budgetTime(...).
Categoria: cat: "pcfg", nota: nPCFGDetected.
8. Função pcfgKeyspace() e suposições
O modelo interno aproxima as dimensões lexical, numérica e simbólica, e então limita o espaço chave para permanecer realista no uso interativo.
Principais componentes:
wordGuesses),10^digitLen),32^symbolCount),O orçamento PCFG é convertido em tempo através budgetTime(pcfgGuesses, rate).
9. Gestão digital: tampa macia (substituição da tampa dura)
Time2Crack agora usa um tampa macia Para evitar bandejas artificiais causadas por uma única posição dura.
9.1 Abordagem anterior (cópia impressa)
Uma Math.min(..., cap) esmaga todos os valores acima do cabeçalho na mesma constante. Isto remove a hierarquia entre casos "difíceis" e "muito difíceis".
9.2 Nova abordagem (curso suave)
O modelo aplica compressão contínua:
knee),max).Fórmula utilizada:
soft = knee + (max - knee) * (1 - exp(-(raw - knee)/(max - knee))) em vez raw > knee.
Caso contrário soft = raw.
9.3 Parâmetros actuais (app.js)
PCFGSOFTCAPKNEE = 1e14PCFGMAXGUESSES = 1e18Efeito: Estabilidade digital preservada sem ruptura abrupta ou perda total de diferenciação.
10. Calibração de alta fidelidade
Com PCFG v2, sinais estruturais já estão integrados na estimativa de classificação (pcfgKeyspaceO ajuste da IC é, portanto, neutro para evitar a dupla contagem.
11. Benchmarks e ordens de magnitude
No haxixe rápido, as estruturas atuais caem muito rapidamente.
No KDF lento, a ordem PCFG permanece vantajosa, mas o custo por tentativa permanece decisivo.
12. Exemplos práticos
Password123 : alvo ideal PCFG.xQ7$vP2!mL9@ : baixa compatibilidade com PCFG.13. Limites do ataque PCFG
14. Defesas eficazes
Word+Digits+Symbol).