CANON_112024 CANON_112024 CANON_112024

Lámanie hesiel grafickým jadrom v praxi

Archív NXT
0

Používanie hesiel je spočítačmi úzko späté. Či už ide o prihlasovanie do webových služieb, sociálnych sietí, alebo elektronickej pošty, heslá používame prakticky denne. Kým niekto dáva prednosť komplikovaným spletiam znakov, ktoré zamieňa na každej službe, iní ľudia si neobozretne „vystačia“ sjedným heslom vždy avšade.

Faktom je, že aj pod veľmi jednoduchými heslami sa neraz skrývajú veľké tajomstvá, pričom ich odhalenie by nejednému človeku mohlo poriadne skomplikovať život. Pochopiteľne, ľudia heslá nepoužívajú len na webových službách. Bežné je napríklad zaheslovanie súborov, ktoré chceme ochrániť pre cudzími očami, pričom ide napríklad odokumenty Microsoft Office, súbory PDF či zmiešaný obsah najrôznejšieho druhu, zabalený do archívu RAR. Neraz sa, žiaľ, stáva, že tieto dokumenty nezaheslujeme len pred cudzími ľuďmi, ale časom aj sami pred sebou. Zabudnúť použité heslo totiž nie je nič nezvyčajné avprípade, že ide odôležitý dokument, by sme za odomknutie niekedy zniesli aj modré zneba. Možno bude pre mnohých ľudí prekvapením, že jedným znajväčších spojencov pri riešení tohto problému môže byť grafická karta.

Ak sa niekedy ocitnete vsituácii, pri ktorej vám chýba dôležité prístupové heslo do nejakej služby alebo dokumentu, je ľahké podľahnúť frustrácii ústiacej až dopaniky. Obzvlášť nepríjemné to môže byť napríklad vtedy, keď si neviete spomenúť na heslo od textového alebo tabuľkového dokumentu, vktorom sa skrývajú desiatky hodín vašej usilovnej práce. Strata hesla môže mať množstvo príčin abolo by naivné domnievať sa, že všetok „útočný“ softvér určený na odhalenie hesla slúži len ľuďom, ktorí pomocou neho odomykajú cudzie dokumenty. Nie je náhoda, že mnohé programy tohto typu majú vo svojom názve Password recovery, teda obnova alebo záchrana hesla. Asi nikoho neprekvapí, že najčastejší dôvod straty hesla je priamo jeho zabudnutie. Je jedno, či ide ostarého alebo mladého človeka, každému skrátka občas vypadnú zhlavy aj dôležité veci. Obyčajne sa to stáva priheslách, ktoré denne nepoužívate, pričom nebezpečná situácia ztohto hľadiska nastáva vtedy, keď súbor zaheslujete unikátnym heslom, ktoré ste práve vymysleli, apotom ho niekoľko mesiacov nepotrebujete. Niekedy si heslo nezapamätáte zdôvodu, že ho máte niekde bezpečne uložené na disku, no odrazu softvér alebo rovno celý hardvér vypovie službu. Ďalej sa môže stať, že súbor zahesluje neznámy spolupracovník, prípadne preberiete dokumenty od osoby, ktorá už nie je medzi nami. Príčin na násilné prelamovanie hesla je skrátka mnoho.

Zložitosť hesiel a typy útokov

