Ako sa prelamujú heslá?
K prelomeniu účtov dochádza len zriedka tak, ako to zobrazujú filmy. V praxi útočníci získavajú heslo jedným z troch spôsobov. Buď je prelomené: zistené skúšaním jedného kandidáta za druhým, zvyčajne oproti databáze hashov hesiel ukradnutej zo služby. Alebo je ukradnuté: zadané na podvodnej stránke či zachytené škodlivým softvérom. Alebo je opakovane použité: útočníci vezmú heslo z predchádzajúceho úniku a skúšajú ho v iných službách, pričom spoliehajú na to, že ho majiteľ použil aj tam. Na tomto rozdiele záleží, pretože proti každému z týchto spôsobov pomáha niečo iné. Tento článok rozoberá hlavné metódy a uvádza, čo proti každej z nich pomáha.
Opakovane použité heslá z únikov dát
Každý rok dochádza k útokom na rôzne služby a ich používateľské databázy končia na predaj alebo sú voľne šírené. Útočníci vezmú dvojice e-mailovej adresy a hesla z jedného úniku a automaticky ich skúšajú v bankách, e-mailových schránkach, e-shopoch a na sociálnych sieťach — tento typ útoku sa nazýva credential stuffing. Nevyžaduje žiadne hádanie a funguje z jednoduchého dôvodu: ľudia používajú rovnaké heslá opakovane. Ani silné heslo tu nepomôže, ak je všade rovnaké.
Čo pomáha: odlišné heslo pre každý účet, aby únik z jednej služby neotvoril prístup k ničomu inému.
Phishing
Phishingová stránka je kópia skutočnej prihlasovacej stránky na mierne odlišnej adrese, na ktorú sa dostanete cez odkaz v e-maile alebo naliehavo pôsobiacej správe: zablokovaný účet, balík, faktúra. Všetko, čo tam zadáte, putuje priamo útočníkovi. Dĺžka a náhodnosť hesla v tomto prípade nehrajú žiadnu rolu, pretože ho sami zadáte.
Čo pomáha: otvárajte stránky z vlastných záložiek, nie z odkazov. Používajte správcu hesiel: ponúkne vyplnenie hesla iba na tej adrese, pre ktorú bolo uložené, takže ak uložené heslo neponúkne, skontrolujte adresu skôr, než ho zadáte ručne. A zapnite si dvojfaktorové overenie, vďaka ktorému samotné ukradnuté heslo nestačí. Jednorazové kódy sa však dajú podvodne vylákať rovnako ako samotné heslo. Prístupové kľúče (passkeys) a bezpečnostné kľúče FIDO2 to neumožňujú, pretože reagujú iba na skutočnú stránku — tento rozdiel NIST označuje ako odolnosť proti phishingu.
Malvér
Programy známe ako infostealery kopírujú heslá uložené v prehliadači spolu s relačnými súbormi cookie a odošlú ich do niekoľkých sekúnd od spustenia, zatiaľ čo keyloggery zaznamenávajú stlačené klávesy. Ukradnutý relačný súbor cookie môže útočníkovi umožniť prístup do už prihláseného účtu bez znalosti hesla a bez druhého faktora. Tieto programy sa do zariadenia najčastejšie dostanú cez nelegálny softvér, falošné aktualizácie a prílohy e-mailov.
Čo pomáha: inštalovať softvér výlučne z oficiálnych zdrojov, udržiavať operačný systém aj prehliadač aktualizované a považovať každú neočakávanú prílohu za nebezpečnú — hoci nič z toho nie je zárukou. Ak bolo zariadenie infikované, konajte z iného zariadenia, o ktorom s istotou viete, že je čisté: zmeňte heslá, využite v každej službe možnosť odhlásiť všetky aktívne relácie a skontrolujte, či záchranný e-mail, telefónne číslo a nastavenia dvojfaktorového overenia stále patria vám. Infikované zariadenie vyčistite skôr, než sa na ňom znova prihlásite.
Hádanie v prihlasovacom formulári
Skúšanie hesiel priamo vo webovom formulári je pomalé: správne navrhnutá služba po niekoľkých neúspešných pokusoch zavedie oneskorenie, zablokuje prístup alebo zobrazí overenie captcha. Neustále útočenie na jeden účet je preto neefektívne, takže bežným postupom je presný opak: hŕstka najčastejších hesiel — 123456, password, qwerty123 — skúšaná proti miliónom rôznych účtov, čo sa označuje ako password spraying. Cielené hádanie funguje na rovnakom princípe s využitím osobných údajov: mená detí a domácich zvierat, dátumy narodenia, obľúbený športový tím, ktoré sa dajú ľahko nájsť na sociálnych sieťach.
Čo pomáha: akékoľvek heslo, ktoré nie je bežné ani zostavené z údajov o vás — pozrite si, ako vytvoriť silné heslo.
Prelamovanie ukradnutých hashov offline
Správne vytvorená služba neukladá heslá v čitateľnej podobe. Ukladá hashe — výsledok jednosmernej funkcie, z ktorej nie je možné heslo spätne vypočítať. Keď takáto databáza unikne, útočníci testujú možné heslá: na vlastnom hardvéri počítajú hashe kandidátov a porovnávajú výsledky. Žiadny prihlasovací formulár ich nespomaľuje a rýchlosť závisí od hashovacej funkcie, ktorú služba zvolila, a od jej konfigurácie. Pri rýchlych, zastaraných funkciách, ako je MD5, testuje jediná moderná grafická karta desiatky miliárd kandidátov za sekundu. Funkcie navrhnuté na ukladanie hesiel — Argon2id alebo v starších systémoch bcrypt — sú zámerne pomalé a znižujú túto rýchlosť o mnoho rádov, a preto ich uvádzajú aktuálne odporúčania.
Slovníkové útoky
Kandidátske heslá nie sú náhodné. Nástroje na lámanie hesiel začínajú so zoznamami skutočných hesiel z predchádzajúcich únikov a so slovníkmi slov a mien, na ktoré potom aplikujú pravidlá napodobňujúce ľudské návyky: veľké začiatočné písmeno, rok alebo výkričník na konci, písmeno nahradené podobným symbolom. Heslo ako Summer2024! pôsobí zložito, no patrí medzi prvé skúšané možnosti. Solenie (salting) — pridanie jedinečnej náhodnej hodnoty ku každému heslu pred vytvorením hashu — zabraňuje útočníkom používať predpočítané tabuľky, známe ako dúhové tabuľky (rainbow tables), a lámať všetky zhodné heslá naraz, no predvídateľné heslo nerobí o nič menej predvídateľným.
Útok hrubou silou
Keď sú slovníky vyčerpané, zostáva už len vyskúšať každú kombináciu, a pri náhodne vygenerovanom hesle rozhoduje o výsledku jeho dĺžka. Pre ilustráciu si vezmime rýchly hash a heslo, v ktorom je každý znak vybraný nezávisle a s rovnakou pravdepodobnosťou z 94 tlačiteľných znakov ASCII, s vylúčením medzery. Takýchto 8-znakových hesiel existuje približne 6 × 1015; pri rýchlosti desať miliárd pokusov za sekundu trvá vyskúšanie všetkých približne týždeň a v priemere sa správne heslo nájde za polovicu tohto času. Pri 12 znakoch by vyskúšanie všetkých možností na rovnakom hardvéri trvalo približne 1,5 milióna rokov a pri 16 znakoch sa už toto číslo vymyká akémukoľvek zmysluplnému porovnaniu. V tom spočíva celý argument pre dlhé náhodné heslá: slovníky sú proti nim málo užitočné a za týchto predpokladov nie je vyskúšanie všetkých kombinácií prakticky uskutočniteľné. Náš silný generátor hesiel ich vytvára priamo vo vašom prehliadači a pri každom z nich zobrazuje odhad entropie v bitoch.
Čo pomáha: dlhé heslo bez akýchkoľvek ľudských vzorcov, čo v praxi znamená vygenerované heslo. Spôsob, akým služba ukladá vaše heslo, nemáte pod kontrolou, preto počítajte s najhorším a zvoľte heslo, ktoré odolá hádaniu aj vtedy, ak je uložené pomocou rýchlej hashovacej funkcie.
Odpozorovanie a vypýtanie
Najstaršie metódy nepotrebujú žiadne technológie. Heslo je odpozorované ponad plece, prečítané z lístka na monitore alebo zo zdieľanej obrazovky počas videohovoru; prípadne si ho útočník jednoducho vypýta a vydáva sa za technickú podporu či kolegu — čo sa označuje ako sociálne inžinierstvo. Žiadna legitímna služba od vás nikdy nebude žiadať heslo cez telefón, e-mail ani čet.
Čo pomáha: nikdy nikomu heslo nehovoriť ani neposielať a nenechávať ho na miestach, kde ho môžu vidieť ostatní.
Zhrnutie
Rôznym typom útokov bránia rôzne návyky a tri z nich urobia väčšinu práce: jedinečné heslo pre každý účet, vygenerované namiesto vymysleného, doplnené o dvojfaktorové overenie — alebo prístupový kľúč (passkey) namiesto hesla všade tam, kde ho služba ponúka. Nepokrývajú úplne všetko — napríklad ukradnutú prihlásenú reláciu —, a preto sú dôležité aj vyššie uvedené odporúčania týkajúce sa malvéru. Ďalšie články sú zhromaždené v materiáloch o heslách.