Redaktor:FabianKmec/Útok hrubou silou (Brute-force attack)

z Wikipédie, slobodnej encyklopédie
Krakovacie zariadenie DES od Electronic Frontier Foundation v hodnote 250 000 USD obsahovalo viac ako 1 800 vlastných čipov a dokázalo brutálne vynútiť kľúč DES v priebehu niekoľkých dní. Na fotografii je doska plošných spojov DES Cracker vybavená 64 čipmi Deep Crack na oboch stranách.

V kryptografii útok hrubou silou pozostáva z toho, že útočník odošle veľa hesiel alebo prístupové frázy s nádejou, že nakoniec uhádne správne. Útočník systematicky kontroluje všetky možné heslá a prístupové frázy, kým nenájde to správne. Alternatívne sa môže útočník pokúsiť uhádnuť kľúč, ktorý je zvyčajne vytvorený z hesla, pomocou funkcie odvodenia kľúča . Toto je známe ako vyčerpávajúce vyhľadávanie kľúčov .

Útok hrubou silou je krypto-analytický útok, ktorý teoreticky môže byť použitý na pokus o dešifrovanie akýchkoľvek zašifrovaných údajov (okrem údajov šifrovaných informačno-teoretickým bezpečnostným spôsobom). [1] Takýto útok môže byť použitý, keď nie je možné využiť iné slabiny v šifrovacom systéme (ak nejaké existujú), ktoré by uľahčili úlohu.

Pri hádaní hesiel je táto metóda veľmi rýchla, keď sa používa na kontrolu krátkych hesiel, ale na dlhšie heslá sa používajú iné metódy, ako napríklad slovníkový útok, pretože vyhľadávanie hrubou silou trvá príliš dlho. Dlhšie heslá, prístupové frázy a kľúče majú viac možných hodnôt, takže ich prelomenie je exponenciálne ťažšie ako tie kratšie. [2]

Útoky hrubou silou môžu byť menej účinné zahmlievaním údajov, ktoré sa majú zakódovať, čo útočníkovi sťaží rozpoznanie, kedy bol kód prelomený, alebo tým, že útočníkovi prinúti vykonať viac práce pri testovaní každého odhadu. Jedným z meradiel sily šifrovacieho systému je, ako dlho by útočníkovi teoreticky trvalo sa cez neho prelomiť pomocou útoku hrubou silou.

Útoky hrubou silou sú aplikáciou hľadania hrubou silou, všeobecnou technikou riešenia problémov spočítaním všetkých kandidátov a skontrolovaním každého z nich. Slovo „udieranie kladivom“ sa niekedy používa na opis útoku hrubou silou [3], pričom ako protiopatrenia sa používa výraz „proti kladivu“. [4]

Základný koncept[upraviť | upraviť zdroj]

Útoky hrubou silou fungujú tak, že vypočítajú všetky možné kombinácie znakov, ktoré by mohli vytvoriť heslo, a otestujú, či je to správne heslo. So zvyšujúcou sa dĺžkou hesla sa v priemere exponenciálne zvyšuje čas potrebný na nájdenie správneho hesla. [5]

Teoretické limity[upraviť | upraviť zdroj]

Zdroje potrebné na útok hrubou silou rastú exponenciálne so zvyšujúcou sa veľkosťou kľúča, nie lineárne. Hoci exportné predpisy USA historicky obmedzovali dĺžky kľúčov na 56-bitové symetrické kľúče (napr. Data Encryption Standard ), tieto obmedzenia už nie sú zavedené, takže moderné symetrické algoritmy zvyčajne používajú výpočtovo silnejšie 128- až 256-bitové kľúče.

