TIP#1860: Co to znamená brute force v počítačové bezpečnosti? Co dictionary attack. Jak se prolamují hesla?

Brute force (hrubou silou) je většinou označení útoku na hesla. V té nejzákladnější podobě jde o postup. kdy se postupně zkoušejí všechna možná hesla, případně všechny možné kombinace. U čtyřmístného číselného PIN by to znamenalo vyzkoušet postupně vše od 0000 do 9999, tedy 10 000 kombinací. Při (teoreticky) jedné sekundě na číslo by šlo o deset tisíc sekund, tedy necelé tři hodiny. U šestimístného PIN to ale už je 277 hodin.

Brute force u nalezení hesla do systému je daleko náročnější – čím delší heslo je, tím déle by něco takového trvalo – pokud by heslo bylo desetimístné a jenom malá písmena, šlo by o sekvence aaaaaaaaaa, aaaaaaaab, aaaaaaaaac až zzzzzzzzzz.  Jenže u hesel byste museli začít u a, b, … z. Poté aa, ab, … az. Počet možných kombinací je značný, navíc musíte začít brát v úvahu malá/velká písmena, číslice, symboly, speciální znaky, české znaky.

Brute force útoky se automatizují. Nějaký program, skript, postupně zkouší všechny možné kombinace a dělá to tak rychle, jak je to jenom možné. Pro některé útoky není problém v tom, že to může trvat dny (až roky), u jiných to ale je pro útočníky komplikace.

Mrkněte například do 10 Most Popular Password Cracking Tools na přehled nejpoužívanějších pomůcek pro prolamování hesel.

Ochrana před brute force

Brute force se přihlašovací mechanismy většinou chrání tak, že povolují jen určitý počet špatných pokusů (SIM karta se například uzamkne po několika špatně zadaných PIN kódech) nebo se postupně prodlužuje interval mezi možnostmi zkusit další přihlášení.

Vedle uzamčení po určitém počtu špatných zadání či prodloužení intervalu mezi možnostmi zadání slouží k ochraně před brute force i tak obyčejná (a otravná) věc jako CAPTCHA. Ta totiž automatického zkoušení hesel dost komplikuje život, byť je ale nutné vědět, že pro řadu implementací CAPTCHA existují cesty jak ji také strojově vyplnit.

TIP:  Jaká jsou nejpoužívanější hesla a jak vůbec zacházet s hesly na Internetu?

Brute force je jeden z důvodů proč musíte všechny své účty chránit pomoci dvoufaktorového ověření. Pokud by se někomu podařilo získat vaše heslo, ať už pomocí brute force nebo jinak, bez druhého faktoru se do vašeho účtu nedostane. Hesla byste ale stále měli používat bezpečná – silná/složitá, náhodná a unikátní.

Dictionary attack

Pokročilé brute force nezkouší kombinace jednu po druhé, ale vychází z použití slovníků a takzvaného dictionary attack, tedy slovníkového útoku. Lidé hodně používají hesla z běžných slov (ačkoliv by měli používat náhodné kombinace čísel, písmen a symbolů) a je tak snazší (a rychlejší) vzít slovník a ten zkoušet. Lidé navíc často používají triviální stejná hesla, takže v použitém slovníku bývají na počátku právě takové (třeba 12345 či 123456).

V současnosti je běžné, že se pro brute force použije nikoliv slovník jako takový, ale kolekce hesel, které známé z úniků – jsou jich k dispozici miliony.

TIP: Co udělat, když se někomu podařilo získat moje heslo do nějaké online služby