Ataque PCFG — Operación Integral
Documento de referencia del proyecto Time2Crack
Recipientes: desarrolladores, investigadores de seguridad, usuarios avanzados
Índice
addPCFGAttacks()pcfgKeyspace() y hipótesis1. 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:
Password123!- No.L8 D3 S1
El modelo aprende que algunos patrones (L8D2, L6D4) son comunes, otros raros.
4. Aprender el modelo PCFG
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:
wordGuesses),10^digitLen),32^symbolCount),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:
knee),max).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 = 1e14PCFGMAXGUESSES = 1e18Efecto: 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
14. Defensas eficaces
Word+Digits+Symbol).