Eine neue Version von passwdqc wurde veröffentlicht – ein Toolkit zur Kontrolle der Komplexität von Passwörtern und Passwortsätzen, das das Modul pam_passwdqc, die Programme pwqcheck, pwqfilter (in dieser Version hinzugefügt) und pwqgen für die manuelle Nutzung oder aus Skripten beinhaltet, sowie die Bibliothek libpasswdqc. Unterstützt werden sowohl Systeme mit PAM (die meisten Linux-Distributionen, FreeBSD, DragonFly BSD, Solaris, HP-UX) als auch Systeme ohne PAM (der passwordcheck-Schnittstelle in OpenBSD wird unterstützt, es gibt eine Wrapper für die Nutzung von pwqcheck aus PHP, eine kostenpflichtige Version für Windows existiert, und die Programme sowie die Bibliothek können auch auf anderen Systemen genutzt werden).
Im Vergleich zu früheren Versionen wurde die Unterstützung für externe Passwortfilterdateien hinzugefügt, einschließlich binärer Dateien, die derzeit die Implementierung eines verbesserten Kuckuckfilters darstellen. Ein solcher Filter garantiert, dass kein unerlaubtes Passwort durchrutscht, kann jedoch gelegentlich zu Fehlalarmen führen, deren Wahrscheinlichkeit bei den in passwdqc verwendeten Einstellungen und Algorithmen vernachlässigbar gering ist. Die Überprüfung eines Passworts im Filter erfordert nicht mehr als zwei Zugriffe für zufälliges Lesen von der Festplatte, was sehr schnell ist und in der Regel keine übermäßige Belastung verursacht. Server.
Für die Erstellung und Arbeit mit binären Filtern in passwdqc wurde das Programm pwqfilter hinzugefügt. Es kann einen Filter sowohl aus einer Liste von Passwörtern als auch aus deren MD4- oder NTLM-Hashes erstellen. Die Unterstützung von NTLM-Hashes ermöglicht den Import von Passwörtern aus der HIBP-Liste (Pwned Passwords), die in dieser Form verbreitet wird. Viel Arbeit wurde in die Optimierung von pwqfilter in Bezug auf Geschwindigkeit, Kompaktheit der erzeugten Filter und die Rate von Fehlalarmen investiert. Zum Beispiel dauert die Erstellung eines Kuckuckfilters mit einer Auslastungsrate von 98 % aus der Datei pwned-passwords-ntlm-ordered-by-hash-v7.txt mit einer Größe von 21 GiB (22 GB) und mehr als 613 Millionen Zeilen etwa 8 Minuten auf einem Core i7-4770K-Prozessor. Der resultierende Filter hat eine Größe von 2.3 GiB (2.5 GB) und eine Fehlalarmrate von etwa 1 auf 1.15 Milliarden. Bei einer geringeren Zielauslastungsrate kann der Filter viel schneller erstellt werden und hat eine noch niedrigere Fehlalarmrate, jedoch wird seine Größe größer sein.
passwdqc funktioniert sehr gut und verhindert schwache Passwörter, ohne externe Dateien zu verwenden. Ihre Verwendung kann die Effizienz von passwdqc noch weiter steigern, während sie den Benutzern kaum zusätzliche Unannehmlichkeiten bereitet oder es ermöglicht, andere Einschränkungen zu lockern. Die Überprüfung der von Benutzern gewählten Passwörter gegen bekannte Leaks wird von NIST empfohlen. Für das Openwall-Projekt stellt dies eine potenzielle Finanzierungsmöglichkeit für die Entwicklung von passwdqc (und nicht nur) durch den Verkauf fertiger Filter dar, ohne die Benutzer in ihrer Fähigkeit einzuschränken, eigene Filter unter der freien Lizenz des Programms pwqfilter zu erstellen.
pwqfilter arbeitet mit beliebigen Zeichenfolgen und kann anstelle von grep für viele Zwecke angewendet werden, auch für solche, die nicht mit Passwörtern und Sicherheit zu tun haben. In diesem Sinne hat pwqfilter mehrere Optionen, die den verfügbaren in grep ähnlich sind, vermeidet die Verwendung von Optionen, die den vorhandenen in grep widersprechen, und verwendet die gleichen Rückgabecodes wie grep.
Für Aufgaben, bei denen Fehlalarme äußerst unerwünscht sind, kann deren Niveau auf beispielsweise eins pro Quintillion (eine Billion Milliarden) bei einer Ladequote von bis zu 44 % gesenkt werden. (Der klassische Cuckoo-Filter bietet bei sinkender Ladequote nicht so signifikante Reduzierungen der Fehlalarme. In passwdqc wird dies durch Verbesserungen des Algorithmus erreicht.)
Quelle: opennet.ru
