Hlavní navigace

Michal Špaček: Před připojováním na veřejné Wi-Fi sítě už nevaruju

5. 9. 2022
Doba čtení: 13 minut

Sdílet

 Autor: Depositphotos
Unikátní hesla a to správné vícefaktorové ověřování – to je momentálně při vytváření hesel nejdůležitější. Jak silná hesla vytvářet? Jak dnes postupují útočníci? A kdy se dočkáme budoucnosti bez hesel? Uvnitř: PODCAST.

Ani používání vícefaktorového ověřování není stoprocentní zárukou, že vám odhodlaný útočník nenabourá účet. Je potřeba vybrat si tu správnou metodu, která je jen těžko napadnutelná, říká bezpečnostní expert Michal Špaček.

Stále podle něj platí, že dobrou metodou pro vytváření hesel je složení věty z několika náhodně vybraných slov. Je ale potřeba, aby jejich výběr byl skutečně náhodný a aby nešlo o sousloví, které se někde používá. „Jednou se mi podařilo cracknout třeba heslo ‚Kobyla má malý bok‘,“ ilustruje Špaček, jak není bezpečné používat jako heslo třeba známý palindrom. „Prostě lidi často slyší, že mají používat větu, tak použijí nějakou větu,“ krčí rameny.

Proč se (ne)přihlašovat přes Seznam.cz Přečtěte si také:

Proč se (ne)přihlašovat přes Seznam.cz

„Před připojováním na veřejné Wi-Fi už nevaruju, protože většina stránek používá šifrované spojení přes HTTPS,“ říká také. „Kdybych se na veřejné Wi-Fi přihlásil do internetového bankovnictví přes web nebo aplikaci své banky a někdo mi odchytil moje přihlašovací údaje, bylo by to fakt špatné – ale ne kvůli Wi-Fi, ale protože by ta aplikace byla špatně napsaná,“ dodává.

Jak mohou útočníci vícefaktorové ověřování prolomit? Jak poznáte špatný článek o silných heslech? A co přinese plánované zavádění přihlašování bez hesel, přes tzv. passkeys? Část rozhovoru najdete níže v textové podobě, celý si jej můžete poslechnout jako podcast:

Michale, naposledy jsi pro Lupu psal článek o vytváření silných hesel v roce 2019. Změnilo se za ty tři roky něco zásadního v oblasti bezpečnosti a v oblasti toho, jak teda vytvářet silná hesla a jak si je potom zapamatovat?

Nezměnilo a tím tenhle rozhovor můžeme ukončit (smích).

Díky moc. Tak to byl Michal Špaček. Přečtěte si článek z roku 2019 a chovejte se podle něj (smích).

Nezměnilo se nic zásadního. A to je i důvod, proč jsem nic dalšího nenapsal. Takže tady mám krásnou výmluvu, že nemusím nic psát, protože se nic nezměnilo (smích). V podstatě pořád jsou důležitá unikátní hesla. Trošku začíná být možná důležitější dvoufaktorové ověřování (2FA), a to ještě to správné. Existuje dvoufaktorové ověřování přes SMS, přes aplikaci, přes takový ten „čudl“, který se strká do USB, a začíná být důležitější, který způsob si vybrat.

Protože třeba z SMS pořád lze phishingem ověřovací kód získat. Phishingová stránka požádá o jméno a heslo a za chvilku požádá, aby jí lidi přepsali i kód z SMS. Phishingem tedy může být možné váš kód získat, ale třeba z USB tokenu ne, protože tam se nic nepřepisuje.

Takže hardwarové tokeny jsou pořád nejlepším způsobem zabezpečení, o něco bezpečnější jsou mobilní aplikace, které mi napíšou upozornění, že musím něco potvrdit, a zasílání jednorázového hesla v SMS nebo e-mailem je méně bezpečné. Je to pořád tak? 

Je to přesně tak. Samozřejmě e-mail a SMS dneska používá každý, takže je tento způsob pro uživatele levný a tím je víc použitelný. USB tokeny jsou mnohem lepší, bezpečnější, nedají se „phishnout“, ale zase je tam nějaká investice. Teď jde o to, jestli tu investici chce udělat soukromá osoba. Rozhodně bych ji doporučoval firmám, protože phishingy na firmy jsou pro útočníky tučnější a šťavnatější a jde o víc peněz – a ne jenom o peníze, občas třeba i o nějaká firemní tajemství a podobně. Takže firmám bych doporučoval do tokenů zainvestovat a nasadit je mezi všechny zaměstnance.

