Prolomení hesla

Prolomení 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ší. 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. 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.[1]

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.[2][3][4] POdívej se také na: John the Ripper.[5] 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.[6] 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.[7] 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.[8] 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. 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.[9] 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ů.[10][11][12]

Snadno zapamatovat, těžko uhodnout

Heslo, které je snadno zapamatovatelné, je obecně velmi snadné pro útočníka uhodnout.[13] 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. 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.[14]

V "The Memorability and Security of Passwords",[15] Jeff Yan et al. zkoumá efekt doporučení daných uživatelům a správné volbě hesla. 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ř. 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.

Reference

V tomto článku byl použit překlad textu z článku Password cracking na anglické Wikipedii.

  1. Elcomsoft Wireless Security Auditor, HD5970 GPU , přístupné 2.11.2011
  2. oclHashcat-lite – advanced password recovery. Hashcat.net. Retrieved on 2013-01-31.
  3. Alexander, Steven. (June 20, 2012) The Bug Charmer: How long should passwords be?. Bugcharmer.blogspot.com. Retrieved on 2013-01-31.
  4. Cryptohaze Blog: 154 Billion NTLM/sec on 10 hashes. Blog.cryptohaze.com (2012-07-15). Retrieved on 2013-01-31.
  5. John the Ripper benchmarks. openwall.info (2010-03-30). Retrieved on 2013-01-31.
  6. Electronic Authentication Guideline [online]. NIST [cit. 2008-03-27]. Dostupné online. (anglicky) 
  7. 64-bit key project status [online]. Distributed.net [cit. 2008-03-27]. Dostupné v archivu pořízeném dne 2013-09-10. (anglicky) 
  8. ElcomSoft Password Recovery Speed table, NTLM passwords, Nvidia Tesla S1070 GPU, accessed 2011-2-1
  9. EFF DES Cracker machine brings honesty to crypto debate [online]. EFF [cit. 2008-03-27]. Dostupné v archivu pořízeném dne 2010-01-01. (anglicky) 
  10. Teraflop Troubles: The Power of Graphics Processing Units May Threaten the World's Password Security System [online]. Georgia Tech Research Institute [cit. 2010-11-07]. Dostupné online. (anglicky) 
  11. Want to deter hackers? Make your password longer. www.msnbc.msn.com. MSNBC, 2010-08-19. Dostupné online [cit. 2010-11-07]. (anglicky) 
  12. WALTERS, Dave. The Rise of The Programmable GPU – And The Death Of The Modern Password. techdrawl.com. Techdrawl, September 2, 2010. Dostupné v archivu pořízeném z originálu. (anglicky) 
  13. VANCE, Ashlee. If Your Password Is 123456, Just Make It HackMe. The New York Times. January 20, 2010. Dostupné online. (anglicky) 
  14. Managing Network Security. Fred Cohen & Associates. All.net. Retrieved on 2013-01-31.
  15. YAN, J.; BLACKWELL, A.; ANDERSON, R.; GRANT, A. Password Memorability and Security: Empirical Results. IEEE Security & Privacy Magazine. 2004, s. 25. Dostupné v archivu pořízeném dne 2012-04-14. DOI 10.1109/MSP.2004.81. (anglicky)  Archivovaná kopie. homepages.cs.ncl.ac.uk [online]. [cit. 2013-02-07]. Dostupné v archivu pořízeném z originálu dne 2012-04-14.