Ďakujem všetkým mudrlantom, ktorí učia ľudí, že Cdlk3#@$%&_D<? je dobré heslo. Nedeľník TOUCHIT vážne i nevážne. Nezviazané IT témy na tisíc spôsobov.

Som si istý, že počas svojho života ste už čítali nekonečný zástup článkov, ktoré sa venovali bezpečným heslám. Tento však bude trochu odlišný. Bude sa totiž čertiť nad tým, ako od nás rôzne internetové služby vyžadujú heslá, skrývajúce sa za hlúpe a zbytočné pravidlá a o tom, ako si ich admini zakrývajú oči pred realitou.

Zahoďme teraz to nekonečné opakovanie klasických viet o bezpečnosti. Faktom je to, že drvivá väčšina ľudí tieto pravidlá nikdy nedodržuje a aj keď sa všetci rozkrájame, nikdy to nebude inak.

To však vonkoncom nie je najsmutnejší fakt. Problém pekne vyjadruje táto fotografia.

Nedelnik15-0_nowat

Tento problém sa nazýva v angličtine jednoducho desire line alebo desire path, teda v preklade niečo ako chcená cesta. Ide o prirodzenú konfrontáciu reality a architekta (či inej zodpovednej osoby), ktorý si neuvedomí, že ľudia sa nepohybujú ako roboti z roku 1980. Pravdaže, architekt si nie vždy môže vybrať a občas ho skrátka okolnosti k daným riešením donútia.

Veľmi podobná situácia v mnohých ohľadoch nastáva aj v súvislosti s heslami. Administrátori webových služieb prirodzene chcú, aby si používatelia vyberali bezpečné heslá. Skúste sa na chvíľku vžiť do role takéhoto správcu. Čo urobíte, ak chcete rýchlo a jednoducho zvýšiť bezpečnosť hesiel, ktoré ľudia používajú? No to je predsa jasné. Donútite ich zvýšiť komplexnosť.

Je to predsa klasika. Chcem znemožniť alebo aspoň sťažiť slovníkové útoky a útoky hrubou silou, takže namiesto malých písmen, ktoré ľudia používajú najčastejšie, im nakážem, aby heslo obsahovalo aspoň jedno veľkého písmeno alebo číslo. Ba čo je lepšie, donútim ich, aby bezpodmienečne obsahovalo obe veci naraz.

Tak, hotovo. To som s nimi vybabral. Bezpečnosť zvýšená.

Avšak podobne ako v prípade chcených ciest, ktoré pribúdajú na trávniku, aj tu sa ľudia vyberú tou najschodnejšou a jej jedno, že ste ju pôvodne nezamýšľali.

Nedelnik15-0b_nowat

Ak niekto používa časté heslo robot a nejaká služba ho donúti použiť v hesle veľké písmeno a číslo, jednoducho použije Robot1 a ak si nejaký admin myslí, že ľudia použijú niečo iné, tak sa asi včera zrazil s koňom.

Bohužiaľ, prístup, že veľké písmeno a číslo v hesle extrémne zvyšuje bezpečnosť a následné zakrývanie očí pred bežným správaním ľudí, je nesmierne rozšírený jav. Vidíme ho obvykle dokonca zavedený aj do mechanizmov na posúdenie hesla.

Mnohé stránky vám pri registrácii heslo posudzujú, pričom vás upozorňujú na to či je slabé alebo silné. Použitý algoritmus je často triviálny a jednoducho testuje donekonečna omieľané mantry s veľkým písmenom, číslom a špeciálnym znakom. Heslo zložené z malých písmen je zákonite nebezpečné a heslo ktoré splňuje tri uvedené príznaky je super bezpečné a treba potľapkať používateľa po ramene za to, že si zvolil nejakú dementnú spleť písmen, ktorú zajtra zabudne.

Viete čo je obvykle na registračných mechanizmoch vyžadujúcich tieto prvky najhoršie? To, že v ľuďoch vyvolávajú zlé návyky. Jedným z najvplyvnejších faktorov, ktoré ovplyvňujú komplexnosť hesla, je jeho dĺžka (za predpokladu, že sa znaky neopakujú a netvoria postupnosť).

