Brute force útoky (útoky hrubou silou) jsou jednou z nejběžnější formou útoku, s kterou se vývojář musí poprat. Pokud používáte běžný redakční systém prakticky neuplyne den, aby jej nějaký robot nevyzkoušel.
Jak Brute force útok funguje
Princip brute force útoku je jednoduchý. Robot zkouší najít heslo k administrátorskému účtu zadáváním různých kombinací anebo pomocí seznamu oblíbených hesel (slovníkový útok). Teoreticky je jen otázkou času, než útočník heslo najde, protože časem všechny kombinace vyzkouší.
Složitost hesel
Proto také provozovatelé webů požadují po uživatelích složitá hesla, která obsahují kombinaci velkých a malých písmen, čísel a někdy i speciálních znaků. Pokud je heslo dostatečně dlouhé a obsahuje velké množství znaků, tak je počet kombinací natolik velký, že útočník nemá šanci jej v reálné době odhalit.
Na druhou stranu, uživatelé si rádi hesla zjednodušují a tak výsledkem může být třeba Heslo123. Ačkoliv má heslo 8 znaků, velká i malá písmena a čísla k tomu (teoreticky 238 miliard kombinací), už na první pohled není bezpečné. Slovníkový útok jej odhalí celkem rychle.
Pokud si chcete vytvořit nějaký skript na testování síly uživatelských hesel zkuste tyto seznamy:
https://github.com/danielmiessler/SecLists/tree/master/Passwords
Podobné seznamy používají i roboti, takže jestli je někdo z vašich uživatelů používá měli byste mu vygenerovat nové.
Reverse brute force
U webů, kde je velké množství uživatelů, se útočníkům vyplatí spíše vyzkoušet takzvaný reverse brute force (obrácený brute force). Ten vezme nejpoužívanější hesla a zkouší jej u všech uživatelských účtů. Úspěšnost bývá vyšší, protože vždy se najde někdo, kdo používá jednoduché heslo.
Zde je však důležité, aby měl útočník přístup k login uživatelů. Nejčastěji se k nim dostane, když je tento údaj veřejný anebo jako součást parametrů v URL. Pečlivé skrytí login uživatele, tak může tento druh útoku značně znesnadnit.
Ačkoliv se zde nabízí možnost nahradit login za email, tak je třeba brát v potaz, že právě emailové adresy jsou často snadno dohledatelné.
Jak se před brute force útoky chránit
Mezi základní metody obrany je zablokování možnosti přihlášení po určitém množství špatně zadaných hesel. Většina webových aplikací má limit 3 anebo 5 pokusů o přihlášení za určité časové období (15, 30, 60 minut). Toto číslo je však obecně považováno za nedostatečné. Třeba oblíbený bezpečnostní plugin do WordPress – WordFence po zkušenostech zvýšil počet pokusů na 20.
Důležitější než počet pokusů o přihlášení je, co se bude dít poté se zablokovaným účtem. Pokud jsou pod uživatelským účtem velmi citlivá data, volí se metoda, že účet musí být odblokován administrátorem. Dalšími možnostmi je zablokování na určitou dobu (hodina až dny) s možností odblokovat administrátorem anebo přes autorizaci (email, SMS).
Nevýhodou blokování účtu je, že pokud jsou známé loginy, může někdo úmyslně zablokovat účty více lidem. Občas se to podaří i zmatenému robotovi.
Proti tomuto se používá metoda oddalování možnosti přihlásit se. Ten kdo zadal třeba 3x špatné heslo to může zkusit za 5 minut. Do té doby mu je odmítnout přístup k formuláři (identifikovat jej můžete přes cookie anebo IP). Pokud zadá znovu 3x špatně heslo, může být doba prodloužena o 15 minut, pak 60 minut atd. Samozřejmě to chce začít zobrazovat Captcha, protože se může jednat o nějaký automatický nástroj.
Tento článek byl byl přečten 2847 krát