Ak stratíte, respektíve zabudnete heslo od nejakého dôležitého súboru, zrejme vám napadne, že situácia je oto horšia, čím komplikovanejšie je dané heslo. Nemusí to však byť úplná pravda. Zložitosť hesla je len jeden zfaktorov, ktoré prichádzajú pri zaheslovaných súboroch do úvahy, pričom vmnohých prípadoch sú oveľa dôležitejšie iné prvky. Pokiaľ ste sa už vzdali všetkých nádejí na to, že by ste si na heslo spomenuli, prípadne našli niekoho, kto by si ho stále pamätal, prvá vec, na ktorej záleží, je to, ako je zabezpečovací mechanizmus implementovaný. Vnajlepšom prípade pre vás (a v najhoršom prípade z hľadiska bezpečnosti) pôjde o súbor či program, pri ktorom možno bezpečnostný mechanizmus obísť alebo ho úplne vyradiť zčinnosti. Takáto situácia sa dá dobre prirovnať kdverám, ktoré majú veľmi silné asofistikované zámky, ale stačí sa o ne trochu oprieť plecom azlomia sa pánty. Typický príklad je prihlasovacie heslo do používateľských účtov operačných systémov Microsoft Windows. Nech je prihlasovacie heslo akékoľvek silné akomplikované, len blázon by sa ho pokúšal niekoľko hodín či dní prelomiť slovníkom či hrubou silou. S vhodnými nástrojmi totiž za pár sekúnd možno otvoriť databázu SAM aheslo znej odstrániť. Situáciu môžeme ilustrovať takto: Predstavte si mechanizmus, ktorý pri spustení kontroluje hodnotu nejakej položky snázvom heslo=[____]. Ak je hodnota položky prázdna, heslo nie je nastavené aprogram sa spustí bez obmedzení. No ak má položka nejakú hodnotu, napríklad heslo=[klokan], program vyžaduje, aby používateľ toto heslo zadal, inak sa nespustí. Hodnota hesla je, samozrejme, nejakým spôsobom zašifrovaná, takže podoba položky by mohla byť napríklad vtvare heslo=[778745649b3c14c5c6c2649824dd7bc3]. Ak sa dá dostať dovnútra tohto mechanizmu, je, samozrejme, úplne zbytočné snažiť sa prísť na to, oaké zašifrované heslo ide, pretože stačí položku zmeniť na heslo=[____] asituácia je vybavená. Hodnotu hesla ste pritom nezistili, ale to je zvyčajne nepodstatné, pretože dôležitý je výsledok,teda sprístupnenie programu.

Pokiaľ bezpečnostný mechanizmus vašich zaheslovaných súborov obsahuje takúto slabinu, môžete heslo odstrániť obyčajne do pár sekúnd. Je pritom úplne jedno, či ide osmiešne jednoduché heslo 123 alebo zložité vpodobe cbkhg7ú%2ž?tv. Medzi tieto prípady patrí jeden zmechanizmov súborov vo formáte PDF. Konkrétne ide oreštrikčný mechanizmus, ktorý vám zabraňuje sdokumentom pracovať napríklad tak, že neumožní kopírovanie textu alebo jeho tlač. Vtomto prípade netreba heslo prelamovať apostačí ho jednoducho odstrániť. Použiť na to môžete vhodné nástroje zadarmo, ako napríklad PDF Password Remover alebo ešte lepšie rovno on-line službu www.freemypdf.com (súbory do 150 MB). Súbor jednoducho uploadujete aaplikácia vám okamžite vráti odomknutú verziu. Okrem toho však formát PDF umožňuje aj nastavenie hesla na otvorenie súboru, apokiaľ ide otento prípad, jednoduché prelomenie nie je možné,heslo treba skutočne aktívne hľadať, kčomu sa ešte dostaneme. Obdobný prípad nastáva aj pri dokumentoch Microsoft Office, teda napríklad dokumentoch Wordu vpodobe DOCX alebo Excelu vpodobe XLSX. Ak sú pre tieto dokumenty nastavené vnútorné reštrikcie napríklad zhľadiska tlače, kopírovania či úprav, možno ich odstrániť aj bez znalosti hesla. Podobne ako vprípade PDF aj tu môžeme použiť špecializované nástroje alebo to priamo vykonať ručne. Postačí kópiu dokumentu premenovať zMeno.docx na Meno.zip, rozbaliť ju klasickým komprimačným programom ako 7ZIP či WinRAR avpriečinku word nájsť súbor settings.xml. Vtomto súbore treba odstrániť element XML začínajúci sa w:documentprotection (vrátane < and >), súbor uložiť a spoločne sostatnými komponentmi zabaliť naspäť do ZIP apremenovať na DOCX. No ak je súbor Office zaheslovaný ako celok, jednoduché odstránenie hesla nie je možné.

Catalyst.png

Vyťaženie GPU jadra Radeon na 95 % počas prelamovania hesla