Ak donútite ľudí použiť v hesle číslo, drvivá väčšina použije jednotku na konci

Najlepším možným heslom pre človeka je obvykle nepriama sekvencia slov. Je totiž ľahko zapamätateľná. Stačí pri tom ignorovať riekanky a slovné spojenia (iloveyou, idontknow, letmein) a je to. Heslo mamradjablkovykolac má 19 znakov. Skladá sa zo štyroch slov a nejde o častú frázu. Takéto heslo je mimoriadne komplexné a snaha o jeho priamy atak je z ríše fantázie (ako inak, dostupné je aj relevantné xkcd, ako je to v prípade každej mysliteľnej situácii na zemi).

Môžete si povedať, že slovné spojenie „mamrad“ je potenciálnou slabinou, ale v tomto ohľade nás silno chráni slovenčina, ktorú používa jedno promile ľudí na zemi.

Bohužiaľ. V tomto pokročilí používatelia, žurnalisti a admini monumentálne zlyhali. Namiesto toho aby sme sa sústredili na vysvetľovanie relevantnosti dĺžky hesla a skladania slov, naučili sme ľudí v praxi nerelevantné nezmysly o špeciálnych znakoch.

Dnes už budete darmo hovoriť ľudom, že skladanie slov je cesta k zvýšeniu bezpečnosti. Márne im budete vysvetľovať, že tieto heslá sa nesmierne ľahko pamätajú, pretože sa dajú vizualizovať.

Môžete im povedať, že môžu napríklad popísať vec, čo robia keď prídu domov z práce. Výsledkom je perfektné heslo: zavesimklucenaklinec, ktoré nikdy nezabudnú.

Môžete im ukázať, že ich heslo sa môže viazať pokojne aj k ich domácemu zvieratku. Že je mačacie meno micka pre účely hesla nevhodné? Ale kdeže. Stačí aby heslo bolo napríklad popisom, odkiaľ danú mačku majú: mickumidalakatka. Je tak obrovské množstvo možností, ktoré si ľudia zapamätávajú triviálne, ale dnes je už neskoro.

Prečo?

Pretože nekonečný zástup adminov niekto udrel mechom po hlave a registračný formulár služby vyžaduje veľké písmeno a číslo.

Treba sa teda vrátiť k svojmu obľúbenému heslu klokan, ktoré zmením na Klokan1, ako mi tento na bezpečnosť hľadiaci formulár káže, pretože admin má dojem, že 15 či 20 znakové heslo z malých písmen je neadekvátne.

Ďakujem, že všetci myslíte na našu bezpečnosť. Bohužiaľ sa k niekomu asi nedostal ten informačný leták o tom, že heslo Ponorka1 nie je takmer vôbec bezpečnejšie ako ponorka, hlavne ak je známe, že konkrétna služba zadanie veľkého písmena a čísla vyžaduje.

Čím viac špeciálnych znakov, tým viac adidas

Druhá tragédia v ľuďoch zažitá už nevyliečiteľne je to, že na oko nesúvislá spleť znakov je známka super bezpečnosti. Heslá ako 3n3rgy (energy), r3m3mb3r, linco1n, ki11er sú používané bežne a sú v útočných slovníkoch zaradené.

Nemyslite si takisto, že len vás napadlo, že napíšete nejaký obrazec na klávesnici. S tým všetky útoky počítajú ako s niečím úplne samozrejmým.

Nedelnik15-4_nowat

Autorom tejto peknej animácie je spoločnosť wpengine.

Je to normálna ľudská vlastnosť, s ktorou každý útočník bude počítať. Koniec koncov, abrakadabra, myslite na nejakú kartu. Aká sa vám vybavila? Nikto vašu voľbu nebude tipovať od buka do buka. Stačí povedať červená sedma a trafí sa do obludne veľkého percenta ľudí. Tipy s kráľovnami a esami budú vždy nasledovať.