Existuje fyzický argument, že 128-bitový symetrický kľúč je výpočtovo bezpečný proti útoku hrubou silou. Landauerov limit vyplývajúci z fyzikálnych zákonov stanovuje spodnú hranicu energie potrebnej na výpočet kT * ln 2 na bit vymazané pri výpočte, kde T je teplota výpočtového zariadenia v kelvinoch, k je Boltzmannova konštanta a prirodzený logaritmus 2 ktorý je približne 0,693 (0,6931471805599453). Žiadne nevratné výpočtové zariadenie nemôže spotrebovať menej energie ako toto, ani principiálne. [6] Na jednoduché listovanie možnými hodnotami 128-bitového symetrického kľúča (ignorovaním skutočného výpočtu na jeho kontrolu) by teda teoreticky boli potrebné 2 128 − 1 bitové preklopenia na bežnom procesore. Ak sa predpokladá, že výpočet prebieha blízko izbovej teploty (≈300 K), možno použiť Von Neumannov-Landauerov limit na odhad potrebnej energie ako ≈10 18 joulov, čo zodpovedá spotrebe 30 gigawattov energie za jeden rok. To sa rovná 30× 109 W×365×24×3600 s = 9,46× 1017 J alebo 262,7 TWh (približne 0,1 % ročnej svetovej produkcie energie ). Úplný skutočný výpočet – kontrola každého kľúča, či sa našlo riešenie – by spotreboval mnohonásobok tejto sumy. Okrem toho toto je iba energetická spotreba pre listovanie cez kľúčový priestor; skutočný čas potrebný na prevrátenie každého bitu sa neberie do úvahy, ktorý je určite väčší ako 0 (pozri Bremermannov limit ).

Tento argument však predpokladá, že hodnoty registra sa menia pomocou konvenčných operácií zadávania a vymazávania, ktoré nevyhnutne generujú entropiu . Ukázalo sa, že výpočtový hardvér môže byť navrhnutý tak, aby sa s touto teoretickou prekážkou nestretol (pozri reverzibilné výpočty ), hoci nie je známe, či takýto hardvér bol niekedy skonštruovaný. 

Moderné GPU sú vhodné pre opakujúce sa úlohy spojené s hardvérovým lámaním hesiel

Keď sa nástupcovia vládnych riešení ASIC stali komerčne dostupnými, tiež známi ako vlastné hardvérové útoky, dve nové technológie preukázali svoju schopnosť pri útoku hrubou silou určitých šifier. Jednou z nich je moderná technológia grafických procesorov (GPU), [7]  druhou je technológia programovateľného hradlového poľa (FPGA). GPU benefitujú z ich širokej dostupnosti a pomeru ceny a výkonu, FPGA z ich energetickej účinnosti na kryptografickú operáciu. Obe technológie sa snažia preniesť výhody paralelného spracovania do útokov hrubou silou. V prípade GPU niekoľko stoviek a v prípade FPGA niekoľko tisíc procesorových jednotiek, vďaka čomu sú oveľa vhodnejšie na prelomenie hesiel ako bežné procesory. Rôzne publikácie v oblasti kryptografickej analýzy dokázali energetickú účinnosť dnešnej technológie FPGA, napríklad počítač COPACOBANA FPGA Cluster spotrebuje rovnakú energiu ako jeden počítač (600 W), ale funguje ako 2 500 počítačov pre určité algoritmy. Množstvo firiem poskytuje hardvérové riešenia kryptografickej analýzy FPGA od jednej FPGA PCI Express karty až po vyhradené FPGA počítače.  Šifrovanie WPA a WPA2 boli úspešne napadnuté hrubou silou znížením pracovného zaťaženia o faktor 50 v porovnaní s konvenčnými CPU [8] [9] a niekoľko stoviek v prípade FPGA.

Súbor:COPACOBANA FPGA BOARD.jpg
Jedna doska COPACOBANA, ktorá sa môže obsahuje 6 Xilinx Spartanmi – skupina pozostáva z 10 párov

Advanced Encryption Standard (AES) umožňuje použitie 256-bitových kľúča. Prelomenie symetrického 256-bitového kľúča hrubou silou vyžaduje 2 128 -krát väčší výpočtový výkon ako 128-bitový kľúč. Jeden z najrýchlejších superpočítačov v roku 2019, ktorý má rýchlosť 100 petaFLOPS, čo by teoreticky mohlo skontrolovať 100 miliónov (10 14 ) AES kľúčov za sekundu (za predpokladu 1 000 operácií počas jednej kontroly), ale stále by potrebovalo 3,67 × 10 55 rokov na vyčerpanie 256- bitový kľúčový priestor. [10]

