Přispěvatel(é): KirstenS, Paul McMillan, Raesene, Adedov, Dinis.Cruz, JoE, Daniel Waller, kingthorin
Blokování útoku Hrubou Silou
společný škodlivý webové vývojáře tvář je heslo-hádání útok známý jako brute force útok.Útok hrubou silou je pokusem objevit heslo systematickým zkoušením všech možných kombinací písmen, čísel a symbolů, dokud nezjistíte jednu správnou kombinaci, která funguje.,Pokud váš web vyžaduje ověření uživatele, jste dobrým cílem pro útok hrubou silou.
útočník může vždy objevit heslo prostřednictvím útoku hrubou silou, ale nevýhodou je, že jeho nalezení může trvat roky.V závislosti na délce a složitosti hesla by mohly existovat biliony možných kombinací.
, Aby se věci urychlit trochu, brute-force útok mohl začít s slovníku slova nebo mírně upravená slova ze slovníku, protože většina lidí bude používat ty, spíše než zcela náhodné heslo., Tyto útoky se nazývají slovníkové útoky nebo hybridní útoky hrubou silou.Útoky hrubou silou ohrožují uživatelské účty a zaplavují vaše stránky zbytečným provozem.
Hackeři spustit brute-force útoky pomocí široce dostupných nástrojů, které využívají wordlists a chytrá pravidla inteligentně a automaticky hádat hesla uživatele. Přestože jsou takové útoky snadno detekovatelné, není tak snadné jim zabránit.
například mnoho nástrojů http brute-force může předávat požadavky prostřednictvím seznamu otevřených proxy serverů., Protože každý požadavek se zdá, že přijde z jiné IP adresy, nelze blokovat tyto útoky jednoduše tím, že blokuje IP adresu.To dále komplikuje věci, některé nástroje vyzkoušet různé uživatelské jméno a heslo na každý pokus, takže nelze uzamknout jeden účet pro neúspěšných pokusech o zadání hesla.
zamykání účtů
nejviditelnějším způsobem, jak blokovat útoky hrubou silou, je jednoduše uzamknout účty po definovaném počtu nesprávných pokusů o heslo.,Výluky účtu mohou trvat určitou dobu, například jednu hodinu,nebo účty mohou zůstat uzamčeny, dokud nebudou ručně odemčeny správcem.
Nicméně, uzamčení účtu není vždy nejlepší řešení, protože by někdo mohl snadno zneužít bezpečnostní opatření a zámek stovky uživatelských účtů.Ve skutečnosti, některé weby zkušenosti tolik útoků, že jsou schopni prosadit výluka politiky, protože by neustále být uvolnění klientských účtů.,
problémy s uzamčení účtu jsou:
- útočník může způsobit odmítnutí služby (DoS) zamykání z velkého počtu účtů.
- protože nemůžete zamknout účet, který neexistuje, zamknou se pouze platné názvy účtů. Útočník by mohl tuto skutečnost použít k získání uživatelských jmen z webu v závislosti na chybových odpovědích.
- útočník může způsobit odklon tím, že uzamkne mnoho účtů a zaplaví help desk pomocí volání podpory.,
- útočník může neustále uzamknout stejný účet, a to i několik sekund poté, co jej Správce odemkne a efektivně deaktivuje účet.
- výluka účtu je neúčinná proti pomalým útokům, které každou hodinu vyzkouší pouze několik hesel.
- blokování účtu je neúčinné proti útokům, které vyzkouší jedno heslo proti velkému seznamu uživatelských jmen.
- výluka účtu je neúčinná,pokud útočník používá seznam combo uživatelského jména / hesla a při prvních několika pokusech správně hádá.,
- výkonné účty, jako jsou účty správce, často obcházejí zásady blokování, ale jedná se o nejžádanější účty k útoku. Některé systémy uzamknou administrátorské účty pouze při přihlašování v síti.
- i po uzamčení účtu může útok pokračovat a spotřebovávat cenné lidské a počítačové zdroje.
výluka účtu je někdy účinná, ale pouze v kontrolovaných prostředích nebo v případech, kdy je riziko tak velké, že i nepřetržité útoky DoS jsou vhodnější než kompromis.,Ve většině případů je však výluka účtu nedostatečná pro zastavení útoků hrubou silou.
zvažte například aukční web, na kterém několik zájemců bojuje o stejnou položku.Pokud aukce Webové stránky vykonáno uzamčení účtu, jeden uchazeč mohl jednoduše uzamknout ostatní účty v poslední minutě aukce, které jim brání předložení vítězné nabídky.Útočník by mohl použít stejnou techniku k blokování kritických finančních transakcí, nebo e-mailové komunikace.,
soubory cookie zařízení
můžete také zvážit uzamčení pokusů o ověření ze známých i neznámých prohlížečů nebo zařízení samostatně.Článek zpomalte online hádání útoků pomocí souborů cookie zařízení navrhuje protokol pro mechanismus uzamčení na základě informací o tom, zda byl konkrétní prohlížeč již použit pro úspěšné přihlášení.Protokol je méně náchylný k útokům DoS než prostý blokování účtu a přesto efektivní a snadno implementovatelný.,
nalezení dalších protiopatření
jak je popsáno, výluky účtu obvykle nejsou praktickým řešením, ale existují další triky, jak se vypořádat s útoky hrubou silou.Za prvé, protože úspěch útoku závisí na čase, snadným řešením je injektovat náhodné pauzy při kontrole hesla.Přidání i několik sekund pauzy může výrazně zpomalit útok hrubou silou, ale nebude obtěžovat většinu legitimních uživatelů, když se přihlásí ke svým účtům.,
Všimněte si, že i když přidání zpoždění může zpomalit útok s jedním závitem, je méně účinné, pokud útočník odešle více simultánních požadavků na autentizaci.
Dalším řešením je zablokovat IP adresu s více neúspěšných přihlášení.Problém s tímto řešením je, že byste mohli neúmyslně blokovat velké skupiny uživatelů blokováním proxy serveru používaného ISP nebo velkou společností.Dalším problémem je, že mnoho nástrojů využít proxy seznamy a odeslat pouze pár požadavků z každé IP adresy před přechodem na další.,
pomocí široce dostupných otevřených seznamů proxy mohl útočník snadno obejít jakýkoli mechanismus blokování IP.Protože většina míst není blok po jen jeden neúspěšný pokus hesla, útočník může použít dva nebo tři pokusy za proxy.Útočník s seznam 1000 proxy může pokus 2 000 nebo 3 000 hesel, aniž by byl blokován.
navzdory slabostem této metody se webové stránky, které zažívají vysoký počet útoků (zejména webové stránky pro dospělé), rozhodnou blokovat IP adresy proxy.,
jedním jednoduchým, ale překvapivě účinným řešením je navrhnout, aby vaše webové stránky nepoužívaly předvídatelné chování pro neúspěšná hesla.Například, většina Webových stránek se vrátit „HTTP 401 chyba“ kód s heslem selhání, i když některé webové stránky namísto návratu „HTTP 200 ÚSPĚCH“ kód, ale nasměrovat uživatele na stránku s vysvětlením neúspěšný pokus hesla.To oklamá některé automatizované systémy, ale je také snadné je obejít.
lepším řešením může být změna chování natolik, aby nakonec odradila všechny kromě nejoddanějších hackerů.,Můžete například použít různé chybové zprávy pokaždé nebo někdy nechat uživatele projít na stránku a poté je znovu vyzvat k zadání hesla.
Některé automatizované brute-force nástroje umožňují útočníkovi nastavit určité spouštěcí řetězce, podívat se na to znamenat neúspěšný pokus hesla.Například, pokud výsledná stránka obsahuje frázi „Špatné uživatelské jméno nebo heslo“ nástroj by vědět, pověření nepodařilo a bych zkusit další v seznamu.,Jednoduchý způsob, jak oklamat tyto nástroje, je zahrnout také tyto fráze jako komentáře do HTML zdroje stránky, kterou získají, když se úspěšně ověřují.
po jednom nebo dvou neúspěšných pokusech o přihlášení můžete uživatele vyzvat nejen k zadání uživatelského jména a hesla, ale také k zodpovězení tajné otázky.To nejen způsobuje problémy s automatizovanými útoky, ale zabraňuje útočníkovi získat přístup, i když se dostanou uživatelské jméno a heslo správné.,
také byste mohli detekovat vysoký počet útoků v celém systému a za těchto podmínek vyzvat všechny uživatele k odpovědi na jejich tajné otázky.
Další techniky, které možná budete chtít zvážit, jsou:
- Pro pokročilé uživatele, kteří chtějí chránit své účty z útoku, dát jim možnost povolit přihlášení pouze z určitých IP adres.
- přiřaďte blokům uživatelů jedinečné přihlašovací adresy URL, aby ne všichni uživatelé měli přístup k webu ze stejné adresy URL.,
- použijte a, abyste zabránili automatizovaným útokům
- namísto úplného zablokování účtu jej umístěte do režimu uzamčení s omezenými možnostmi.
Útočníci mohou často obejít mnoho z tyto techniky samy o sobě, ale tím, že kombinuje několik technik, můžete výrazně omezit brute-force útoky.To může být obtížné zastavit útočník, který je odhodlán získat heslo, konkrétně z vašeho webu, ale tyto techniky jistě může být účinná proti mnoha útokům, včetně těch, od začínající hackery.,Tyto techniky také vyžadují více práce na straně útočníka, což vám dává větší příležitost odhalit útok a možná dokonce identifikovat útočníka.
i když brute-force útoky jsou obtížné zastavit úplně, jsou snadno rozpoznat, protože každý neúspěšný pokus o přihlášení záznamy HTTP stavový kód 401 v protokolech Webového serveru.Je důležité sledovat vaše záznamy k brute-force útoky – zejména promísené 200 statuscodes to znamená, že útočník našel platné heslo.,moduly s odkazem URL někdo mail nebo IRC klienta
útoky Hrubou silou jsou překvapivě obtížné zastavit úplně, ale s pečlivé design a více protiopatření, můžete omezit vaše expozice na tyto útoky.,
Nakonec, jediný, nejlepší obranou je, aby se ujistil, že uživatelé dodržovat základní pravidla pro silná hesla: používat dlouhé nepředvídatelná hesla, vyhnout se slova ze slovníku, vyvarujte se opakovaného použití hesla a změna hesla pravidelně.
zcela automatické veřejné Turingův test počítače a lidi od sebe, nebo je program, který umožňuje rozlišit mezi lidmi a počítači.První široce používán Alta Vista, aby se zabránilo automatizované vyhledávání podání, s jsou zvláště účinné při zastavení jakýkoliv druh automatizovaného zneužívání, včetně útoků hrubou silou.,
fungují tak, že představují nějaký test, který je pro člověka snadný, ale pro počítače obtížný; proto mohou s jistotou dospět k závěru, zda je na druhém konci člověk.
aby byli lidé efektivní, musí být schopni správně odpovědět na test co nejblíže 100 procentům času.Počítače musí selhat co nejblíže 100 procentům času.Vědci z Carnegie Mellon School of Computer Science neustále pracují na zlepšení a zavedení nových s.,
pokud vyvíjíte své vlastní, mějte na paměti, že to není tak těžké, na čem záleží-je pravděpodobné, že počítač dostane správnou odpověď.Jednou jsem viděl, že poskytuje uživateli s obrázkem tři zebry, s více-výběr otázka, kolik zebry byli v obraze.Odpovědět na otázku, klepněte na jedno ze tří tlačítek.
přestože by bylo pro počítačový program velmi obtížné pochopit otázku a interpretovat obrázek, program by mohl náhodně uhodnout jakoukoli odpověď a opravit ji třetinu času., I když se to může zdát jako uspokojivá úroveň rizika, není to v žádném případě efektivní .Pokud spustíte bezplatnou e-mailovou službu a použijete takovou službu, abyste zabránili spammerům v hromadném vytváření účtů, stačí napsat skript, který automaticky vytvoří účty 1,000 a v průměru očekává, že 333 z těchto pokusů bude úspěšné.
nicméně jednoduchý může být stále účinný proti útokům hrubou silou.,Když zkombinujete šance, že útočník posílá správné uživatelské jméno a heslo asi se šance na hádat správně, v kombinaci s jinými postupy popsané v této kapitole, i jednoduché může ukázat jako účinná.
Obrázek 1: Heslo: Ověření Zpoždění: C#
Obrázek 2: Ověření Hesla Zpoždění: VB.NET
Public Sub AuthenticateRequest(ByVal obj As Object, ByVal ea As System.EventArgs) Dim objApp As HttpApplication Dim objContext As HttpContext Dim ran As Random objApp = obj objContext = objApp.Context ' If user identity is not blank, pause for a random amount of time If objApp.User.Identity.Name <> "" Then ran = New Random Thread.Sleep(ran.Next(ran.Next(minSeconds, maxSeconds) * 1000)) End IfEnd Sub