A čo ísť na heslá s veľkým kanónom? Ak si zvolím Cdlk3#@$%&_D, je to dobré heslo? No každopádne je komplexné, ale to je asi tak všetko. Z všeobecného hľadiska ide o heslo zlé a nepoužiteľné, pretože je pre drvivú väčšinu ľudí nezapamätateľné a v nadväznosti na to aj nebezpečné.

Ak niekoho donútite použiť heslo tohto kalibru, tak namiesto vo svojej hlave ho bude pravdepodobne skladovať niekde inde.

V tomto texte sa ale nechcem venovať pokročilým a špecializovaným manažérom hesiel, ktoré komplexné heslá generujú a ukladajú, pričom sú chránené jedným spoločným heslom, ktoré si pamätáte. Ak takýto softvér používate, gratulujem, ale treba si uvedomiť, že patríte k drobučkej minorite a ak sa aj rozkrájate a budete sa snažiť každého o ich používaní presvedčiť, takmer nikto vás nebude počúvať.

Nedelnik15-2_nowat

Patríte k firemným adminom, ktorí vyžadujú od používateľov nové heslo každý mesiac či dokonca každý týždeň? Určite si gratulujete, ako veľmi vo vašej firme zdvíhate bezpečnosť. Ľudia ale nie sú stroje a efektu „desired path“ cez trávnik sa nevyhnete. Skrátka budú z takto častej zmeny frustrovaní a ak vyžadujete komplexnosť a staré heše skladujete a neumožníte ich opakovanie, všetko dopadne tak, že bude heslo na papieriku pod monitorom. To je ten lepší prípad, pretože aspoň neopustí budovu. V horšom prípade si ľudia budú heslo posielať do svojho vlastného súkromného e-mailu, aby ho tam v prípade potreby našli v odoslanej alebo doručenej pošte.

Ilúzia o prelamovaní hesla

Skúsili ste si niekedy zadať heslo do nejakej internetovej služby na zistenie jeho bezpečnosti a zhrozili ste sa, ak vám služba oznámila, že heslo bude prelomené za hodinu, 10 minút čo dokonca 30 sekúnd? Sníva sa vám v noci o tom, ako vám v štýle Hollywoodu niekto prelamuje heslo do mailu „brute force“ atakom a napokon pri skúšaní miliónov kombinácii písmen narazí na to vaše?

Takto to ale nevyzerá. Heslá sa obvykle on-line neprelamujú, pretože žiadna služba (bez zneužitia nejakej zraniteľnosti) neumožňuje dlhodobé a rýchle opakovanie jeho zadávania.

Takáto metóda by bola navyše extrémne neefektívna. Za predpokladu, že hovoríme o osobnom hesle do rôznych internetových služieb, stačí ak si položíte jednu jednoduchú otázku. Ste nejaká celebrita? Ak je odpoveď na túto otázku nie, tak na nejaké on-line prelamovanie okamžite zabudnite. Na vaše nahé selfie a iné šťavnatosti nikto nie je zvedavý.

Vaše heslo sa možno pokúsi odhadnúť aktuálny alebo bývalý partner, váš súrodenec, či niekto, koho ste práve rozčertili v internetovej diskusii, ale to je asi tak všetko. Pri takomto on-line skúšaní na slepo obvykle stačí, aby vaše heslo nepatrilo do prvej desiatky či v najhoršom prípade stovky hesiel a ste „za vodou“.

Teda za predpokladu, že nepoužívate heslo, ktorá váš bývalý partner triviálne odpozoroval, pretože na klávesnici sa vaše prsty skoro ani nepohli (čudovali by ste sa, koľko ľudí má dojem, že heslo „toto“ alebo „tototu“ je perfektné a unikátne).

Nedelnik15-3_nowat

Pri podobných situáciách ľudí skrátka napadnú podobné veci a nikto nie je imúnny

Pravdou takisto je, že ak má takáto osoba prístup k vášmu počítaču, nič nie je jednoduchšie, ako odobratie uložených hesiel z vášho prehliadača (pokojne aj skopírovaním celého profilu), ktoré si následne vloží do svojho prehliadača a prihlási sa automaticky všade tam, kde heslo máte uložené. Tu je ochrana možno len technická nekompetentnosť väčšiny používateľov.