V médiích se často píše, že musíte mít 2FA a budete mít účet totálně zabezpečený. No, nemusí to být úplně pravda. Nedávno jsem četl o útoku, kdy uživatel používal mobilní aplikaci, kde se ověřuje tím, že jenom klikne na to, že to je on. A útočníci mu začali posílat tu výzvu jednu za druhou. Co ten uživatel v takovém případě udělá? Poprvé klikne, že to není on. Za vteřinu zase a za další vteřinu znovu. Ale když mu výzvy takhle chodí deset minut, tak si řekne, že už toho má plné zuby a že je v té aplikaci asi nějaká chyba. Tak klikne na ano, to jsem já, a ono to přestane. A tím útočníci získali potvrzení, stačilo zahltit uživatele věcmi, které zrovna v tu chvíli nechtěl řešit.

To je zajímavý způsob, jak vícenásobné ověřování jakoby ne obejít, ale využít jeho vlastností pro záměry útočníků. Ukazuje se, že samozřejmě není dokonalé a je potřeba s tím počítat.

Takže když mě začne ta aplikace takto spamovat požadavky na potvrzení přihlášení, může to být signál, že se děje něco špatně?

Ano, může. Samozřejmě to taky může být nějaký bug v aplikaci, ale spíš asi ne.

Jak má dneska vypadat dobré silné heslo? Už před několika lety se doporučovalo, že má mít třeba minimálně čtrnáct znaků. Nedávno jsem někde na sociálních sítích viděl tabulku, která počítala, jak dlouho trvá hrubou silou hesla prolomit v závislosti na jejich délce. Lámalo se to myslím až někde kolem dvaceti znaků. Kratší hesla byla relativně jednoduše prolomitelná. Je to tak? Je nějaký limit, jak dlouhá by hesla měla být, aby byla pořád relativně bezpečná?

Já ti na to odpovím malinko oklikou. Tu tabulku jsem samozřejmě viděl taky, běhá po síti v různých modifikacích, ale není u ní napsaný žádný kontext: třeba jak jsou ta hesla ukládaná nebo do jakého systému by se útočník snažil přihlásit. A bez kontextu ta tabulka obsahuje v podstatě náhodná čísla, protože kontext je opravdu důležitý. 

Kdyby bylo třeba heslo v čitelné podobě, tak se vůbec není potřeba pokoušet ho nijak lámat. Pokud bude uložené správným pomalým tzv. password hashem, tak by ta tabulka zase vypadala úplně jinak – byla by jiná pro každý algoritmus. Takže ta tabulka bez kontextu nedává moc smysl. Snažil jsem se dohledat, kde vlastně vznikla. Zjistil jsem, že je asi 10 let stará a platila pro přihlašování do počítačů s Windows.

Můžeme dát čtenářům raději odkaz na tabulku, která má přímo vypsané jednotlivé algoritmy, ta je o něco lepší tam a je v ní vidět, kde se to láme. Mimochodem, zajímavé je, že vliv speciálních znaků není tak velký, jak se často prezentuje – předěl z modré na červenou je v tabulce skoro na stejném místě.

A teď se vrátím k tomu, jak vlastně má vypadat silné heslo. Mám pravidlo, kterému pracovně říkám Špačkovo pravidlo špatných článků o heslech. To pravidlo zní tak, že pokud je v nadpisu článku heslo v jednotném čísle, čili „jak udělat silné heslo“, tak ten článek bude vždycky špatný. Pokud je v nadpisu „jak mít silná hesla“ – tedy v množném čísle – tak ten článek bude dobrý. 

Bohužel mi to takhle vychází. Vždycky, když čtu článek, kde je napsáno „jak mít silné heslo“, tak mluví o tom, jak má mít speciální znaky, kolik má mít znaků, jak často se má měnit, že tam musí být malé a velké písmeno, číslice, speciální znaky, hieroglyfy a názvy dinosaura (smích). Ale ten článek vůbec nemluví o tom, co je nejdůležitější: že se to heslo nesmí používat na jiném místě.

Pokud ale článek v nadpisu má „jak mít silná hesla“, tak je velká šance, že hned na začátku řekne, že hesla musíte mít hlavně unikátní. A ten zbytek není tak důležitý jako to mít každé heslo jiné. Nechci samozřejmě nabádat čtenáře, aby měli tříznaková hesla, to rozhodně ne. Ale i osmiznaková nebo desetiznaková hesla mohou být v pohodě, pokud nejsou použitá vůbec nikde jinde.

S tím, jak stoupá výkon počítačů, opravdu nehrozí, že když heslo má třeba těch osm znaků, tak že potom jde tou výpočetní sílu prolomit? 

Pokud vezmeme tzv. online útoky, čili když by útočník nebo jeho nějaký robot, program, opravdu zadával hesla do formulářů na webu a snažil se třeba přihlásit na Lupu, Seznam nebo na Google, tak tam je to hodně pomalé a prolomit i to osmiznakové heslo by trvalo fakt dlouho a tyhle online útoky se běžně nedělají. 

