začátkem tohoto roku bylo na fóru hackerů zveřejněno asi 6,5 milionu hashů hesel účtu LinkedIn. Hashe byly jednoduché SHA1 digesty vypočítané z hesel uživatele, jak je uloženo do backendové infrastruktury LinkedIn.
netrvalo dlouho, než je hackeři začali praskat, přičemž více než polovina z nich praskla téměř v žádném okamžiku.
existují dva hlavní důvody, proč bylo možné takové rychlé praskání:
* použití samotné funkce SHA1
* rychlé GPU
pojďme se podívat na oba.
funkce SHA1 byla hlavně navržena tak, aby nahradila slabší funkci MD5. Byl vytvořen, aby byl rychlý, a skutečně je. Na grafické kartě AMD / ATI 7970 vypočítá „hashcat“ (viz https://hashcat.net/oclhashcat-plus/) něco přes dvě miliardy hashů SHA1 za sekundu. To znamená, že mnoho kombinací může být testováno ve velmi krátkém čase.
k překonání tohoto „problému“ existují moderní a bezpečnější algoritmy, jako je funkce sha512crypt používaná v Ubuntu a nejnovější verze Fedora Core Linux. Namísto 2 miliard hashů za sekundu stejná karta GPU praskne jen o něco více než 12 000 kombinací sha512crypt za sekundu. Například kontrola jedné miliardy kombinací sha512crypt trvá asi 24 hodin; ale méně než 1 sekunda pro SHA1.
vzhledem k dnešním rychlým GPU je jednou dobrou radou, pokud jde o zabezpečení, zvolit složité heslo, které:
* zahrnuje velká i malá písmena
* obsahuje alespoň jeden znak mezery
* zahrnuje čísla
* zahrnuje několik symbolů, jako je !@ #
* není založen na známém slově
* je to alespoň 12 znaků, ale čím déle, tím lépe
mnoho lidí, které znám, používá hesla, která jsou mezi 20 a 50 znaky. To je dobrá rada, která dělá to nepravděpodobné, že i v případě, že Vaše heslo hash je unikly, nikdo nebude crack to.
Představte si mé překvapení dnes, když jsem se pokusil přihlásit do staršího účtu Hotmail a dostal následující:
hesla účtu Microsoft mohou obsahovat až 16 znaků.
pokud používáte heslo, které má více než 16 znaků, zadejte prvních 16.
moje předchozí heslo bylo kolem 30 znaků a teď už to nefunguje. Mohl jsem se však přihlásit zadáním prvních 16 znaků.
toto omezení je dobře známo (viz vynikající příspěvek Grahama Cluleyho o limitech hesel různých služeb), ale to, co mě upoutalo, bylo, že snížením hesla na 16 znaků by to fungovalo.
Chcete-li vytáhnout tento trik se staršími hesly, Microsoft měl dvě možnosti:
* uložte Plná hesla v jejich db; porovnejte pouze prvních 16 znaků
* Vypočítejte hash pouze na prvních 16; ignorujte zbytek
ukládání hesel v prostém textu pro online služby je v zabezpečení jednoznačné ne-ne. Druhá volba by mohla znamenat, že od svého vzniku Hotmail tiše používal pouze prvních 16 znaků hesla.
abych byl upřímný, nejsem si jistý, který z nich je horší.
PS: můj učitel řekl, že vždy myslet pozitivně a pokusit se skončit s optimistickým poznámkou. Takže tady jde: „díky Google za GMail“.