Prolomení hesla
Author
Albert FloresProlomení hesla je v kryptoanalýze a obecně v počítačové bezpečnosti proces spočívající v získávání hesla resp. hesel z dat, která byla buďto již uložena na datové médium nebo jsou přenášena pomocí nějakého počítačového systému. Jeden z nejběžnějších přístupů je opakované zkoušení resp. odhadnutí hesla. Dalším běžným přístupem je předstírat, že jste heslo zapomněli a následně jej pak změnit.
Možný cíl pro prolomení hesla může být využití toho, že je uživateli poskytována služba v podobě možnosti obnovit zapomenuté heslo (i když instalace zcela nového hesla je malé bezpečnostní riziko, tak zahrnuje oprávnění pro správu systému), což vede k získání neoprávněného přístupu k systému, nebo jako preventivní opatření od administrátora kontrolovat snadno odhalitelná hesla.
Čas potřebný k odhalení hesla
Doba potřebná na prolomení hesla souvisí se sílou hesla - s jeho délkou v bitech, která je mírou entropie (bezpečnosti) hesla. Většina metod sloužící k prolomení hesla vyžadují počítač schopný vyprodukovat mnoho možných tvarů hesel, které by měly být nejpravděpodobnější. +more Jedním z příkladů je útok hrubou silou, ve kterém počítač zkouší "všechny" možné tvary klíče resp. hesla, dokud se mu nepodaří heslo uhodnout. Více běžná metoda prolomení hesla, je například slovníkový útok, kdy hesla nejsou vytvářena náhodně, ale využívá se zkoušení jednotlivých frází, což vede ke snížení počtu potřebných pokusů k prolomení hesla a obecně bude obvykle potřeba méně pokusů na prolomení než u metody útoku hrubou silou. Se zvyšováním břitovosti hesla resp. délky se zvyšuje exponenciálně počet možných hesel, která musí útočník vyzkoušet což snižuje pravděpodobnost, že heslo bude nalezeno během "procházení" slovníku.
Schopnost prolomit heslo pomocí počítačových programů lze také vyjádřit číselnou funkce závislou na počtu možných hesel za sekundu, které lze vyzkoušet. Pokud hash cílového hesla je útočníkovi k dispozici, tato funkce roste. +more Pokud tomu tak není, daný poměr závisí na tom, zda je zavedená nějaký autentizační limit v daném softwaru, který říká, jak často se člověk může pokusit o zadání hesla, a to buďto časovým zpožděním, využitím tzv. CAPTCHA, nebo zavedením nucené výluky po nějakém počtu neúspěšných pokusů. Jiná situace, kdy rychlá hádání možná jsou je, pokud je na heslo použit šifrovací klíč. V takových případech může útočník rychle zjistit, zda uhodl heslo, pokud úspěšně dekóduje šifrovaná data. Například, jeden komerční produkt tvrdí, že otestuje 103. 000 WPA PSK hesel za sekundu.
Jednotlivé stolní počítače mohou vyzkoušet více než sto milionů hesel za sekundu použitím různých metod k prolomení hesla, které budou spuštěny na běžném CPU, jak ho známe. Ale pokud spustíme tyto metody na speciálním GPU procesoru, můžeme vyzkoušet miliardy hesel za sekundu. +more POdívej se také na: John the Ripper. Uživatelem vytvořené osmimístné heslo s čísly mixovanými znaky a symboly dosáhne podle NIST odhadem na tzv. 30bitovou sílu. Což znamená 2 30 a to odpovídá pouhé miliardě možných kombinací a tím pádem bude trvat v průměru 16 minut prolomení takového hesla. Když jsou běžné domácí počítače sestrojeny přímo pro účely prolomení hesla, jako například může být spojení s botnet, jsou jeho schopnosti v prolomení hesla podstatně větší. V roce 2002, distributed. net úspěšně po čtyřech letech úsilí nalezl 64bitový RC5 kód, který vytvářel ve snaze zahrnout více než 300. 000 různých počítačů v různých dobách, které by generovaly v průměru více než 12 miliónů klíčů za sekundu. Grafický procesor můžeme zrychlit pro účely prolomení hesla tak, že násobky od padesáti do sta provedeme nad obyčejným počítačem. Od roku 2011, jsou k dispozici komerční produkty, které tvrdí, že jsou schopny otestovat až 2 800 000 000 hesel za sekundu na standardním stolním počítači pomocí high-end grafického procesoru. Takové zařízení může "kreknout" 10znakové heslo, které je tvořena pouze obyčejnými znaky během jednoho dne. Nesmíme zapomenout, že práce může být rozdělena na mnoho počítačů pro ještě větší zrychlení, což je úměrné počtu dostupných počítačů s GPU.
Přes jejich schopnosti Desktopové počítače jsou pomalejší v prolamování hesel než přímo určený stroj na zjišťování hesel. V roce 1998, Electronic Frontier Foundation (EFF) postavily speciální stroj na "krakování" hesel pomocí FPGA, který byl naprosto jiné než počítač pro všeobecné účely. +more Jejich stroj, Deep Crack, prolomil 56bitový DES klíč v rozmezí 56 hodin a samotné testování se rovnalo více než 90 miliónům klíčů za sekundu. V roce 2010, Georgia Tech Research Institute vyvinul metodu, která používala GPGPU na prolomení hesel a přišli s tím, že minimální délka bezpečného hesla je 12 znaků.
Snadno zapamatovat, těžko uhodnout
Heslo, které je snadno zapamatovatelné, je obecně velmi snadné pro útočníka uhodnout. Hesla, která jsou obtížně zapamatovatelné sníží paradoxně bezpečnost systému, protože (a) uživatel má většinou potřebovat zapsat si heslo na papír nebo elektronicky uložit na disk, (b) navíc uživatelé využívají často možnosti obnovení hesla a (c) navíc existují uživatelé u níž je velká pravděpodobnosti, že znovu použijí stejné heslo. +more Podobně, ale s přísnějšími pravidly, to platí pro tzv. silná hesla, jako např. heslo s použitím jak malých tak velkých písmen a číslic nebo hesla, která pravidelně měníme, větší míra pro ty uživatele poškozující systém.
V "The Memorability and Security of Passwords", Jeff Yan et al. zkoumá efekt doporučení daných uživatelům a správné volbě hesla. +more Zjistil, že hesla založená na vymyšlené frázi, vezmeme-li první písmena každého slova dané fráze, jsou stejně nezapomenutelná jako náhodně vybraná hesla a je stejně těžké je prolomit jako náhodně vygenerovaná hesla. Kombinace dvou nezávislých slov je další dobrý způsob, jak vytvořit dobré heslo. Další dobrý způsob je mít osobně navržený "algoritmus" pro generování náhodných hesel. Mezi nejnovější vylepšení, je upozorňování co nejvíce lidí na změnu hesla tak, aby bylo bezpečné.
Nicméně, žádat uživatele, aby si pamatovat heslo skládající se z "kombinace velkých a malých znaků" je podobný, jako žádat, aby si pamatoval posloupnost bitů. Jde o to, že jednak je těžké si heslo zapamatovat, a jen o trochu těžší jej pro útočníka prolomit (např. +more pouze 128krát je těžší prolomit 7znakové heslo, než heslo, které uživatel vytvoří jen pomocí jednoho znaku). Žádat uživatele, aby používali při tvorbě hesla "písmena i číslice" bude vést k snadno odhadnutelným tvarům jako "E" → '3 'a' I'→ '1', což útočníci dobře vědí. Podobně zadání hesla pomocí jednoho řádku na klávesnici, kdy napíšeme znaky, jak jdou za sebou je velmi útočníkům známa metoda.