Vprípade, že všetky jednoduché cesty na odheslovanie súborov zlyhajú, je čas na skutočný lov hesla vpravom zmysle slova. Ide pri tom oaktívne hľadanie hesla tak, že sa skúšajú úplne všetky tvary alebo aspoň jeho najpravdepodobnejšie podoby. Tieto dve najzákladnejšie metódy sa nazývajú slovníkový útok (dictionary attack) aútok hrubou silou (brute force attack). Slovníkový útok je špecifická forma hľadania hesla, pri ktorej sa skúšajú pravdepodobné varianty. Využíva sa pri tom fakt, že drvivá väčšina ľudí si zvyčajne volí heslá, ktoré sú slovom, pretože sa ľahko pamätajú. Obvykle ide oslová, ktoré človeku skrátka napadnú pri prvotnom vymýšľaní, ako napríklad raketa, toto, jablko, tiger apodobne. Zvyčajneslová majú do siedmich znakov amnoho ľudí má pri ich vymyslení pocit, že sú neštandardné, najmä ak vyjadrujú menej bežné veci, ako napríklad slovo kaskadér či C-3PO (robot zfilmu Hviezdne vojny). Pravda je, že sa dajú veľmi ľahko uhádnuť, pretože sme si ztohto hľadiska všetci veľmi podobní. Ak používate takéto heslá, vprípade útoku na vlastné dokumenty to, samozrejme, hrá vo váš prospech. Pri útoku sa používa rozsiahly zoznam slov, nazývaný jednoducho slovník, v ktorom nájdete nielen bežné „slovníkové“ slová (najmä názvy zvierat abežných predmetov), ale aj známe názvy filmov, mená fiktívnych postáv, obvyklé textové hračky typu ah0j, kron1ka, h4rmonika či často používané vzory typu 123456, qwertz a qaywsx, ktoré vyjadrujú nejaký tvar na klávesnici. Pri útoku vnašich podmienkach je ideálne použitie slovenského slovníka srozšírením obežné anglické výrazy. Na druhej strane účinnosť slovníkov sa dá veľmi ľahko zlikvidovať menej štandardným rozšírením inak bežných hesiel, ako napríklad „bratislava+1“ alebo „koliesko?“, čo sa však používa menej často.

Pokiaľ slovníkový útok neprinesie úspech alebo ste si od začiatku istí, že by nikam neviedol, možno podniknúť útok hrubou silou. Nie je to nič iné ako vyskúšanie všetkých možných kombinácií. To však zhľadiska počtu nie je nič triviálne. Pokiaľ vynecháme špecifické písmená sdiakritikou, základná latinka pozostáva z26 znakov. Ide teda o26 možností jednopísmenového hesla. Ak heslo pozostáva ztroch znakov, možných kombinácií je 263, teda 17576. Zadávať toľko hesiel ručne by bola riadna fuška, ale pre počítač je vyskúšanie toľkých kombinácií úplná hračka. Každé ďalšie písmeno zdvihne počet kombinácií orád vyššie, takže počet štvormiestnych hesiel je 456976 (264) apäťmiestnych 11881376 (265). Zniekoľko tisíc hesiel sme sa dostali skokom na milióny. Lenže čo ak heslo neobsahuje len malé písmená, ale aj veľké? Razom by sme museli hľadať nie 26 písmen, ale 52. Ďalších 10 musíme pridať, ak heslo obsahuje čísla. Pri päťmiestnych heslách by to teda bolo už 916 miliónov kombinácií (625). Je teda jasné, že čím lepšie heslo ste si pre dokument zvolili, tým horšia je vaša situácia, ak ste ho zabudli. Vtejto súvislosti však stojí za to spomenúť, že obvyklá poučka „heslá, ktoré sa ľahko zapamätávajú, sa útočníkom hádajú ľahko“ nie je úplne presná. Mnoho ľudí si napríklad myslí, že náhodné heslo typu kRcX8b je bezpečné. Nie je to však pravda. Obsahuje len tri súbory znakov ašesť pozícií, čo je 56 miliárd kombinácií. Pri jeho tvare je však veľká pravdepodobnosť, že ho zabudnete. Naproti tomu heslá vpodobe „ako by ich jedna mater mala“ alebo „nad tatrou sa blyska“ sú na zapamätanie úplne triviálne apritom aj pri písaní iba malými písmenami bez diakritiky amedzier majú jeden kvadrilión (číslo s24 nulami), respektíve 13 kvintiliónov (30 núl) kombinácií, čo sú ohromné čísla. Vidieť teda, že podstatne lepšia ochrana je dĺžka hesla, nie jeho nezapamätateľná komplexnosť. Stačí teda skombinovať aspoň tri slová aheslo je mimoriadne bezpečné (ak nepozostáva zvášho mena či frázy „moje heslo“). Ľudia však zvyčajne dlhé heslá nepoužívajú buď pre lenivosť (ich písanie trvá dlhšie), alebo preto, že sa bojaomylu pri písaní (heslo totiž pri písaní na obrazovke nevidia). Zhľadiska prelamovania hesla hrubou silou je dĺžka hesla esenciálny faktor, ktorý vašu snahu môže ľahko poslať do roviny fantázie. Na druhej strane veľmi záleží aj na tom, ako rýchlo dokážete heslá skúšať. Atu práve prichádza na rad grafická karta.

