Podívejte se raději na online verzi přednášky, slajdy mohly být aktualizovány nebo doplněny.

Tato přednáška byla doplněna a nahrazena novější Hlava není na hesla, prohlédněte si raději tu.

Detail přednášky

Přednáška s podtitulkem Jak vytvářet, ukládat, používat hesla, jaké nástroje k tomu používat a proč proboha.

Používáte hesla? Kolik jich máte? Asi dost, co. Znáte nějaký program pro správu a pamatování hesel nebo snad používáte jedno heslo na více místech? Používáte heslo pro přístup k vašemu emailu i pro přístup k jiným službám? Šmarjá, opravdu? Když náhodou takové službě unikne databáze emailů a hesel, včetně toho vašeho, tak pak případný zlý hoch může získat přístup i k dalším službám, protože do vaší emailové schránky vám chodí např. zapomenutá hesla nebo odkazy na nastavení hesel nových. Pokud k tomu tedy dojde, tak vás může zachránit už jen dvoufaktorová autentizace, víte, co to je? To je otázek, že… ale nebojte, mám i odpovědi.

Přijďte si o správném ukládání hesel popovídat na školení Bezpečnost PHP aplikací (nejbližší termín: termín zatím nevypsán).

Detail přednášky na webu akce

Datum a akce

8. února 2014, New Media Inspiration

Slajdy

SlideShare

