Hlavní navigace

Lámání hesel v praxi (1.)

12. 7. 2005
Doba čtení: 5 minut

Sdílet

Soukromí a citlivé informace nejen počítačových nadšenců bývají nejčastěji chráněny hesly různých podob. Lámání hesel, často též eufemisticky označované jako jejich rekonstrukce, může slavit úspěch především v těch případech, kdy uživatelé volí slabé a snadno zapamatovatelné varianty. Jaké techniky lámání se tedy používají?

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:

  1. Heslo by mělo být alespoň osm znaků dlouhé (v závislosti na použité abecedě).
  2. Heslo v sobě nesmí obsahovat smysluplné slovo (např. computer, user2005 apod.)
  3. Heslo nesmí být spojeno s informacemi o uživateli (např. rodné či telefonní číslo).
  4. Heslo obsahuje malá i velká písmena standardní anglické abecedy.
  5. 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 mbabko 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.new­data.box.sk/ar­gon24MB.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/wordlis­ts/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/wordlis­ts/ 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.

BRAND24

1720

Kromě brute-force a slovníkového útoku lze často aplikovat také techniku využívající části otevřených (v tomto kontextu neheslovaných) dat. Příkladem uplatnění je rekonstrukce souborů v heslovaném archívu typu ZIP, RAR apod., kdy stačí mít jeden z heslem chráněných souborů uložen mimo archív – luštící program většinou nenalezne přímo heslo, ale pouze odpovídající šifrovací klíče. Jinými slovy, získáme chráněné soubory, nedozvíme se však, které heslo bylo původně použito.

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?

Byl pro vás článek přínosný?

Autor článku

Autor je zástupcem šéfredaktora časopisu Computer, živě se zajímá o svět Windows, Internetu a nejen síťové bezpečnosti.
Upozorníme vás na články, které by vám neměly uniknout (maximálně 2x týdně).