Ataque PCFG — Operación Integral

Documento de referencia del proyecto Time2Crack
Recipientes: desarrolladores, investigadores de seguridad, usuarios avanzados

Índice

  • Sinopsis
  • Antecedentes históricos y académicos
  • Fundaciones: gramática estructural de contraseñas
  • Aprender el modelo PCFG
  • Generación ordenada de candidatos
  • Por qué PCFG rompe secretos con alta aparente entropía
  • Ejecución en Time2Crack: addPCFGAttacks()
  • Función pcfgKeyspace() y hipótesis
  • Gestión digital: gorra suave (sustitución de tapa dura)
  • Calibración de alta fidelidad
  • Criterios y órdenes de magnitud
  • Ejemplos concretos
  • Límites de ataque PCFG
  • Defensas eficaces
  • Referencias

  • 1. Sinopsis

    PCFG (Probabilistic Context-Free Grammar) modela la estructura de contraseña en segmentos tipodos (cartas, números, símbolos), y genera los candidatos más probables en prioridad.

    2. Antecedentes históricos y académicos

    The work of Weir et al. (2009) established PCFG as a major probabilistic cracking method, often superior to merely Dictionary approaches with equal budget on human corpus.

    3. Fundaciones: gramática estructural de contraseñas

    Ejemplo:

    El modelo aprende que algunos patrones (L8D2, L6D4) son comunes, otros raros.

    4. Aprender el modelo PCFG

  • contraseñas de segmento en clases.
  • Estimar la probabilidad de esqueletos.
  • Estimar la probabilidad de fichas en cada ranura.
  • 5. Generación ordenada de candidatos

    PCFG produce por primera vez altas previsiones de probabilidad. Esta priorización es la principal fuente de su eficacia.

    6. Por qué PCFG rompe secretos con alta entropía aparente

    Una cadena puede parecer fuerte en la entropía cruda mientras que es muy predecible estructuralmente (palabra + dígitos + símbolo). PCFG explota esta previsibilidad.

    7. Aplicación en Time2Crack: addPCFGAttacks()

    Time2Crack calcula un presupuesto vía pcfgKeyspace(pw) entonces convertidos a tiempo con budgetTime(...).

    Categoría: cat: "pcfg", nota: nPCFGDetected.

    8. Función pcfgKeyspace() y hipótesis

    El modelo interno aproxima las dimensiones lexicales, numéricas y simbólicas, y luego limita el espacio clave para seguir siendo realista en uso interactivo.

    Principales componentes:

  • componente de la cartawordGuesses),
  • Componente de números (10^digitLen),
  • componente del símbolo32^symbolCount),
  • factor de variación estructural.
  • El presupuesto PCFG se convierte a tiempo a través de budgetTime(pcfgGuesses, rate).

    9. Gestión digital: tapa blanda (sustitución de tapa dura)

    Time2Crack ahora usa un gorro suave para evitar bandejas artificiales causadas por una sola partida dura.

    9.1 Enfoque anterior (copia impresa)

    Uno Math.min(..., cap) aplasta todos los valores por encima de la partida en la misma constante. Esto elimina la jerarquía entre casos "difíciles" y "muy difíciles".

    9.2 Nuevo enfoque (curso blando)

    El modelo aplica compresión continua:

  • linear debajo de un punto codo (knee),
  • compresión progresiva arriba,
  • asintoto a un máximo numéricomax).
  • Fórmula utilizada:

    soft = knee + (max - knee) * (1 - exp(-(raw - knee)/(max - knee))) para raw > knee.

    De lo contrario soft = raw.

    9.3 Parámetros actuales (app.js)

  • PCFGSOFTCAPKNEE = 1e14
  • PCFGMAXGUESSES = 1e18
  • Efecto: La estabilidad digital preservada sin rotura abrupta o pérdida total de diferenciación.

    10. Calibración de alta fidelidad

    Con PCFG v2, las señales estructurales ya están integradas en la estimación de rango (pcfgKeyspacePor lo tanto, el ajuste HF es neutral para evitar la doble contabilización.

    11. Parámetros y órdenes de magnitud

    En precipitación rápida, las estructuras actuales caen muy rápidamente.

    En la lenta KDF, la orden PCFG sigue siendo ventajosa pero el costo por intento sigue siendo decisivo.

    12. Ejemplos prácticos

  • Password123 : blanco ideal PCFG.
  • xQ7$vP2!mL9@ : compatibilidad PCFG baja.
  • 13. Límites del ataque PCFG

  • adicción al cuerpo de formación,
  • bajo rendimiento en el azar real,
  • complejidad de la calibración lingüística multidominio,
  • el v1 del modelo sigue siendo una aproximación de PCFG (no una gramática en línea).
  • 14. Defensas eficaces

  • Evite las estructuras habituales (Word+Digits+Symbol).
  • Usa secretos generados aleatoriamente.
  • Solid KDF + MFA.
  • 15. Referencias bibliográficas

  • Weir et al. (2009).
  • Ma et al. (2014).
  • Wheeler, D. (2016). Seguridad USENIX.