7.4 Prolamování hesel a slovníky
- Offline: Výpočty na lokálně uložených datech (extrahovaných hashe). Umožňuje masivně paralelní zpracování bez limitů, obnova hesla ze získaného hashe. Zahrnuje útoky hrubou silou, slovníkové útoky nebo duhové tabulky (vyvážení paměti a času).
- Online: Útok přímo proti běžícímu procesu nebo vzdálenému systému. Jsou zde implementovány ochrany (omezování četnosti požadavků - rate limiting), prodlevy sítě a zpracování. Omezená možnost paralelizace.
Techniky útoků
Testování všech možných kombinací. Tento útok vždy (teoreticky) funguje, ale má exponenciální časovou složitost 2^n, kde n je počet bitů hesla. Závisí na délce hesla, použité abecedě znaků (entropie sady znaků) a politice hesel (např. vynucená délka).
Čím větší počet unikátních znaků v sadě, tím vyšší entropie hesla na jeden znak.
- Arabské číslice (10): ~3.3 bitů
- Pouze malá nebo jen velká písmena (26): ~4.7 b
- Malá + velká písmena (52): ~5.7 b
- Alfanumerické rozlišující velikost znaků (62): ~6 b
- Tiskutelné ASCII (94): ~6.6 b
Slovník (Wordlist) je seznam předem připravených hesel. Nezkouší se všechny kombinace, ale jen ty ze seznamu. Časová složitost je dána počtem položek. Pokud uživatelovo heslo ve slovníku není, útok selže.
Multi-dictionary přístup: Lze testovat několik slovníků najednou, obvykle od těch menších (častějších) a podle dané politiky hesel. Příklad: 123456, password, iloveyou.
Speciální datová struktura sloužící k rychlému převodu hashe na heslo. Kombinuje paměťově náročný a časově náročný přístup (time-memory trade-off). Skládá se ze střídavého aplikování hashovací funkce (H) a redukční funkce (R).
Z tabulky se uloží jen první a poslední prvek "řetízku" výpočtů, a při prolamování se porovnávají tyto koncové hashe.
Útoky z postranních kanálů pomocí AI
AI může útočníkům pomoci způsoby mimo samotné prolamování hashů:
- Akustický postranní kanál: Odhadnutí hesla rozpoznáváním zvuku psaní na klávesnici pomocí hlubokého učení (Deep learning). Přesnost reportována až kolem 93-95 %.
- Odvození PINu pomocí pohybových senzorů: Odhadnutí PINu na mobilním telefonu přes přístup k senzorům v prohlížeči přes Javascript (gyroskop, akcelerometr) – přesnost na třetí pokus až 94 %.