Kořeny používání hesel pro kontrolu přístupu k informacím sahají daleko za dobu vzniku prvních počítačů, nicméně právě moderní výpočetní technika a síťové technologie sází z velké části zejména na tuto variantu zabezpečení. Informace často patří mezi jedny z nejcennějších aktiv a řada jednotlivců i firem je chrání důmyslnými hesly. A především na tom, jak je zvolené heslo silné, kterak bývá ukládáno na disku nebo jak probíhá jeho přenos sítí, závisí míra úspěchu či neúspěchu případného útočníka. Lámání a luštění hesel (password cracking) všeho druhu provází diskutovanou možnost zabezpečení od jejích prvopočátků.
Než se blíže podíváme na nástroje a techniky, díky nimž se může prakticky každý počítačový uživatel pokusit o prolomení ochrany hesel, věnujme trochu pozornosti tomu, jak má heslo vypadat a v čem se liší od jiných autentizačních mechanismů. Hesla zjevně slouží pro ověření identity uživatele na základě jeho vědomostí, tedy něčeho, co zná. Naproti tomu se můžeme setkat s různými identifikačními kartami, průkazkami a podobnými předměty, jež se souhrnně označují termínem tokeny (slovo token pochází z anglického jazyka a popisuje známku či poukázku). Stručně řečeno, tokeny zajišťují ověření identity nebo identifikaci uživatele na základě něčeho, co má. Další, v současnosti stále exotickou skupinu mohou tvořit biometrické systémy, jež rozhodnou o uživatelově identitě na základě něčeho, čím je. Jedná se o rozličné behaviorální (např. hlas, dynamika podpisu, dynamika stisku kláves) a fyziologické (otisk prstu, geometrie ruky, sítnice apod.) vlastnosti. Základní výhody(+) a nevýhody(-) jednotlivých autentizačních technik uvádí následující tabulka:
Hesla | |
---|---|
+ | snadno použitelná, uživatelé jsou na ně zvyklí, nevyžadují žádný speciální hardware |
– | silné heslo vs. lidská paměť, dají se odpozorovat, předávat |
Tokeny | |
+ | nelze je odpozorovat ani zapomenout ve smyslu hesel |
– | lze je ztratit, zcizit, předat, nutný dodatečný hardware |
Biometriky | |
+ | pevně svázané s uživatelem, nelze je zcizit, ztratit ani odpozorovat |
– | často nízká důvěra uživatelů, většinou nutný speciální hardware |
Hesla mají do určité míry výsadní postavení, jelikož jsou velice snadno použitelná a uživatelé se s nimi setkají na každém kroku světem počítačů, a nejen zde – mezi ochranu heslem spadají samozřejmě také nejrůznější PIN kódy (Personal Identification Number) sloužící k ochraně platebních karet, mobilních telefonů a jejich SIM karet. Nicméně tyto PIN kódy představují speciální skupinu hesel a nebudeme se jimi zvláště zabývat. Hesla, tokeny a biometriky lze samozřejmě s výhodou kombinovat a v praxi tomu tak skutečně bývá.
Bezpečnost hesla jako takového se dá určit třemi základními požadavky, a to jeho délkou, složitostí a dobou, po které musí být změněno. Požadavek délky je zřejmý – čím delší heslo, tím větší prostor, který musí být prohledán při útoku hrubou silou (brute-force). Ruku v ruce s tímto faktem slouží pro obranu před brute-force i slovníkovým útokem dostatečná složitost hesla. Asi není těžké dojít k závěru, že hesla typu pepik nebo arsenal budou pro útočníky snadným soustem. Konečně často opomíjeným třetím faktorem je doba, po které musí být heslo změněno, a zde záleží především na administrátorovi, aby určil vhodnou periodu. Požadavky na silné heslo se často více či méně rozcházejí, nicméně několik základních pravidel lze sumarizovat zhruba takto:
- Heslo by mělo být alespoň osm znaků dlouhé (v závislosti na použité abecedě).
- Heslo v sobě nesmí obsahovat smysluplné slovo (např. computer, user2005 apod.)
- Heslo nesmí být spojeno s informacemi o uživateli (např. rodné či telefonní číslo).
- Heslo obsahuje malá i velká písmena standardní anglické abecedy.
- Heslo obsahuje číslice a speciální znaky (např. !, ?, _, # apod.)
Kompromis mezi dodržením těchto pravidel a snadnou zapamatovatelností hesla představuje volba na základě nějaké fráze. Tak například verš ze známé rýmovačky „Dej mi babko jedno jabko, budeme mít stejně“ si snadno zapamatuje každý a zároveň může sloužit k odvození silného hesla Dmb1j,bm= (toto berte skutečně pouze jako příklad, těžko budeme u každého hesla lovit v paměti texty vhodných básniček a říkanek).
Jak již bylo naznačeno, útok hrubou silou spočívá v testování všech možných slov nad zvolenou abecedou s případnými omezujícími podmínkami. Zde je dobré si uvědomit dopad délky hesla a velikosti použité abecedy na počet všech možných variant. Pokud máme heslo o n znacích a použitá abeceda zahrnuje m symbolů, pak všech možných slov délky n je m^n, takže například všech šestipísmenných hesel nad anglickou abecedou malých písmen a…z existuje 266 (přibližně 308 bilionů). Nebudeme-li skoupí na délku hesla ani jeho složitost a použijeme namísto šesti znaků osm, spolu s rozšířením použité abecedy o velká písmena a číslice, pak existuje 628 takovýchto slov, což je zhruba sedm set tisíckrát více variant! Útočník navíc většinou nezná délku hesla, a proto mu nezbývá nic jiného, než postupně „zbytečně“ vyzkoušet všechny jednopísmenné, dvoupísmenné až (n-1)-písmenné varianty. Jaké jsou průměrné časy pro úspěšné vyluštění hesel rozmanitých parametrů na různých konfiguracích, se můžete dočíst například na stránkách serveru Lockdown.co.uk v článku Password Recovery Speeds.
Slovníkový útok naproti tomu může slavit úspěch všude tam, kde uživatelé spoléhají na snadno zapamatovatelná hesla, a proto volí běžná slova, případně je doplňují číslicemi. Na Internetu je k dispozici celá řada slovníků, většinou se jedná o prostý textový soubor. Následující tabulka obsahuje odkazy na některé z nich:
http://www.newdata.box.sk/argon24MB.zip |
---|
Pravděpodobně nejznámější slovník, který má v nekomprimované podobě velikost téměř 250 MB (řadu slov však obsahuje vícekrát). |
ftp://ftp.ox.ac.uk/pub/wordlists/czech/czech-wordlist-asciicstug-novak.Z |
Český slovník, který obsahuje kolem 160.000 slov. |
http://pass.wz.cz/Ceskajmena-1960.zip |
Slovník obsahující česká jména. |
Zejména zmiňované lokace ftp://ftp.ox.ac.uk/pub/wordlists/ a http://pass.wz.cz se mohou stát dobrým odrazovým můstkem při hledání vhodného slovníku. Pokud si chcete sami vytvořit vlastní slovník nebo upravit některý již existující, můžete použít například utilitu Raptor, jež je navíc k dispozici zdarma.
V dnešním dílu jsme si stručně připomenuli a osvětlili základy lámání hesel, příští pokračování bude zaměřeno přímo na konkrétní aplikace, s jejichž pomocí lze rekonstruovat hesla rozličných souborů a dokumentů.
Praktikovali jste někdy brute-force útok na heslované soubory?