ΠΡΠΏΡΡΠ΅Π½Π° Π½ΠΎΠ²Π°Ρ Π²Π΅ΡΡΠΈΡ 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 Π΅ΡΠ΅ Π²ΡΡΠ΅ ΠΏΡΠΈ ΡΡΠΎΠΌ ΠΏΠΎΡΡΠΈ Π½Π΅ ΠΏΡΠΈΡΠΈΠ½ΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π½Π΅ΡΠ΄ΠΎΠ±ΡΡΠ²Π°, Π»ΠΈΠ±ΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΡ ΠΎΡΠ»Π°Π±ΠΈΡΡ Π΄ΡΡΠ³ΠΈΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ. ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π²ΡΠ±ΠΈΡΠ°Π΅ΠΌΡΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΠΌΠΈ ΠΏΠ°ΡΠΎΠ»Π΅ΠΉ ΠΏΠΎ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΌ ΡΡΠ΅ΡΠΊΠ°ΠΌ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ NIST. ΠΠ»Ρ ΠΏΡΠΎΠ΅ΠΊΡΠ° Openwall ΡΡΠΎ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½Π°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΈΠ½Π°Π½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ passwdqc (ΠΈ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ) ΡΠ΅ΡΠ΅Π· ΠΏΡΠΎΠ΄Π°ΠΆΡ Π³ΠΎΡΠΎΠ²ΡΡ ΡΠΈΠ»ΡΡΡΠΎΠ², ΠΏΡΠΈ ΡΡΠΎΠΌ Π½Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Ρ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ Π² Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΡΠΈΠ»ΡΡΡΡ ΡΠ°ΠΌΠΎΡΡΠΎΡΡΠ΅Π»ΡΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ Π²ΡΠΏΡΡΠ΅Π½Π½ΡΡ ΠΏΠΎΠ΄ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠΉ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ pwqfilter.
pwqfilter ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΠΌΠΈ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ ΠΈ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ Π²ΠΌΠ΅ΡΡΠΎ grep Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΈΡ ΡΠ΅Π»Π΅ΠΉ, Π΄Π°ΠΆΠ΅ Π½Π΅ ΠΎΡΠ½ΠΎΡΡΡΠΈΡ ΡΡ ΠΊ ΠΏΠ°ΡΠΎΠ»ΡΠΌ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ. Π‘ ΡΡΠ΅ΡΠΎΠΌ ΡΡΠΎΠ³ΠΎ, pwqfilter ΠΈΠΌΠ΅Π΅Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠΏΡΠΈΠΉ, Π°Π½Π°Π»ΠΎΠ³ΠΈΡΠ½ΡΡ ΠΈΠΌΠ΅ΡΡΠΈΠΌΡΡ Π² grep, ΠΈΠ·Π±Π΅Π³Π°Π΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π°Π·Π²Π°Π½ΠΈΠΉ ΠΎΠΏΡΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±Ρ ΠΏΡΠΎΡΠΈΠ²ΠΎΡΠ΅ΡΠΈΠ»ΠΈ ΠΈΠΌΠ΅ΡΡΠΈΠΌΡΡ Π² grep, ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠ°ΠΊΠΈΠ΅ ΠΆΠ΅ ΠΊΠΎΠ΄Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ° ΠΊΠ°ΠΊ Π² grep.
ΠΠ»Ρ Π·Π°Π΄Π°Ρ Π³Π΄Π΅ Π»ΠΎΠΆΠ½ΡΠ΅ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΡ ΠΊΡΠ°ΠΉΠ½Π΅ Π½Π΅ΠΆΠ΅Π»Π°ΡΠ΅Π»ΡΠ½Ρ, ΠΈΡ
ΡΡΠΎΠ²Π΅Π½Ρ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ½ΠΈΠΆΠ΅Π½, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎ ΠΎΠ΄Π½ΠΎΠΉ Π½Π° ΠΊΠ²ΠΈΠ½ΡΠΈΠ»Π»ΠΈΠΎΠ½ (ΠΌΠΈΠ»Π»ΠΈΠ°ΡΠ΄ ΠΌΠΈΠ»Π»ΠΈΠ°ΡΠ΄ΠΎΠ²) ΠΏΡΠΈ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠ΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π΄ΠΎ 44%. (ΠΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΠΊΡΠΊΡΡΠΊΠΈΠ½ ΡΠΈΠ»ΡΡΡ Π½Π΅ Π΄Π°ΡΡ ΡΡΠΎΠ»Ρ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡ ΡΡΠΎΠ²Π½Ρ Π»ΠΎΠΆΠ½ΡΡ
ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΠΉ ΠΏΡΠΈ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΠΈ ΠΊΠΎΡΡΡΠΈΡΠΈΠ΅Π½ΡΠ° Π·Π°Π³ΡΡΠ·ΠΊΠΈ. Π passwdqc ΡΡΠΎ Π΄ΠΎΡΡΠΈΠ³Π°Π΅ΡΡΡ Π±Π»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡΠΌ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°).
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru