Hackeři používají k prolomení hesel různé metody a jednou z nich je útok pomocí duhové tabulky (rainbow table attack). V určitých případech může být tato metoda rychlejší než slovníkové útoky nebo credential stuffing.

V tomto článku prozkoumáme, jak fungují útoky pomocí rainbow tables a jak jim předcházet.

Definice útoku typu rainbow table

Útok typu rainbow table je kryptografický útok, který hackeři používají k narušení systémů tím, že zjišťují hesla z jejich hashů, které fungují jako digitální otisk prstu. Hashovací funkce mapuje každé heslo s odpovídajícím řetězcem znaků.

Na rozdíl od útoku hrubou silou, který zkouší všechna možná hesla jedno po druhém, útok typu rainbow table nevyžaduje hádání, jakmile je tabulka předem vypočítána. Tato předem vypočítaná tabulka (známá jako rainbow table kvůli tomu, jak vypadá, pokud je barevně odlišená) je v podstatě velká databáze dvojic hashovacích hodnot propojených s jejich protějšky v prostém textu.

Jak funguje útok na hesla typu rainbow table

1. Vytvoření seznamu hesel

Při vytváření rainbow tabulek se hackeři často zaměřují na nejpravděpodobnější a nejčastěji používaná hesla s jednoduchými vzory (například 123456, password nebo qwerty), slova ze slovníku nebo dumpy hesel získané při únicích informací.

2. Výběr hashovací funkce a převod hesel

Útoky typu rainbow table fungují dobře s jednoduššími a rychlejšími kryptografickými hashovacími funkcemi, jako jsou MD-5, SHA-1, LM Hash nebo NTLM Hash, protože nepoužívají bezpečnostní funkce, jako je salt (přidávání náhodných dat ke každému heslu před hashováním) nebo natahování klíče (opakované hashování hesla).

Heslo hašované pomocí MD-5Heslo v prostém textu
482c811da5d5b4bc6d497ffa98491e38password123

Každé heslo v prostém textu prochází hashovací funkcí, aby se vygeneroval jeho odpovídající hash, který má unikátní řetězec znaků s pevnou délkou, jako v příkladu výše. Jakmile jsou všechna hesla hašována, hacker je může použít k vytvoření rainbow tabulky.

3. Vytvoření rainbow tabulky pro odhalení hesel

Rainbow tabulku si lze představit jako velký list aplikace Excel, kde v prvním sloupci jsou hašovaná hesla a v druhém hesla v prostém textu. Pokud se v této tabulce nachází uniklý hash, znamená to, že uniklé heslo je v buňce vedle něj.

Příklady útoku typu rainbow table

Zde jsou dva hypotetické příklady ilustrující, jak by mohl probíhat útok typu rainbow table:

  • Hacker identifikuje web sociální sítě, který používá zastaralý hashovací algoritmus bez jakéhokoli saltu. Využitím chyby SQL injekce útočník extrahuje hashovací hodnoty uživatelských hesel z databáze webu. Poté použije předem vypočítanou rainbow tabulku k rychlému převedení tisíců těchto hashů zpět na hesla v prostém textu, čímž kompromituje uživatelské účty.
  • Během rutinního sledování sítě hacker zjistí, že web elektronického obchodu přenáší hashe hesel nezabezpečeně mezi svými servery, a použije nástroje pro sledování sítě k zachycení těchto dat. Protože nyní má přístup k hashům hesel, hacker použije útok typu rainbow table k dešifrování hesel zákazníků, čímž získá přístup k jejich nákupním účtům a osobním údajům.

Úniky informací způsobené útoky typu rainbow table

Útoky typu rainbow table byly v reálném světě použity ke krádeži milionů přihlašovacích údajů.

Například hack LinkedInu v roce 2012(nové okno) provedený ruskými kyberzločinci vedl ke krádeži téměř 6,5 milionu hesel uživatelských účtů, což způsobilo značný únik informací. Po prvotním zjištění našel LinkedIn v roce 2016 dalších 100 milionů kompromitovaných e-mailových adres a hesel souvisejících se stejným incidentem. Ukradená hesla byla špatně chráněna, chyběla u nich další bezpečnostní opatření, jako je salt, což útočníkům usnadnilo jejich dešifrování pomocí standardních rainbow tabulek.

