Jaký je náhodný řetězec M1uG*xgRCthKWwjIjWc*010iSthY9buc
je detekováno jako příliš zjednodušující/systematické pro heslo podle passwd a cracklib-check? Vyzkoušejte to na svém počítači a uvidíte
echo "M1uG*xgRCthKWwjIjWc*010iSthY9buc" | cracklib-check
Všimněte si, že toto není moje heslo, ale jiný náhodně vygenerovaný řetězec ze stejného generátoru náhodných hesel, který dává stejný výsledek.
Přijatá odpověď:
Protože cracklib je open source, odpověď lze nalézt ve zdrojovém kódu.
„Příliš zjednodušené/systematické“ znamená, že existuje příliš mnoho znaků, kterým předchází jeden z jejich abecedních sousedů. Proto jsou „ab“ nebo „ba“ považovány za špatné, ale „ac“ nebo „ca“ jsou v pořádku, protože b je vynecháno.
Před tímto patchem z 2010-03-02 povoluje maximálně čtyři znaky které vykazují tuto vlastnost. Např. „bar12345“ by selhal, protože znaky „a“, „2“, „3“, „4“ a „5“ jsou abecední sousedé předchozích znaků.
slm ve své odpovědi zjistil, že M1uG*xgRCthKWwjIjWc*010iS
bylo v pořádku, zatímco M1uG*xgRCthKWwjIjWc*010iSt
není. Pojďme analyzovat. Zde jsou znaky, které cracklib-check považuje za náznaky systematického hesla:
M1uG*xgRCthKWwjIjWc*010iS
^^ ^^
což je pod maximální hodnotou čtyři, ale přidá se t:
M1uG*xgRCthKWwjIjWc*010iSt
^^ ^^ ^
posune jej nad limit, protože T následuje po S (zdá se, že test nerozlišuje malá a velká písmena).
Patch změní maximální limit, takže závisí na celkové délce hesla, aby se předešlo falešným pozitivním výsledkům, jako je tento.