Излязла нова версия passwdqc - инструмент за контрол на сложността на пароли и паролни фрази, включващ модул pam_passwdqc, програми pwqcheck, pwqfilter (добавена в тази версия) и pwqgen за ръчно или скриптово използване, както и библиотека libpasswdqc. Поддържат се както системи с PAM (повечето Linux, FreeBSD, DragonFly BSD, Solaris, HP-UX), така и без PAM (поддържа се интерфейса passwordcheck в OpenBSD, предоставя се опаковка за използване на pwqcheck от PHP, съществува платена версия за Windows, а програмите и библиотеката могат да се използват и на други системи).
В сравнение с предишните версии, добавена е поддръжка на външни файлове за филтриране на пароли, включително двоични, които в момента представляват реализация на подобрен кукушки филтър. Такъв филтър гарантирано няма да пропусне нито една от забранените пароли, но може от време на време да предизвика фалшиви сработвания, чиято вероятност при използваните в passwdqc настройки и алгоритъм е пренебрежимо малка. Проверка на паролата за наличие в филтъра изисква не повече от два случайни достъпа за четене от диска, което е много бързо и не създава излишно натоварване. сървър.
За създаване и работа с двоични филтри в passwdqc е добавена програмата pwqfilter. Тя може да създаде филтър както от списък на самите пароли, така и от техните хешове MD4 или NTLM. Поддръжката на хешове NTLM позволява импортиране на пароли от списъка HIBP (Pwned Passwords), разпространяван в такава форма. Вложен е много труд в оптимизацията на pwqfilter по отношение на производителност, компактност на получените филтри и ниво на фалшиви сработвания. Например, създаването на кукушки филтър с коефициент на натоварване от 98% от файла pwned-passwords-ntlm-ordered-by-hash-v7.txt с размер 21 GiB (22 GB) и съдържащ повече от 613 милиона реда отнема около 8 минути на процесор Core i7-4770K. Полученият филтър заема 2.3 GiB (2.5 GB) и има ниво на фалшиви сработвания около 1 на 1.15 милиарда. С по-нисък целеви коефициент на натоварване, филтърът може да бъде създаден много по-бързо и ще има ниво на фалшиви сработвания още по-ниско, но размерът му ще бъде по-голям.
passwdqc много успешно справя с предотвратяването на слаби пароли без да се използват външни файлове. Тяхното използване може да увеличи ефективността на passwdqc дори повече, докато почти не причинява допълнителни неудобства на потребителите, или може да позволи отслабване на други ограничения. Проверка на паролите, избрани от потребителите за известни из leaks, се препоръчва от NIST. За проекта Openwall това е потенциална възможност за финансиране на разработката на passwdqc (и не само) чрез продажба на готови филтри, без да се ограничава възможността на потребителите да създават филтри самостоятелно, използвайки публикуваната под свободна лицензия програма pwqfilter.
pwqfilter работи с произволни низове и може да бъде приложен вместо grep за много цели, дори и да не са свързани с пароли и сигурност. В това отношение, pwqfilter има няколко опции, подобни на тези в grep, избягва използването на имена на опции, които биха противоречали на наличните в grep, и използва същите кодове за връщане, както в grep.
За задачи, където фалшивите срабатывания са изключително нежелателни, техният процент може да бъде намален, например до едно на квинтилион (милиард милиарда) при коефициент на натоварване до 44%. (Класическият кукушки филтър не предоставя такова значително намаление на процента на фалшиви срабатывания при намаляване на коефициента на натоварване. В passwdqc това се постига благодарение на подобрения в алгоритъма).
Източник: opennet.ru