Heslá obvykle nie je problém ani z prehliadača vyexportovať do textovej podoby. Takéto operácie mimochodom môže a aj bežne robí rôzny škodlivý softvér.

Ak patríte do skupiny normálnych používateľov, vaše heslá sa netipujú ani neprelamujú on-line. Vaše heslá sa hromadne kradnú. Konkrétne sa kradnú zo zle zabezpečených služieb, nad ktorými vy nemáte žiadnu kontrolu.

Obvyklé pravdaže je, že sú heslá zahešované, takže ak útočník ukradne databázu hesiel nejakej služby, nasleduje off-line hľadenie zodpovedajúcich hešov. V roku 2012 sa napríklad objavili na internete heše viac ako 6,5 milióna hesiel zo sociálnej siete LinkedIn a behom pár hodín, respektíve dní bolo prelomených viac ako 90 % z nich.

Pri prelamovaní sa používa slovníkový útok a počítajú sa heše známych slov. Nemyslite si ale, že ide o nejaký klasický slovník. Útočníci počítajú predovšetkým heše slov, ktoré ľudia používajú ako heslá. Nejde o tip. Ide o heslá, ktoré sú známe. Koľko hesiel je známych? Stovky miliónov, pričom ide od tých najjednoduchších, až po tie najkomplexnejšie.

Ako je to možné? No, niekedy majú útočníci šťastie a admin je skutočný profesionál, takže heslá sú rovno v nezašifrovanej podobe. Veď používatelia ocenia, ak sa im pošle po registrácii heslo do mailu, no nie? Takto sa to stalo napríklad v roku 2009, keď si útočníci prostredníctvom SQL injection útoku požičali z herného servera RockYou.com zhruba 32 miliónov hesiel v plaintexte.

Nedelnik15-5_nowat

Autorom tohto výstižného komiksu je Sysadminotaur

A k takýto prípadom dôjde niekoľko krát do roka. Heslá sa vyrútia do sveta a pribúdajú v miliónoch každý rok. V takomto prípade je jedno či je vaše heslo krhla, klokan, islovajcenavandorvku alebo Cdlk3#@$%&.

Ak uniklo v plaintexte, je už v mnohých slovníkoch a jeho heš sa bude počítať pri úniku databáz z iných služieb, bez toho aby ho niekto storočia prelamoval. Postupne sa teda bude spájať s rozličnými prihlasovacími menami. Keďže drvivá väčšina ľudí používa rovnaké heslo na viacerých službách, stačí už len začať skúšať, kam bude s vaším používateľským menom alebo e-mailom pasovať.

Prečo si myslíte, že v posledných rokoch mnohé služby, ako napríklad Facebook či Twitter, zaviedli ochrany, pri ktorých prihlásenie z inej lokality a iného počítača vyžaduje sekundárne overenie? Je to reakcia na nekonečný zástup uniknutých hesiel, ktoré sa sypú bez prestania stále znova a znova. Takéto krádeže sú suverénne najčastejším spôsobom, ako sa niekto k vášmu heslu dostane. Existuje pravdaže nespočetné množstvo iných, ale v porovnaní s týmito ide o pľuvnutie do mora (spomenúť sa dá napríklad phishing, pri ktorom vám niekto podvrhne napríklad prihlasovací formulár vášho internetového bankovníctva, pričom „prihlásením“ heslo prezradíte).

Ide o smutný fakt. Môžete používať super bezpečné heslá s veľkou dĺžkou alebo komplexnosťou, ale všetko je márne, ak heslo niekto ukradne zo služby, do ktorej ste sa registrovali.

Ale hlavná vec, že sa potľapkáme po ramenách za to, že od používateľov vyžadujeme veľké písmeno a číslo, takže si zmenia svoje koliesko na Koliesko1.

Viete čo? Strčte si tú svoju komplexnosť za klobúk.

Prečítajte si aj ďalšie články od Fera Urbana.

František Urban

František Urban
Zameriavam sa najmä na prehľadové a analytické články z oblasti najrôznejších technológií a ich vývoja. Nájdete ma takisto pri diagnostike HW a SW problémov.