Základným predpokladom útoku hrubou silou je, že na generovanie kľúčov sa použil celý kľúčový priestor, čo je niečo, čo sa spolieha na efektívnom generátore náhodných čísiel, a že v algoritme alebo jeho implementácii nie sú žiadne chyby. Napríklad niekoľko systémov, o ktorých sa pôvodne predpokladalo, že ich nemožno prelomiť hrubou silou, boli napriek tomu prelomené, pretože sa zistilo, že kľúčový priestor na prehľadávanie je oveľa menší, než sa pôvodne predpokladalo, a to z dôvodu nedostatku entropie v ich pseudonáhodnom generátoré čísiel . Medzi ne patrí implementácia SSL od Netscape (slávne prelomená Ianom Goldbergom a Davidom Wagnerom v roku 1995) a edícia OpenSSL, o ktorej sa v roku 2008 zistilo, že je chybná. [11] [12] Podobný nedostatok implementovanej entropie viedol k prelomeniu kódu menom Enigma. [13] [14]

Recyklácia poverení[upraviť | upraviť zdroj]

Recyklácia poverení sa týka hackerskej praxe opätovného použitia kombinácií používateľského mena a hesla zhromaždených pri predchádzajúcich útokoch hrubou silou. Špeciálnou formou recyklácie poverení je odovzdanie hashu, kde sa nesolené hashnuté poverenia ukradnú a znova použijú bez toho, aby boli najprv násilne vynútené.

Neprelomiteľné kódy[upraviť | upraviť zdroj]

Určité typy šifrovania vzhľadom na ich matematické vlastnosti nemožno poraziť hrubou silou. Príkladom toho je jednorazová bloková kryptografia, kde každý bit čistého textu má zodpovedajúci kľúč zo náhodnej sekvencie kľúčových bitov. Jednorazovo zakódovaný reťazec so 140 znakmi, ktorý by bol vystavený útoku hrubou silou, by nakoniec odhalil každý možný reťazec 140 znakov vrátane správnej odpovede – ale zo všetkých odpovedí by nebolo možné zistiť, ktorá bola správna. Poraziť takýto systém, ako to urobil projekt Venona, sa vo všeobecnosti nespolieha na čistú kryptografiu, ale na chyby v jeho implementácii: klávesnice nie sú skutočne náhodné, zachytené klávesnice, operátori robia chyby – alebo iné chyby. [15]

Protiopatrenia[upraviť | upraviť zdroj]

V prípade offline útoku, kedy útočník získal prístup k zašifrovanému materiálu, je možné vyskúšať kombinácie kľúčov bez rizika odhalenia alebo zásahu. V prípade online útokov môžu správcovia databáz a adresárov nasadiť protiopatrenia, ako je napríklad obmedzenie počtu pokusov o vyskúšanie hesla, zavedenie časového oneskorenia medzi po sebe nasledujúcimi pokusmi, zvýšenie zložitosti odpovede (napr. vyžadovanie odpovede CAPTCHA alebo použitie viac faktorovej autentifikácie ) a/alebo zablokovanie účtov po neúspešných pokusoch o prihlásenie. [16]  Správcovia webových stránok môžu zabrániť konkrétnej IP adrese, aby sa pokúsila o viac ako vopred stanovený počet pokusov o zadanie hesla proti akémukoľvek účtu na stránke. [17]

Reverzný útok hrubou silou[upraviť | upraviť zdroj]

Pri reverznom útoku hrubou silou sa testuje jedno (zvyčajne bežné) heslo proti viacerým užívateľským menám alebo šifrovaným súborom. [18] Proces sa môže opakovať pre niekoľko vybraných hesiel. Pri takejto stratégii sa útočník nezameriava na konkrétneho používateľa.

Referencie[upraviť | upraviť zdroj]