Přepis poznámek

  1. Zapomeňte vaše hesla

    Ano, vím, správně by tam mělo být svá hesla. To je schválně.

  2. Kdo zná vaše hesla, jak vytvářet hesla, jak si je nepamatovat

    Kdo myslíte, že má přístup k vašim heslům? Vytváříte hesla správně? A víte, že si je vůbec nemusíte pamatovat? Odpovědi na tyto otázky, i na všechny ty další, bych vám chtěl naznačit v následujících slajdech. Tyhle poznámky jsou jen v této online verzi, v původní prezentaci chybí.

  3. Kdo zná vaše hesla?

    Takže především, vaše hesla byste měli znát vy sami. Určitě je zná také web nebo aplikace, do které se přihlašujete, kvůli ověření. Daná aplikace má také vaše heslo v nějaké formě uloženo v databázi a kvůli bezpečnostním chybám mohou mít přístup k této databázi i …

  4. MIZEROVÉ!

    Normální lidi. Jako vy. Nebo jako já. Nebo vlastně kdokoliv. Je dobré počítat s tím, že k nějaké té databázi mají přístup a zařídit se podle toho. Když mizera získá databázi, ve které je nějak uloženo vaše heslo, může se stát, že to vaše heslo zjistí, protože je tam uloženo nevhodně.

  5. Hashovací funkce MD5, SHA-1, SHA-2 – nevhodné pro ukládání hesel

    Hesla by se do databáze měla ukládat tzv. hashovaná. Hashovací funkce vyrábí otisk hesla, ze kterého nejde původní heslo získat. Je to něco jako otisk prstu člověka – z něj taky člověka zpátky nevyrobíte. Hashovacích funkcí je mnoho, některé jsou vhodné pro ukládání hesel a některé ne. Ty výše uvedené jsou ty nevhodné a je celkem jedno, jak je použijete. Jsou zkrátka příliš rychlé a tak je možné vytvářet miliony otisků různých slov či kombinací písmen za vteřinu a porovnávat je s otiskem, který mizera získal z databáze a dříve nebo později původní heslo takto zjistit. Správné ukládání hesel je rozsáhlé téma, které se nám sem nevejde a pokud vás zajímá více, tak vás raději odkážu na moji prezentaci z konference Devel.cz nebo vás rád přivítám na školení Bezpečnost PHP aplikací (nejbližší termín: termín zatím nevypsán). Nebojte, toto je nejvíc technický slajd, dál to bude zas srozumitelné.

  6. Pixel Federation

    Jak takové nevhodné ukládání hesel v praxi vypadá? Takhle. Pixel Federation je vcelku úspěšná slovenská firma, která vytváří online hry. Taky jsem ji neznal, nebojte. Do podvědomí mizerů i bezpečnostních expertů se zapsala v prosinci 2013, kdy někdo z její databáze získal e-mailové adresy a hesla přibližně 38 tisíc uživatelů. Nic výjimečného, podobné případy se objevují dnes a denně. Pixel Federation však mizerům usnadnila práci, hesla totiž nebyla správně hashována.

  7. e-mail:md5 (heslo)

    Data, která byla vystavena na webu, vypadala takto. Adresa uživatele byla doplněna MD5 hashem jeho hesla (obojí pocházelo z databáze Pixel Federation) a v případě, že se heslo podařilo mizerům rychle cracknout, tak to původní heslo uvedli do závorky. Vidíme, že Šílená Mišulka má e-mail na Seznamu, její heslo pro přístup do her Pixel Federation mělo MD5 hash a3fa5atd. a že její původní heslo bylo 197412. Kdyby Mišulka používala stejné heslo i pro přístup na Seznam, byla by tak trochu v háji. Nepoužívá, nemusíte to zkoušet. Spousta lidí bohužel své heslo k e-mailu používá i jinde. Vy to NEDĚLEJTE. Proč? Protože když jdete na nějaký web a zapomenete heslo, tak většinou jediné, co musíte udělat, je zadat e-mailovou adresu a ten web na ni v lepším případě pošle odkaz na nastavení nového hesla, v tom horším případě nějaké náhodné vygenerované heslo, které si stejně nikdy nezměníte. A když k té e-mailové schránce bude mít přístup i nějaký mizera, tak vám může změnit hesla na všech dalších webech, které používáte. E-mail je branou k vaší digitální identitě. Jestli vaše e-mailová adresa byla v nějaké uniklé databázi si ověřte na haveibeenpwned­.com.

  8. Dlooooouuuhááá

    Aby tihle všichni mizerové měli celkem dost práce s crackováním vašeho hesla z nějakého hashe, pokud aplikace hesla takto vůbec ukládá, tak by vaše heslo mělo být celkem dlouhé. Čím delší heslo, tím déle to bude trvat. Délka hesla by měla být minimálně 8, lépe je 12 a více znaků.

  9. correcthorsebatterystaple

    Jeden ze způsobů tvorby dlouhých hesel ukazuje komiks XKCD a tvrdí, že uhádnout toto heslo by trvalo stovky let. Jenže hesla se dnes zas tak často nehádají, pamatujete na mizery s přístupem do databáze? Problém zde je ten, že všechna slova tohoto hesla (nebo passphrase) jsou běžná slova.

  10. Ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn1.

    Tohle je jedno z nejdelších cracknutých hesel. Heslo je to parádní, o tom žádná, obsahuje mezery a tak, jenže je uvedeno v článku na Wikipedii. Cokoliv napsaného na webu se nehodí na tvorbu hesel, je to totiž i ve slovnících mizerů a ti takové slovníky používají ke zrychlení crackování. Odkazy na články zabývající se crackováním dlouhých hesel najdete u mě na webu, zajímavé čtení.

  11. Dlooooouuuhááá, unikátní

    Délka není vše. Představte si, že máte sice dlouhá hesla, ale jedno heslo používáte na více místech, mizerovi pak stačí najít jednu databázi s hesly v čitelné podobě a získá přístup i k dalším webům, kde používáte tohle dlouhé heslo. Každé heslo by mělo být jiné.

  12. MasterCard/Eu­roCard Last digits: 2753

    A když říkám každé, tak myslím každé. Když budete mít jedno heslo pro e-mail a jedno heslo pro ty ostatní weby, tak to nestačí. Nedůležitý web se může jednoho dne stát důležitým, navíc to, co se vám zdá nedůležité může být naopak velmi důležité pro mizery. Například tenhle Amazon – jednou jsem si tam koupil knihu, nic extra. Jenže jsem platil kartou a Amazon zobrazuje část čísla karty v seznamu objednávek. To je důležitý údaj, některé weby totiž změní e-mailovou adresu jen díky znalosti těchto čtyř číslic. Když mizera zná tenhle údaj, může napsat na jinou službu a říci, že již bohužel nemá přístup k té staré e-mailové adrese, ale že zná poslední čtyři čísla karty, kterou jste platili, takže určitě musí být vy a že ji chce změnit na nějakou jinou, kterou má pod kontrolou. Podpora daného webu mu ji samozřejmě změní a on si pak nechá poslat odkaz na nastavení nového hesla, protože to vaše zapomněl a získá tak plný přístup k vašemu dalšímu účtu. Ehm.

  13. Dlooooouuuhááá, unikátní, náhodná

    Již víme, že mít dlouhá hesla nestačí, mohou být ve slovnících používaných k tzv. slovníkovému útoku. To platí i o unikátních heslech, když budete mít každé heslo jiné, ale všechny budou jak ze slabikáře, tak je to taky k ničemu. Hesla by tedy měla obsahovat různé znaky náhodně za sebou.

  14. DSy$&yWH /T&s4p'vRER@K2;qTFiG

    Ideální heslo vypadá asi takto. Je dlouhé, není nikde na webu napsáno, ačkoliv se zveřejněním slajdů vlastně už bude, a obsahuje všechny možné znaky, včetně mezer, náhodně za sebou. Jenže kdo si taková hesla má pamatovat, že. Soukromý e-mail, pracovní e-mail, Twitter účet, falešný Twitter účet, Facebook účet, falešný Facebook účet, LinkedIn profil, falešný… ah, to je jedno.

  15. Zapomeňte vaše hesla

    Ale ne všechna. Buďte v klidu, existuje totiž řešení, navíc celkem jednoduché a příjemné. Lidský mozek totiž není dobrý nástroj na pamatování hesel (ale ani na jejich vytváření), takže je možné je v klidu zapomenout. Já sám mám přes 600 hesel, ale pamatuji si jich jenom pár. Jak to jako, cože?

  16. Password manager

    Každý se již asi setkal s nějakým managerem nebo managerkou. Jsou to lidé, kteří se snaží pomoci a dělají věci za vás, že. Stejně tak password manager. To ovšem není žádný člověk, je to program, který si hesla pamatuje za vás a pomáhá vám je vytvářet a navíc vás umí na web přihlásit jedním kliknutím. Takže si musíte pamatovat jen jedno heslo, to pro password managera. Všechny vaše hesla jsou tedy schovaná pod jedním hlavním silným heslem, ale to je v dnešním světě zasílání zapomenutých přihlašovacích údajů e-mailem již dávno běžné. Většina vašich hesel je již dnes chráněna jen jedním heslem – tím k e-mailu. Se stim smiřte.

  17. 1Password, LastPass, KeePass

    Password managerů je spousta. Za zmínku stojí asi tak tyhle tři, díky 1Password si budete muset pamatovat jen jedno heslo a díky LastPass to bude to poslední. Oba tyto nástroje jsou také online a umí synchronizaci mezi mobilním zařízením a počítačem. KeePass je program, který si nainstalujete do počítače nebo telefonu a sdílení dat si musíte zařídit sami. Třeba přes nástroj Wuala, jehož výrobce zaručuje, že k vašim datům nemá nikdo jiný přístup, díky použité technologii, nebo pomocí Dropboxu, jehož někteří zaměstnanci přístup k vašim datům mají. Před používáním jiných password managerů si raději prověřte jejich zabezpečení.

  18. Dvoufaktorová autentizace: Něco vím a něco mám

    Žádný password manager vás nezachrání, když si dáte víc piv, než snesete a svoje hesla někomu vykecáte, ačkoliv s hesly vytvořenými podle dříve uvedených pravidel to asi nebude snadný úkol. Před touto katastrofou vás může zachránit dvoufaktorová autentizace (2FA). Dvoufakcožé? Takže dejme tomu, že něco víte a že to, co víte, je vaše heslo. To je první faktor. Když to heslo někomu řeknete nebo ho někdo uhádne, tak je to lidský faktor, ale o tom jindy. Dvoufaktorové ověřování potřebuje i druhý faktor, tedy něco mít. Třeba zaregistrovaný telefon, který umí přijímat SMS. Provozovatel webu vám pošle nějaký kód, který potom zadáte společně s heslem a tím se ověří, že něco máte (telefon) a něco víte (heslo) a tak to jste asi opravdu vy.

  19. Google Authenticator

    SMS ovšem někdy mohou dorazit s malou prodlevou nebo můžete být zavřeni v místnosti s olověnými zdmi bez mobilního signálu a tak existují alternativy, jako třeba mobilní aplikace Google Authenticator. Ta umí tyhle kódy potřebné pro dvoufaktorovou autentizaci (2FA) generovat sama. Ovšem ani 2FA není dokonalá, stačí si na telefon nějak nainstalovat aplikaci od nějakého mizery a ta bude odchytávat SMS a je to celé v háji. Případně stačí hledat two factor authentication bypass a najdete (již nefunkční) návod na obejití 2FA většiny služeb, které tento způsob nabízí. Dnes bohužel neznáme nic lepšího běžně dostupného, než 2FA.

  20. Facebook, Twitter, Google, GitHub, Dropbox

    které služby a aplikace tedy dvoufaktorové ověřování nabízí? Google a Gmail, Facebook, Twitter, Dropbox, Github a další. Kód zaslaný SMS nebo vygenerovaný mobilní aplikací nevyžadují vždy, ale například jenom když se hlásíte z jiného počítače nebo jednou za 30 dní.

  21. Používejte password manager a dvoufaktorovou autentizaci

    Na závěr snad jen pár dobrých rad: vytvářejte silná hesla a zbytečně si je nepamatujte, k obojímu si najděte nějakého oblíbeného password managera a na službách, které podporují dvoufaktorovou autentizaci si ji zapněte. Může vám to jednou zachránit zadek, opravdu.

  22. BTW, Vaše heslo je: ********
Michal Špaček

Michal Špaček

Vyvíjím webové aplikace, zajímá mě jejich bezpečnost. Nebojím se o tom mluvit veřejně, hledám hranice tak, že je posouvám. Chci naučit webové vývojáře stavět bezpečnější a výkonnější weby a aplikace.

Veřejná školení

Zvu vás na následující školení, která pořádám a vedu: