È stata rilasciata una nuova versione di passwdqc, un insieme di strumenti per il controllo della complessità delle password e delle frasi di password, che include il modulo pam_passwdqc, i programmi pwqcheck, pwqfilter (aggiunto in questa versione) e pwqgen per utilizzo manuale o in script, oltre alla libreria libpasswdqc. Sono supportati sia i sistemi con PAM (la maggior parte delle distribuzioni Linux, FreeBSD, DragonFly BSD, Solaris, HP-UX), sia senza PAM (è supportata l'interfaccia passwordcheck in OpenBSD, è fornita un'interfaccia per utilizzare pwqcheck da PHP, esiste una versione a pagamento per Windows e i programmi e la libreria possono essere utilizzati anche su altri sistemi).
Rispetto alle versioni precedenti, è stato aggiunto il supporto per file esterni di filtraggio delle password, inclusi quelli binari, attualmente implementati come filtro cuckoo migliorato. Questo filtro garantisce di non lasciare passare nessuna delle password vietate, sebbene possa occasionalmente generare falsi positivi, la cui probabilità con le impostazioni e l'algoritmo utilizzati in passwdqc è trascurabile. Il controllo della password nel filtro richiede al massimo due accessi casuali in lettura dal disco, il che è molto veloce e generalmente non crea un carico eccessivo. server.
Per la creazione e gestione di filtri binari in passwdqc è stato aggiunto il programma pwqfilter. Può creare un filtro sia da un elenco di password stesse sia dai loro hash MD4 o NTLM. Il supporto per gli hash NTLM consente di importare password da un elenco HIBP (Pwned Passwords), distribuito in questa forma. È stato dedicato molto lavoro all'ottimizzazione di pwqfilter per prestazioni, compattezza dei filtri risultanti e livello di falsi positivi. Ad esempio, la creazione di un filtro cuckoo con un fattore di carico del 98% da un file pwned-passwords-ntlm-ordered-by-hash-v7.txt di 21 GiB (22 GB) e contenente oltre 613 milioni di righe richiede circa 8 minuti su un processore Core i7-4770K. Il filtro risultante occupa 2.3 GiB (2.5 GB) e ha un tasso di falsi positivi di circa 1 su 1.15 miliardi. Con un fattore di carico target più basso, il filtro può essere creato molto più rapidamente e avrà un tasso di falsi positivi ancora più basso, ma le sue dimensioni saranno maggiori.
passwdqc gestisce molto bene il rifiuto delle password deboli senza utilizzare file esterni. Il loro utilizzo può aumentare ulteriormente l'efficacia di passwdqc senza arrecare quasi alcun disagio agli utenti, oppure può consentire di allentare altre restrizioni. Controllare le password scelte dagli utenti rispetto alle perdite note è raccomandato dal NIST. Per il progetto Openwall, questa è una potenziale opportunità di finanziamento per lo sviluppo di passwdqc (e non solo) attraverso la vendita di filtri pronti, senza limitare agli utenti la possibilità di creare filtri autonomamente utilizzando il programma pwqfilter rilasciato con licenza open source.
pwqfilter lavora con stringhe arbitrarie ed è applicabile come sostituto di grep per molti scopi, anche non legati a password e sicurezza. Tenendo conto di ciò, pwqfilter ha diverse opzioni simili a quelle di grep, evita di utilizzare nomi di opzioni che contraddicono quelle presenti in grep, e usa gli stessi codici di ritorno di grep.
Per compiti in cui i falsi positivi sono estremamente indesiderati, il loro livello può essere ridotto, ad esempio, a uno su quintilioni (miliardo di miliardi) con un coefficiente di carico fino al 44%. (Il filtro di Cuckoo classico non consente una riduzione così significativa del livello di falsi positivi con la diminuzione del coefficiente di carico. In passwdqc questo è ottenuto grazie a miglioramenti dell'algoritmo).
Fonte: opennet.ru
