Se ha publicado una nueva versión de passwdqc, un conjunto de herramientas para monitorizar la complejidad de contraseñas y frases de contraseña. Incluye el módulo pam_passwdqc, los programas pwqcheck, pwqfilter (añadido en esta versión) y pwqgen para su uso manual o desde scripts, así como la biblioteca libpasswdqc. Es compatible con sistemas con PAM (la mayoría Linux, FreeBSD, DragonFly BSD, Solaris, HP-UX), y sin PAM (la interfaz passwordcheck en OpenBSD es compatible, se incluye un enlace para usar pwqcheck desde PHP, hay una versión de pago para Windowsy los programas y la biblioteca también se pueden utilizar en otros sistemas).
En comparación con versiones anteriores, se ha añadido compatibilidad con archivos de filtrado de contraseñas externos, incluidos los binarios, que actualmente implementan un filtro Cuckoo mejorado. Este filtro garantiza que no permitirá el uso de contraseñas prohibidas, aunque ocasionalmente puede generar falsos positivos, cuya probabilidad es insignificante dada la configuración y el algoritmo utilizados en passwdqc. Comprobar si una contraseña está incluida en el filtro requiere tan solo dos lecturas aleatorias del disco, lo que resulta muy rápido y, por lo general, no genera una carga excesiva. servidor.
El programa pwqfilter se ha añadido a passwdqc para crear y trabajar con filtros binarios. Permite crear un filtro a partir de una lista de contraseñas o de sus hashes MD4 o NTLM. La compatibilidad con hashes NTLM permite importar contraseñas de la lista HIBP (Pwned Passwords), que se distribuye en este formato. Se ha invertido un esfuerzo considerable en optimizar pwqfilter para mejorar el rendimiento, la compacidad de los filtros resultantes y la tasa de falsos positivos. Por ejemplo, crear un filtro cuckoo con un factor de carga del 98 % a partir del archivo pwned-passwords-ntlm-ordered-by-hash-v7.txt, que ocupa 21 GiB (22 GB) y contiene más de 613 millones de líneas, tarda aproximadamente 8 minutos en un procesador Core i7-4770K. El filtro resultante ocupa 2.3 GiB (2.5 GB) y tiene una tasa de falsos positivos de aproximadamente 1 entre 1.15 millones. Con un factor de carga objetivo más pequeño, el filtro se puede crear mucho más rápido y tendrá una tasa de falsos positivos aún menor, pero su tamaño será mayor.
passwdqc es muy eficaz a la hora de prevenir contraseñas débiles sin usar archivos externos. Usar archivos externos puede mejorar aún más la eficacia de passwdqc con mínimas molestias para el usuario, o bien permitir la flexibilización de otras restricciones. El NIST recomienda comprobar las contraseñas elegidas por el usuario para detectar filtraciones conocidas. Para el proyecto Openwall, esto podría proporcionar financiación para el desarrollo de passwdqc (y otros) mediante la venta de filtros predefinidos, a la vez que permite a los usuarios crear sus propios filtros utilizando el programa pwqfilter, de licencia libre.
pwqfilter funciona con cadenas arbitrarias y puede usarse en lugar de grep para diversos fines, incluso aquellos no relacionados con contraseñas y seguridad. Por ello, pwqfilter ofrece varias opciones similares a las de grep, evita nombres de opciones que podrían entrar en conflicto con los de grep y utiliza los mismos códigos de retorno que grep.
Para tareas donde los falsos positivos son altamente indeseables, su tasa puede reducirse, por ejemplo, a uno en un quintillón (mil millones de millones) con un factor de carga de hasta el 44 %. (El filtro cuco clásico no proporciona una reducción tan significativa de falsos positivos con un factor de carga menor. En passwdqc, esto se logra mediante mejoras algorítmicas).
Fuente: opennet.ru