Offline útok pak spočívá v tom, že útočník někde sežene databázi nějak uložených hesel a snaží se z ní ta hlesla vylámat. Jenže ve chvíli, kdy už má tu databázi, existuje velká šance, že měl přístup hlouběji do systému a k údajům, která běžně hesla v aplikaci chrání, se stejně dostal. 

Útočníci většinou ta hesla ukradnou z nějakých e-shopů a podobně, kde není uloženo vlastně nic zajímavého, a pak se jimi snaží přihlásit tam, kde už jsou uložena zajímavější data, třeba do e-mailu, do banky a tak podobně. Takže kdyby mi prolomili heslo na jakýkoliv e-shop, tak by mi to až tak nevadilo. Důležité je, že je unikátní, takže se s ním nepřihlásí nikam jinam.

Když jsi říkal, že pokoušet se prolamovat hesla v online formuláři je pomalé, znamená to, že třeba ta aplikace přijímá jen nějaký omezený počet požadavků?

Ano, přesně tak. Odeslání požadavku a odeslání toho formuláře nějakou dobu trvá, zpracování na tom serveru taky. Jenom pro porovnání: u offline útoků, kdy útočník má databázi nějak uložených hesel, mluvíme při pokusech o rozlousknutí, cracknutí hesla o rychlostech kolem miliardy pokusů za vteřinu. 

V případě pomalejších tzv. password algoritmů na ukládání hesel jsou to tisícovky pokusů za vteřinu. To je pořád mnohem víc, než zvládne například přihlašovací formulář Googlu. Navíc se online pokus dá jednoduše detekovat. Když se někdo snaží přihlásit na Špačka tisíci pokusů za minutu, je to podezřelé a firmy to umí poznat a třeba včas zastavit nebo tam šoupnout captchu a podobně.

Dobře, tak se nebudeme bavit o tom, kolik má mít silné heslo znaků. Mluvil jsi o potřebě unikátnosti. Já jsem se i díky tobě naučil používat správce hesel, password manager. V mém případě jde o 1Password a jsem s tou službu strašně spokojený. A u správců hesel se vždycky říká, že stačí vytvořit jedno dobré, silné hlavní heslo a pak už na jednotlivých službách generovat náhodná seskupení písmen, číslic a znaků, protože tato hesla už si vlastně pamatovat nemusím, pamatuje si to za mě password manager. O to důležitější je ale to hlavní heslo. Měl bys u něj nějaká doporučení, jak má vypadat nebo jak si ho vytvořit? Pamatuji si, že jsi před lety popisoval, že to může být třeba věta složená z několika náhodně vybraných slov tak, aby si ji člověk dokázal zapamatovat. To pořád platí?

Ano. Nejdřív teda gratuluju k pěkné kličce, jak jsme se k tomu tématu zase vrátili, dobrá práce, přišels na mě od lesa (smích). A ano, heslo do správce hesel je velmi důležité, protože pod ním jsou pak uložená ta další hesla. A jak máme jenom jedno a jak si jich nemusíme pamatovat milión, může být o dost složitější. Může to být nějaký shluk náhodných slov, který se pamatuje trošku líp než dvacet náhodně vytvořených znaků. 

Já jsem si třeba tady teď náhodně vygeneroval heslo z šesti anglických slovíček, která jsou náhodně vybraná ze slovníku o asi šedesáti tisících slov. Jsou náhodně seřazená za sebou a poměrně dobře, s trochou tréninku, se dají pamatovat. Je to silné heslo, protože počet kombinací je tak velký, že by to nikdo ani nezkoušel odhadnout. Samozřejmě, kdybych si za heslo zvolil „skákal pes přes oves“, tak to tak silné není, protože je předvídatelné.

Opravdu útočníci zkouší, jestli se v heslech nevyskytují tahle známá slovní spojení?

Ano, je to tak. Šance, že někdo použije heslo „Pepíček92“ a „skákalpespřesoves“, je v podstatě stejná. Samozřejmě, plus mínus nějaké desítky procent, ale to teď není důležité. Důležité je to, že víme, že je lidé používají a útočníci to ví taky a vyzkouší je. V jednom článku jsem třeba psal o tom, jak se mi podařilo cracknout heslo se slovy „kobyla má malý bok“. To je podobný případ. Prostě lidi často slyší, že mají používat větu, tak použijí větu (smích).

Tolik tedy letem světem k heslům. Pojďme dál: Česká bankovní asociace na konci srpna v rámci kampaně, která má lidi učit, jak se chovat na internetu bezpečně, zveřejnila svůj Kybertest. Na základě konkrétních situací se v něm snaží lidem ukázat různá hrozící nebezpečí. Říkal jsem si, že by sis ho mohl takhle při našem rozhovoru vyzkoušet. A na základě testu bychom se mohli dostat k dalším tématům. 