PC.jpeg

Poľovať na heslá sa dá aj vo veľkom, napríklad ôsmimi kartami AMD Radeon 7970

Prečo práve grafická karta?

Bežná zásada pri kryptografii je, že sa chráni šifrovací kľúč, nie mechanizmus. Aj keď teda viete, akým spôsobom sa dáta šifrujú, amáte prístup aj kzašifrovanému výsledku, pokiaľ šifrovací mechanizmus neobsahuje skrytú chybu, nedokážete pôvodné heslo zrekonštruovať. Často sa používajú rôzne komplexné šifrovacie princípy založené na tzv. jednocestných funkciách. Ide omatematické operácie, ktoré sú triviálne alebo veľmi jednoduché vjednom smere, ale veľmi ťažké vopačnom smere. Ako príklad sa dá použiť násobenie adelenie. Je veľmi ľahké znásobiť dve, hoci aj veľmi vysoké čísla, no rozklad výsledku na činitele (faktorizácia) je omnoho komplikovanejší. Väčšina šifrovacích mechanizmov funguje tak, že pri zadávaní hesla sa použije nejaký druh kryptografickej hašovacej funkcie, na základe ktorej sa heslo prevedie do novej hodnoty. Táto hodnota sa následne uloží vrámci programu alebo súboru aslúži ako porovnávacia hodnota na prístup. Keď používateľ vbudúcnosti otvára program alebo súbor, zadá heslo znovu. Bezpečnostný mechanizmus vypočíta jeho hodnotu aporovná ju stou, ktorú má uloženú. Ak proces hašovacej funkcie neobsahuje významnú chybu, nedá sa na základe výsledku odvodiť pôvodné heslo. Vprípade, že ho chceme prelomiť, musíme použiť rovnaký proces. Na začiatku teda heslo „tipujeme“, vypočítame rovnakou hašovacou funkciou jeho hodnotu aporovnáme ju stou, ktorá je uložená. Ak sa haš nezhoduje, heslo bolo nesprávne. To, čo vlastne špecializovaný program na prelamovanie hesla robí, je teoreticky veľmi jednoduché. Prečíta si výsledok zo zaheslovaného súboru anásledne sa ho snaží dosiahnuť vlastnými prostriedkami hádaním hesiel apočítaním ich hašov.

CPU-GPU.png

Jednoduché porovnanie základných rozdielov medzi CPU a GPU

Aby sme mali šancu heslo odhaliť vrozumnom čase, potrebujeme tieto výpočty robiť čo najrýchlejšie. Ak nejaký procesor počíta pri plnom výkone napríklad 200 hašov za sekundu, zatiaľ čo výkonnejší ich zvládne vypočítať 400, je jasné, ktorý si natúto úlohu vyberieme. Výhodu však nemusí spôsobiť len vyššia frekvencia či výkonnejšie jadrá. Predstavte si napríklad štvorjadrový procesor vpodobe tímu štyroch robotníkov, pričom každý znich dokáže za 10 minút naložiť náklad 10 vriec. Usporiadajú súťaž s tímominých štyroch robotníkov, ktorí sú oniečo silnejší akaždý dokáže naložiť 12 vriec za 10 minút. Je jasné, že súťaž vyhrá druhý tím. No čo ak príde tretí tím, ktorý nemá veľmi silných robotníkov. Každý zvládne naložiť napríklad len 2 vrecia za 10 minút, ale rozdiel je v tom, že tento tím má tisíce robotníkov. Tento príklad vzásade ilustruje rozdiel medzi procesorom agrafickou kartou. Na obrázku si môžete pozrieť schematický nákres ich architektúry. Vo všeobecnosti pozostáva GPU zrovnakých elementárnych prvkov ako procesor, ale už na prvý pohľad vidíme obrovský rozdiel. Všimnite si aritmeticko-logické jednotky (ALU), označené zelenou farbou.


