A fost lansată o nouă versiune a passwdqc — un set de instrumente pentru controlul complexității parolelor și a frazelor de parolă, care include modulul pam_passwdqc, programele pwqcheck, pwqfilter (adăugat în această versiune) și pwqgen pentru utilizare manuală sau din scripturi, precum și biblioteca libpasswdqc. Sunt acceptate atât sistemele cu PAM (majoritatea Linux, FreeBSD, DragonFly BSD, Solaris, HP-UX), cât și cele fără PAM (interfața passwordcheck este acceptată în OpenBSD, există un wrapper pentru a utiliza pwqcheck din PHP și există o versiune plătită pentru Windows; programele și biblioteca pot fi folosite și pe alte sisteme).
Comparativ cu versiunile anterioare, s-a adăugat suport pentru fișiere externe de filtrare a parolelor, inclusiv fișiere binare, care sunt acum o implementare a unui filtru de tip cuckoo îmbunătățit. Acest filtru garantează că nu va lăsa să treacă nicio parolă interzisă, dar poate duce ocazional la fals pozitive, probabilitatea acestora fiind într-atât de mică în configurațiile și algoritmul utilizat în passwdqc. Verificarea parolei pentru a vedea dacă se află în filtru necesită nu mai mult de două accesări aleatorii de citire de pe disc, ceea ce este foarte rapid și, în general, nu generează o încărcare excesivă. server.
Pentru a crea și a lucra cu filtrele binare în passwdqc, a fost adăugat programul pwqfilter. Acesta poate crea un filtru fie dintr-o listă de parole, fie din hash-uri MD4 sau NTLM. Suportul pentru hash-uri NTLM permite importarea parolilor din lista HIBP (Pwned Passwords), distribuită în această formă. S-a depus mult efort în optimizarea pwqfilter-ului pentru performanță, compactitatea filtrelor obținute, precum și nivelul de fals pozitive. De exemplu, crearea unui filtru de tip cuckoo cu un coeficient de utilizare de 98% din fișierul pwned-passwords-ntlm-ordered-by-hash-v7.txt de 21 GiB (22 GB) și care conține mai mult de 613 milioane de linii durează aproximativ 8 minute pe procesorul Core i7-4770K. Filtrul rezultat ocupă 2.3 GiB (2.5 GB) și are un nivel de fals pozitive de aproximativ 1 la 1.15 miliarde. Cu un coeficient de utilizare țintit mai mic, filtrul poate fi creat mult mai repede și va avea un nivel de fals pozitive și mai scăzut, însă dimensiunea lui va fi mai mare.
passwdqc se descurcă foarte bine în a nu permite parole slabe și fără utilizarea fișierelor externe. Utilizarea acestora poate crește eficiența passwdqc și mai mult, fără a provoca aproape niciun inconvenient utilizatorilor, sau poate permite slăbirea altor restricții. Verificarea parolelor alese de utilizatori împotriva scurgerilor cunoscute este recomandată de NIST. Pentru proiectul Openwall, aceasta este o oportunitate potențială de finanțare pentru dezvoltarea passwdqc (și nu numai) prin vânzarea filtrelor gata făcute, fără a restricționa utilizatorii în a crea filtre personalizate utilizând programul pwqfilter, eliberat sub o licență liberă.
pwqfilter lucrează cu șiruri arbitrare și poate fi utilizat în loc de grep pentru multe scopuri, chiar și pentru cei care nu sunt legate de parole și securitate. Având în vedere acest lucru, pwqfilter are mai multe opțiuni similare celor existente în grep, evită utilizarea denumirilor de opțiuni care ar contrazice cele din grep și folosește aceleași coduri de returnare ca în grep.
Pentru sarcinile în care alarmările false sunt extrem de nedorite, nivelul acestora poate fi redus, de exemplu, la una la quintilion (milion de miliarde) cu un coeficient de încărcare de până la 44%. (Filtru clasic cuckoo nu oferă o reducere semnificativă a nivelului alarmărilor false atunci când coeficientul de încărcare este redus. În passwdqc, acest lucru este realizat prin îmbunătățiri ale algoritmului).
Sursa: opennet.ro