Pamatuješ si, jak před několika lety Česká bankovní asociace vydala nějakou ročenku nebo co a já jsem se k tomu nějak vyjadřoval?

No, to byl právě ten tvůj článek z roku 2019, který jsi pro Lupu psal, takže se nám to takhle hezky zacyklilo. 

A všiml sis, že oni to pak přestali vydávat (smích)?

Tak ten článek byl dost kritický (smích). Pojďme na ten Kybertest. Já si ho spustím paralelně s tebou. Na začátku chce nějaké údaje, jestli jsme muž, nebo žena a kolik nám je přibližně let. Pak je tady obrázek mobilního telefonu, který se chce připojit k veřejné Wi-Fi. Jsou tady na výběr různé možnosti a člověk má odhadnout, která z nich by mohla být bezpečná. Když jsem si ten test zkoušel poprvé, říkal jsem si, že bych neklikl ani na jednu, protože všechny vypadají podezřele. A na tohle téma jsem s tebou chtěl taky mluvit. Nedávno jsme na Lupě měli zprávu o průzkumu, který varoval před používáním služeb, jako je třeba internetové bankovnictví, právě přes veřejné Wi-Fi sítě. Ty jsi před tím před lety taky hodně varoval. Na konferencích jsi dělával takové pokusy, že jsi zřídil svoji Wi-Fi a pak jsi na ní odchytával informace o připojených lidech. V tomhle případě se situace změnila?

Ano, změnila se zásadně, už takové přednášky nedělám (smích). Nástup šifrování na webu, tedy HTTPS, byl zhruba od roku 2015 razantní, a to je ještě slabé slovo (na této stránce najdete trendy u prohlížeče Google Chrome a tady u Firefoxu, pozn. redakce). Takže tady se situace hodně změnila. 

Běžné stránky – e-maily, Lupa a podobně, tam, kde zadávám osobní informace – a nemusí to být jméno a heslo, ani osobní údaje podle nějakého zákona, ale i třeba nějaký můj komentář v diskusi, tak ty jsou přes HTTPS chráněné. Takže před veřejnými Wi-Fi nevaruju, a naopak se dnes snažím říkat, klidně se na veřejnou síť připojte, protože prostě ty věci jsou šifrované.

Pokud bych se připojil na veřejnou Wi-Fi a přihlásil se přes web nebo bankovní aplikaci do internetového bankovnictví a někdo mi tam odchytil moje přihlašovací údaje, tak by to bylo fakt špatné. Ale ne kvůli té Wi-Fi, ale protože by ta aplikace byla špatně napsaná.

Když se připojuju na veřejnou Wi-Fi, stejně o ní nevím o moc víc než o neveřejné Wi-Fi zamčené za loginem a heslem. I za ní se může schovávat nějaký Špaček. Prostě přijdu do hospody a zeptám se, jaké mají heslo na Wi-Fi. Oni mi řeknou, že to je síť „U trech soudku“ a heslo je „tripiva“. A já si pak zřídím Wi-Fi „U trech soudku SUPER SPEED“ a dám na ni stejné heslo a lidi se na ni taky připojí. Rozdíl mezi nezabezpečenou veřejnou sítí a zabezpečenou sítí prostě nedokážu na první pohled poznat. Rozhodně to není tak, že jedna vyžaduje heslo a druhá ne.

U veřejných Wi-Fi, ať je provozuje kdokoli, může být někdy možné něco odchytit z DNS dotazů, i když i v téhle oblasti je už dnes pokrok: DNS over HTTPS a podobně. Nějaká analýza by se z těch dat dala udělat, ale nikdo se nedokáže dostat k tomu, co odesílám ve formulářích, ke jménu, heslu, komentářích a tak dál. Nevidí to, co mám v internetovém bankovnictví, nevidí platební příkazy, nic takového, jenom může vidět, že jsem se připojil k bance, ale to je všechno.

Takže se šifrovaným spojením vyřešila spousta problémů, které kdysi hrozily?

UX DAy - tip 2

Vyřešily se šifrovaným spojením na HTTPS, tedy na úrovni aplikací, ne na úrovni Wi-Fi sítě.

Jak Michal Špaček v Kybertestu České bankovní asociace dopadl a jak jej hodnotí? Proč by z něj nebyl dobrý zločinec? A jak vypadá budoucnost bez hesel podle představ FIDO Alliance a velkých technologických firem? Poslechněte si celý rozhovor jako podcast:

Byl pro vás článek přínosný?

Autor článku

Šéfredaktor Lupa.cz a externí spolupracovník Českého rozhlasu Plus. Dříve editor IHNED.cz, předtím Aktuálně.cz a Českého rozhlasu. Najdete mě na Twitteru nebo na LinkedIn

Upozorníme vás na články, které by vám neměly uniknout (maximálně 2x týdně).