Ide o digitálne obvody, ktoré vykonávajú všetky aritmetické a logické operácie, pričom vprípade GPU, kde sa označujú aj ako stream alebo thread procesory, im patrí oveľa väčšia časť čipu. Kontrolná jednotka, označená žltou farbou, plní funkciu akéhosi manažéra, ktorý obsluhuje vykonávanie jednotlivých funkcií aukladanie výsledkov. Ide oradič, ktorý zároveň pristupuje do pamäte, pričom tie najčastejšie používané dáta si ukladá vmalej rýchlej vyrovnávacej pamäti (cache). Zatiaľ čo CPU je komplexný auniverzálny čip, schopný vykonávať zložité operácie najrôznejšieho zamerania, GPU funguje ako špecializovaný hardvér na vysokovýkonnú prácu jedného typu (nedisponuje napríklad logikou na predvídanie inštrukcií apodobne). Vo výsledku tak GPU neposkytuje ani zďaleka takú funkčnosť ako CPU, ale vpráci, na ktorú je určené, je veľmi rýchle. Renderovanie grafiky si vyžaduje intenzívny a vysoko paralelný výpočet, pričom pri špecifických úlohách herného priemyslu je potrebné, aby tranzistory čipu GPU boli určené hlavne na „surové“ aneprestajné spracovanie veľkého množstva podobných dát. Táto schopnosť sa však hodí nielen na výpočet grafickej scény, ale aj na úlohy súvisiace skryptografiou. Keďže GPU dokáže spustiť rovnaký program pre každý dátový element paralelne, môže dosiahnuť oveľa vyššiu aritmetickú intenzitu. Poďme sa teda pozrieť na to, ako lámanie hesiel grafickým jadrom prebieha vpraxi.

Lámeme heslo grafickou kartou

Aj napriek tomu, že použitie GPU na iné ako grafické účely nie je žiadna novinka, zhľadiska softvéru nie je situácia ružová. Je síce pravda, že za posledné roky sme sa dočkali mnohých implementácií, ako je napríklad akcelerovanie prehrávaného HD videa, zrýchľovanie kompresie prostredníctvom videokodekov či použitie vinternetových prehliadačoch, stále je však pokrytý len zlomok skutočného potenciálu. Zhľadiska prelamovania hesiel je implementácia podpory grafického jadra „nadštandard“ aprogramov, ktoré to dokážu, je stále ako šafranu. Obzvlášť ak hľadáte medzi tými, ktoré vás finančne nezruinujú. Medzi najlepšie voľby vmnohých prípadoch patrí softvér, ktorý nemá grafické rozhranie, aak vám práca vpríkazovom riadku Windows príliš nevonia alebo vnej nie ste dosť zbehlí, môže vám ich používanie spôsobovať problémy. Zvyčajne však nejde onič prehnane zložité. Všetky programy, ktoré včlánku spomenieme, nájdete na virtuálnom DVD REVUE.

