Ataque PCFG — Operação abrangente

Documento de referência do projeto Time2Crack
Destinatários: desenvolvedores, pesquisadores de segurança, usuários avançados

Índice

  • Visão geral
  • Formação histórica e académica
  • Fundações: gramática estrutural das senhas
  • Aprender o modelo PCFG
  • Geração ordenada de candidatos
  • Por que PCFG quebra segredos com alta entropia aparente
  • Implementação no Time2Crack: addPCFGAttacks()
  • Função pcfgKeyspace() e suposições
  • Gestão digital: tampa macia (substituição da tampa dura)
  • Calibração de alta fidelidade
  • Benchmarks e ordens de grandeza
  • Exemplos concretos
  • Limites de ataque PCFG
  • Defesas eficazes
  • Referências

  • Resumo

    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:

    O modelo aprende que alguns padrões (L8D2, L6D4) são comuns, outros raros.

    4. Aprender o modelo PCFG

  • Senhas de segmentos em classes.
  • Estimar a probabilidade de esqueletos.
  • Estimar a probabilidade de fichas em cada slot.
  • 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:

  • componente da letra (wordGuesses),
  • Componente números (10^digitLen),
  • componente do símbolo (32^symbolCount),
  • fator de variação estrutural.
  • 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:

  • linear sob um ponto de cotovelo (knee),
  • compressão progressiva acima,
  • assimptote até um máximo numérico (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 = 1e14
  • PCFGMAXGUESSES = 1e18
  • Efeito: 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

  • dependência do corpus de formação,
  • baixo desempenho em aleatório real,
  • complexidade da calibração linguística multidomínio,
  • o v1 do modelo permanece uma aproximação do PCFG (não uma gramática orientada on-line).
  • 14. Defesas eficazes

  • Evitar as estruturas habituais (Word+Digits+Symbol).
  • Usar segredos gerados aleatoriamente.
  • KDF sólido + MFA.
  • 15. Referências bibliográficas

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