Jak zabránit útokům typu rainbow table

Vybírejte platformy se silnými hashovacími funkcemi

Bezpečné hashovací funkce, jako jsou bcrypt(nové okno) nebo Argon2(nové okno), používají salt(nové okno) k přidání náhodných dat k vašemu heslu před vytvořením jeho hashe. Bez saltu se hash hesla v rainbow tabulce nezobrazí, takže by útok selhal.

Chcete-li zjistit, jaké hashovací funkce konkrétní služba nebo aplikace používá k ukládání hesel, podívejte se do jejích Zásad ochrany osobních údajů(nové okno), sekce FAQ, stránky podpory, bezpečnostních certifikací nebo auditů (pokud existují), technické dokumentace nebo vývojářských zdrojů(nové okno). Mělo by stačit jednoduché hledání na internetu, nebo můžete kontaktovat zákaznickou podporu a zeptat se.

Pokud provozujete vlastní weby nebo databáze, udržujte své nastavení zabezpečení aktualizované pomocí pluginů nebo modulů, které implementují silné hashovací algoritmy.

Používejte komplexní hesla

Místo používání snadno uhodnutelných hesel se rozhodněte pro bezpečná hesla vytvořená alespoň z 12 znaků, která obsahují velká a malá písmena, čísla a symboly. Příklady silných hesel jsou ?GmmM1Z[c5:F nebo beht=ty]P:)Gf^c?p?+7. Je nepravděpodobné, že by se kyberútočník zaměřil na tak složitá hesla pomocí útoků typu rainbow table.

Zapněte vícefaktorové ověření

Vícefaktorové ověření (MFA), jako je dvoufázové ověření (2FA), přidává k požadavku na heslo alespoň jednu další formu ověření, jako je kód ve vašem 2FA autentizátoru. Pokud útočník po útoku typu rainbow table úspěšně zjistí vaše heslo, nebude moci projít dalšími kroky ověření.

Navíc, pokud obdržíte neočekávaný požadavek na dodatečné ověření, je to jasné znamení, že se někdo snaží získat přístup k vašemu účtu. Můžete rychle reagovat změnou hesla.

Používejte e-mailové aliasy

E-mailové aliasy(nové okno) vás mohou chránit před úniky informací, které by mohly vést k útokům typu rainbow table, protože nejsou propojeny s vašimi primárními e-mailovými adresami. Svůj hlavní e-mail můžete například nadále používat pro důležité zprávy a finance, zatímco e-mailové aliasy si vyhradíte pro méně bezpečné aktivity, jako je registrace u nedůvěryhodných služeb. Pokud dojde k hacknutí vašeho e-mailového aliasu, můžete jej jednoduše deaktivovat.

Sledujte internet kvůli únikům informací

Díky tomu, že budete informováni o nejnovějších únicích informací, můžete zjistit, zda byly služby, které používáte, kompromitovány a zda došlo k úniku vašich dat. To vám umožní podniknout proaktivní kroky, jako je okamžitá změna hesel, aby hackeři nemohli využít potenciálně vystavená data k získání neoprávněného přístupu k vašim účtům.

Jak vám může pomoci Proton Pass

Proton Pass vás může chránit před útoky typu rainbow table tím, že generuje silná hesla(nové okno) a spravuje je na jednom místě. Podporuje také autentizátor TOTP (jednorázové heslo založené na čase) pro 2FA tokeny. Aplikace navíc nabízí hide-my-email aliasy, které zabraňují tomu, aby byla vaše primární e-mailová adresa online vystavena.

Všichni předplatitelé Proton Pass mohou používat Pass Monitor(nové okno) ke sledování stavu všech hesel a Sledování temného webu k vyhledávání úniků informací z různých zdrojů. Náš bezpečnostní model používá bezpečný hashovací algoritmus bcrypt, který vaše hesla před hashováním opatří saltem, aby se zastavily útoky typu rainbow table. Kromě toho provozujeme pokročilý bezpečnostní program nazvaný Proton Sentinel, který detekuje a zabraňuje útokům převzetí účtu.

Začněte zabezpečovat své účty před útoky typu rainbow table registrací k bezplatnému účtu Proton Pass ještě dnes.