Medzi základné operácie, pri ktorých sa dajú veľmi pekne demonštrovať možnosti grafických kariet, patrí prelamovanie hesla vytvoreného kryptografickou hašovacou funkciou MD5 (Message-Digest Algorithm). Aj napriek tomu, že použitie MD5 sa už zhľadiska bezpečnosti neodporúča, stále ho môžeme nájsť implementované vmnohých projektoch. MD5 používa hašovaciu funkciu produkujúcu 128-bitovú hodnotu. Ide o32-miestne hexadecimálne číslo, takže napríklad heslo traktor bude mať podobu 0143e02ff2099a2af0ab227d7a4988ab. Ak heslo vMD5 nemáte achcete si prelamovanie vyskúšať, môžete si ho vygenerovať vjednom zmnohých on-line generátorov (postačí do internetového vyhľadávača zadať MD5 generator). Na hľadanie hesla sme použili program IGHASHGPU, ktorý funguje na kartách AMD Radeon aj NVIDIA GeForce. Vprípade, že máte kartu GeForce, môžete vyskúšať aj programy CUDA Multiforcer a Cryptohaze Multiforcer. Všetky tri programy sú zadarmo, ale bez grafického rozhrania. Pokiaľ vám skúsenosť stakýmito programami chýba, rozbaľte archív programu IGHASHGPU na pracovnú plochu do priečinka ighash anásledne do integrovaného vyhľadávania Windows napíšte cmd.exe. Na vyhľadaný súbor kliknite pravým tlačidlom azvoľte Spustiť ako správca. Zobrazí sa konzola systému Windows, pričom skočí na adresu vášho používateľského účtu (C:\Users\Meno účtu). Zadajte príkaz: cd desktop/ighash anásledne program spustite príkazom ighashgpu.exe. Vypíše sa zoznam dostupných príkazov. Vzáklade sme použili ighashgpu -t:md5 -max:7 heslo.txt, kde príkaz –t nastavil typ použitého hašu a -max zas maximálnu dĺžku hľadaného hesla. Heslo.txt je súbor umiestnený vpriečinku programu, vktorom sme mali heslo vložené. Keďže generovanie hašu MD5 je mimoriadne jednoduché, dali sa pri hádaní hesiel očakávať astronomické čísla. Atak to skutočne aj bolo. Už na pomerne obstarožnej karte ATI Radeon 4670 sme dosiahli takmer 530 miliónov kombinácií za sekundu. Pri sedemmiestnom hesle sme teda o niečo viac ako 8 miliárd možných kombinácií základnej abecedy prehľadali za 16 sekúnd. Vprípade osemmiestneho hesla s200 miliardami kombinácií teda postačí na prehľadanie 6 minút. Ak je heslo ešte väčšie, je vhodnejšie sa presunúť na trochu výkonnejšiu grafickú kartu. Dnes bežný AMD Radeon 7770 dokáže počítať dva apol miliardy hašov za sekundu. To znamená, že aj 9-miestne heslo zvyčajne prelomí za menej ako pol hodiny. Snajvýkonnejšími grafickými kartami sa pritom možno dostať aj na 8 miliárd hesiel za sekundu. Počítanie hašov MD5 pre grafické karty rozhodne nie je žiadna výzva. Trojicou uvedených programov však možno počítať aj heslá vytvorené bezpečnejším ana výpočet komplikovanejším algoritmom SHA-1. Haš SHA-1 má hodnotu 160 bitov, pričom vzhľadom na vyššiu komplexnosť musí rýchlosť skúšaných hesiel značne klesnúť. Vprípade starého Radeonu 4770 sme dosiahli 152 miliónov hesiel za sekundu. Aktuálne bežné herné karty sú schopné dosahovať 600 aviac miliónov hesiel za sekundu amomentálny high-end sa vyšplhá na 1,5 miliardy.

Crark.png

Používanie konzolového programu cRARk na prelomenie hesla súboru RAR

Zastronomických výšok však budeme musieť spadnúť dolu, pretože vďalšom teste sa pozrieme na zúbok zaheslovanému archívu RAR. Aj keď vzáklade jeho šifrovací mechanizmus vychádza zSHA-1, používa dôležité bezpečnostné úpravy, ktoré proces výpočtu robia vporovnaní spredchádzajúcim „čistým“ riešením extrémne náročným. Základom je metóda nazývaná „solenie“. Zjednodušene povedané, ide opostup, pri ktorom sa zahašovaný výsledok zašifruje ďalším hašom. Najprv sa teda vypočíta hodnota hašu vášho hesla (v podobe 8cb972de07f252a72246b999ff94c19af2baa883), následne haš nejakého ďalšieho tvaru, oktorom neviete, aoba sa spoja do jedného. Vprípade RAR-u sa výsledný haš skladá zhesla + soli + ďalších troch bajtov na zvýšenie komplexnosti. Výpočet každej generácie hesla tak pozostáva zo vzorca (dĺžka hesla × 2 + 11) × 4096 + 17. To je pri štvormiestnom hesle 77841 (!) opakovaní vkaždej generácii. Zmiliónov hesiel za sekundu tak klesneme na niekoľko tisíc. Nie je to pritom zdôvodu, že by karta zrazu počítala pomalšie, ale preto, že musí pri výpočte jedného hesla vykonať oveľa viac operácií. Pozrime sa teda na to, aké boli čísla vskutočnosti. Na test sme použili dva programy.


Prvý bol program cRARk, ktorý je kdispozícii zadarmo, pričom aj vjeho prípade sa budete musieť uspokojiť spríkazovým riadkom. Podporuje však výpočet kartami GeForce aj Radeon. So základnou hráčskou kartou súčasnosti AMD Radeon 7770 sme dosiahli rýchlosť 8748 hesiel za sekundu. To znamená, že znakový priestor štvorciferných hesiel základnej abecedy zvládneme prejsťtouto kartou za 56 sekúnd. Vprípade šesťmiestnych hesiel už potrebujeme takmer 10 hodín apriestor osemmiestnych hesiel preberieme za 276 dní, teda za dobu, ktorá už nepripadá do úvahy. Pravdepodobnosť, že trafíme až na posledný pokus, je rovnaká ako tá, že trafíme na prvý, takže vrealite môžete očakávať zhruba polovičný čas potrebný na skutočné prelomenie. Pokiaľ disponujete grafickým high-endom, môžete ešte počítať stretinovým časom vo všetkých prípadoch, teda strojnásobným zrýchlením. Čas môžete skracovať ďalej aj tak, že do počítača osadíte dve či tri výkonné grafické karty (asi 78732 hesiel/s). Okrem programu cRARk sme vyskúšali aj komerčnú aplikáciu Accent RAR Password Recovery. Jej veľká výhoda oproti cRARku j v tom, že disponuje grafickým rozhraním. Ak teda prácu spríkazovým riadkom nezvládate, môže to byť pre vás pravé riešenie. Podporuje grafické karty oboch hlavných výrobcov, pričom zároveň disponuje aj vlastným slovníkom, sktorým možno podniknúť slovníkový útok. Na druhej strane za použitie programu už zatrasiete peňaženkou. Za štandardnú licenciu na jedno GPU zaplatíte 46 EUR, za verziu pre dve grafické jadrá 77 EUR, apokiaľ chcete použiť viac ako dve grafické karty súčasne, treba si už pripraviť 154 EUR. Na virtuálnom DVD REVUE nájdete skúšobnú verziu, ktorá poslúži na test rýchlosti akompatibility. Proces hľadania hesla sa na nej dokončí, zobrazia sa však zneho iba prvé dva znaky. Zhľadiska rýchlosti nás program pri svojej cene sklamal. SRadeonom 7770 sme dosiahli rýchlosť 6600 hesiel za sekundu, čo je o viac ako 2000 hesiel menej než pri cRARku. Každopádne je to však oveľa viac ako vprípade bežných procesorov, sktorými sa obyčajne dostanete len na niekoľko stoviek hesiel za sekundu.

AccentRAR.png

Accent RAR Password Recovery disponuje na rozdiel od cRARku aj grafickým rozhraním, je však oniečo pomalší

Vďalšom teste sme vyskúšali heslá založené na šifrovacom mechanizme SHA-1 vschéme PBKDF2. Túto schému používajú napríklad súbory OpenOffice, zálohy Apple iPod aaj WPA handshaky zabezpečenej Wi-Fi. Výpočet jej generácie je podstatne jednoduchší ako vprípade RAR-u, pričom prebieha podľa vzorca (4096 × 2 + 2) × 2, čo sa rovná 16388 variáciám pri jednej generácii. Je pritom jedno, aké dlhé je heslo. Vo výsledku by teda výpočet hesiel mal byť zhruba päťnásobne rýchlejší ako vprípade RAR-u. Na test sme použili komerčný program Accent OFFICE Password Recovery (pre OpenOffice) a IG’s Password Recovery Suite (pre WPA), ktorý je na osobné použitie zadarmo. Oba sú zdielne rovnakého autora, pričom vprvom prípade treba za štandardnú licenciu na jedno GPU zaplatiť 92 EUR aza verziu pre dve aviac grafických kariet 154, respektíve 269 EUR. Vprípade druhého programu, pochopiteľne, neplatíte nič, ale autor platnosť licencie nastavil len do decembra minulého roka anovú verziu odvtedy nevydal. Program teda spustíte, iba ak si dočasne zmeníte systémový čas. Alternatívou pre WPA je komerčný program Elcomsoft Wireless Security Auditor, za ktorý už musíte zaplatiť až 300 EUR. Vpraktickom teste sa potvrdili naše pôvodné predpoklady avýpočet sa zrýchlil približne päťnásobne. SRadeonom 7770 sme dosahovali priemernú rýchlosť okolo 45000 hesiel za sekundu. Prehľadanie všetkých možností šesťmiestneho hesla sním teda trvá necelé dve hodiny (základná malá latinka), čo sa tá skrátiť na tretinu času použitímhighendovej karty.

Ako posledný test sme zvolili prelamovanie hesiel dokumentov Microsoft Offfice. Zhľadiska zložitosti výpočtu sa pohybujú niekde medzi RAR-om aOpenOffice, a teda môžeme očakávať rýchlosti niekde vtýchto hladinách. Aj vtomto prípade sme použili komerčnú aplikáciu Accent OFFICE Password Recovery, ktorej demoverziu nájdete na DVD REVUE. Program možno zakúpiť aj v špecializovanej verzii pre Microsoft Word alebo pre Microsoft Excel, voboch prípadoch za 31 EUR. Na Radeone 7770 sme dosiahli pri prelamovaní hesla súboru XLSX 15000 porovnaní za sekundu, teda zruba dvojnásobok toho, čo vprípade RAR-u. V prípade použitia highendovej grafickej karty z„tábora“ AMD teda možno dosiahnuť počty okolo 45 000 hesiel/s. Nejde pritom oslepé preferovanie jedného výrobcu. Pri prelamovaní hesiel si jednoducho vo väčšine prípadov počínajú omnoho lepšie karty AMD Radeon, ktorých architektúra je na tento účel vhodnejšia. Na porovnanie, napríklad karta typu GeForce GTX670 dosahuje pri MD5 rýchlosti približne 1,7 miliardy hesiel za sekundu, pri jednoduchom SHA-1okolo 409 miliónov a pri dokumentoch Microsoft Office približne10 000 hesiel za sekundu. Tieto čísla sa dajú dosiahnuť so značne lacnejšou kartou konkurencie (napríklad vnašom prípade použitím Radeonu 7770).

WPA.png

Hľadanie hesla vautentifikačnom WPA handshaku zabezpečenej siete Wi-Fi

Vyhodnotenie

Včlánku sme opísali základné názvoslovie aprincípy, sktorými sa možno stretnúť pri prelamovaní hesiel. Moderné grafické karty predstavujú vporovnaní sprocesorom obrovskú výpočtovú silu, ktorá vniektorých prípadoch dokáže chrliť miliardy hesiel za sekundu. Vpraktických testoch sme však ukázali, že ak je šifrovací mechanizmus dostatočne komplexný aheslo dlhé aspoň osem znakov, ani výkonné grafické karty ho nedokážu útokom hrubou silou rozlúštiť vprimeranom čase. Prelomenie sa dá, samozrejme, vmnohých prípadoch skrátiť útokom svhodným slovníkom hesiel. Ľudia obyčajne volia ako heslá len jedno bežné slovo, a ak sa nachádza vútočníkovom slovníku, neochráni ho ani veľká dĺžka. Zhľadiska útoku hrubou silou, naopak, možno ťažiť zfaktu, že drvivá väčšina osôb píše heslá malými písmenami, bez špeciálnych znakov adiakritiky (čo je zvláštne uSlovákov, ktorí často dajú prednosť heslu kolovratok namiesto kolovrátok). Vprípade, že to sprelamovaním myslíte skutočne vážne, dá sa zájsť aj do „vyššej ligy“, kde budetena heslá poľovať viacerými kartami zároveň. Na obrázku si môžete všimnúť jeden zpiatich serverov zprelamovacieho klastra PCHPC, ktorý pozostáva z 25 highendových GPU Radeon. Pri obnovovaní hesiel vám prajeme veľa šťastia. Nie je totiž nezvyčajné, že dokument, ku ktorému zabudneme heslo, býva poriadne dôležitý.

Pridať komentár

Mohlo by vás zaujímať

Mohlo by vás zaujímať