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

Detail přednášky

Co použít na ukládání hesel a co na jejich crackování, jak lidé hesla vytvářejí a další poznatky z mnoha analýz.

Datum a akce

5. dubna 2017, GMC Kick-Off, Karpacz, Poland (délka přednášky 45 minut, 37 slajdů)

Slajdy

password, qwertyuiop, 123456

#1 O bezpečnosti aplikací, krádežích uživatelských účtů a ukládání hesel. A taky o tom, jak to všechno ovlivňuje lidské životy. Tyto poznámky v původní prezentaci nejsou.

Yahoo: 500 million accounts have been stolen

#2 O tom všem ví své i firma Yahoo. V roce 2014 někdo získal data o 500 milionech uživatelů Yahoo, včetně telefonních čísel a otisků hesel. Problém se týká například i Flickru, jehož uživatelé používají účty Yahoo. Firma incident zjistila v červenci 2016, ale veřejně se přiznala o pár měsíců později.

Yahoo Says 1 Billion User Accounts Were Hacked

#3 Jen o tři měsíce později, v prosinci 2016, vydalo Yahoo zprávu o dalším úspěšném útoku. V roce 2013 si z Yahoo někdo odnesl celkem miliardu účtů.

NASDAQ: YHOO 46.29 USD (15. března 2017)

#4 Na akcie firmy měly obě zprávy o úniku dat minimální vliv, cena od března 2016 do března 2017 vzrostla o třetinu. Mírný pokles koncem roku rychle nahradil růst.

Verizon Will Pay $350 Million Less for Yahoo

#5 V červnu 2016, tedy před potvrzením obou útoků, firma Verizon oznámila, že plánuje koupit část Yahoo za 4,8 miliard amerických dolarů. 21. února 2017 pak Verizon prohlásil, že nabídku za Yahoo o 350 milionů dolarů snížil a bude se finančně podílet na vyšetřování úniků dat. Tak trochu zbytečně vyhozené peníze.

Russian Agents Were Behind Yahoo Hack, U.S. Says

#6 Američani v březnu 2017 tvrdili, že za útoky na Yahoo stojí ruští agenti. Nechci se tu pouštět do žádných politických her, ale důležitý je ten drobný text dole →

Marissa Mayer, Yahoo's chief executive, lost her 2016 bonus and 2017 stock compensation after an investigation into a security breach of user accounts.

#7 Jo, to vypadá docela blbě. Za peníze si štěstí nekoupíte, ale všechno ostatní prý jo.

Za nezveřejnění dat požaduje bitcoiny. Hodně bitcoinů. Útočník se v tomhle případě však dostal na nešifrovaná hesla uživatelů.

#8 Podobné úniky se dějí i u nás, ačkoliv pochopitelně v menším měřítku. Ale kvalitu života (a spánku) ovlivňují úplně stejně. Jednoho krásného podvečera zjistil Petr Svoboda, že e-shop, který jeho firma ShopSys kdysi vytvořila, někdo napadl, získal databázi a za její nezveřejnění požaduje bitcoiny. Firmu někdo začal vydírat. Petr své poznámky „z akce“ zveřejnil a už jen z jejich čtení běhá mráz po zádech.

...cíleně napaden hackerem, kterému se podařilo získat přístup do databáze klientů.

#9 Stejné pocity jistě zažíval i Rostislav Peníška, jednatel společnosti Adrop, když psal příspěvek na firemní web, ve kterém podobný incident nejen zákazníkům společnosti oznamuje. Oba dva pánové udělali správnou věc, co nejrychlejší zveřejnění problému je to nejlepší, co se dá v tu chvíli udělat. Fatální chyby na webu jsou jedna věc, neměly by tam být, jasně, ale vydírání, vydírání je úplně jinej sport.

Ashley Madison

#10 V létě 2015 skupina nebo jednotlivec se jménem The Impact Team zveřejnil 25 GB firemních a uživatelských dat ukradených ze seznamky Ashley Madison. Ta sama sebe nazývá seznamkou pro zadané, její obsah je tedy pro většinu uživatelů velmi citlivý. Ne všichni ovšem nějakou aférku měli nebo chtěli mít, ale nejen bulvární média to tak prezentovala. V zápětí po zveřejnění dat se tak uživatelé dočkali vydírání ve smyslu „pošli mi bitcoinz a tvá partnerka se o ničem nedozví“. Většina uživatelů seznamky Ashley Madison byli totiž muži, ale podle následné analýzy uniklého kódu se ukázalo, že si povídali spíš s roboty, než s reálnými protějšky.

Ashley Madison: 'Suicides' over website hack

#11 Údajně dva uživatelé seznamky tento tlak nevydrželi a své trápení se rozhodli ukončit. Jedním z nich byl americký pastor, druhým známý mého kamaráda. Případů nakonec mohlo být více, u některých se ale nepodařilo prokázat, že s kauzou souvisí, jako například v případě policejního kapitána v San Antoniu.

LinkedIn Lost 167 Million Account Credentials in Data Breach

#12 V roce 2012 z LinkedInu uniklo 6,5 milionů přihlašovacích jmen a hesel uživatelů, ale až v květnu 2016 vyšlo najevo, že únik byl mnohem větší, než se původně předpokládalo. Ukázalo se totiž, že tehdy uniklo celkem 167 milionů záznamů. Společnost LinkedIn to zjistila až když se někdo celou databázi pokoušel prodat. Zajímavé je, že z tohoto a dalších činů Američané obvinili Rusa Jevgenije Nikulina, který byl 5. října 2016 zatčen v Praze.

Zuckerberg, Mark Zuckerberg

#13 Tohle je Mark. Mark šéfuje Facebooku. Mark používal jedno stejné heslo pro LinkedIn, Pinterest i Twitter. Nebuďte jako Mark a nepoužívejte jedno heslo na více místech. Mějte hesla silná a unikátní a pro jejich zapamatování nepoužívejte hlavu, ale raději nějakého správce hesel a zálohu master password. (Více se dozvíte v mojí přednášce věnované právě hlavě, heslům a password managerům.)

Hey, @finkd You were in Linkedin Database with the password "dadada" ! DM for proof..

#14 V červnu 2016 skupinka mizerů napsala Markovo heslo na jeho Twitter. Tahle parta jménem OurMine to tak udělala i jiným známým osobnostem, najít heslo v uniklých datech a zkusit se s ním přihlásit do dalších služeb je jejich modus operandi.

SHA-1 hash 0f158e648228a19cab5f23acfd6c36f716a702a9

#15 Takto bylo heslo Marka Zuckerberga uložné v databázi LinkedInu, která unikla na veřejnost. Ten rozsypaný čaj (0f158...) je otisk jeho hesla, tzv. hash, vyrobený pomocí funkce SHA-1. Z otisku se zpátky heslo nedá získat, ale je možné brutální rychlostí vymýšlet nová hesla a porovnávat jejich otisk s otiskem z databáze.

Výsledky vyhledávání v Google

#16 Někdy ani není třeba žádná nová hesla vymýšlet a porovnávat jejich otisk. Otisk slabých hesel stačí zadat do Google a velmi často hned na první straně s výsledky původní heslo naleznete. Existují seznamy předpočítaných hashů milionů vymyšlených hesel a Google je samozřejmě prohledává. A ano, Mark Zuckerberg používal na Twitter, LinkedIn i Pinterest stejné heslo – dadada.

Exclusive: Digital Trail Betrays Identity Of Russian 'Hacker' Detained In Prague

#17 Da v ruštině znamená Ano. Po zatčení Jevgenije Nikulina v centru Prahy 5. 10. 2016 by konspirační teoretici začali jistě jásat. Byl totiž obviněn z útoku nejen na LinkedIn.

323 loginů + SHA-1 hashů hesel → crackstation.net

#18 Proč je vůbec ukládání hesel tak důležité? Na konferenci WebTop100 2012 jsem zmiňoval jeden menší český e-shop, z něj se dala volně stáhnout záloha databáze, ve které bylo přes 300 uživatelských jmen a hesel zahashovaných pomocí SHA-1.

crackstation.net → 111 cracknutých hesel

#19 Hashovaná hesla jsem předhodil online nástroji, který ve svém obrovském slovníku našel 111 shod, během chvíle jsem tak získal 111 uživatelských účtů i s hesly. Útok hrubou silou nebo hybridní útok by počet získaných hesel jistě zvýšil.

exoddus, Tbvfs1, 9plams, P1ll3d, Neznašov

#20 Zde jsou některá zajímavá hesla, která CrackStation ve svém slovníku našel. Kromě českých slov jsou to i hesla, která splní podmínky pro hesla velké části služeb a aplikací, jako například heslo P1ll3d: má 6 znaků, malá i velká písmena a čísla.

111 cracknutých hesel → 52 k loginu ...@seznam.cz

#21 Z těch 111 hesel jich 52 patřilo k účtům, které měly e-mailovou schránku na doméně seznam.cz. Celkem takových uživatelů daného e-shopu s e-mailem na seznam.cz bylo 165, ale jen k 52 takovým účtům jsem znal heslo. Chtěl jsem zjistit, jestli vůbec a jak moc se recyklují hesla. Je třeba vzít v potaz, že vzorek dat byl malý, byl půl roku starý a také to, že firmě provozující e-shop jsem doporučil uživatele informovat a nabídnout jim změnu hesla. Výsledné číslo tedy ve skutečnosti může být vyšší. Vše bylo pro výzkumné účely, rozhodně vás nenabádám k žádné trestné činnosti.

9

#22 I přesto je výsledek zarážející. Z 52 hesel, která jsem měl k dispozici, jich 9 fungovalo pro přihlášení k e-mailové schránce na seznam.cz. 9 uživatelů tedy mělo stejné heslo pro přístup ke své e-mailové schránce, jako heslo pro přihlášení k onomu e-shopíku. Přístup ke schránce je průser, už třeba jenom proto, že v ní lze nalézt registrační údaje k dalším službám (které si nikdo nikdy nezmění, pokud mu je vygenerujete a při registraci pošlete) a také třeba proto, že weby běžně e-mailem posílají zapomenutá hesla a instrukce k nastavení hesla nového.

...@email.cz 2 z 8, ...@centrum.cz 3 z 9, ...@gmail.com 1 z 15

#23 Přístup k 9 schránkám na seznam.cz není všechno. Z celkem 8 účtů s adresou na email.cz používalo stejné heslo jen pár uživatelů. Získat přístup k tomu jednomu účtu na Gmailu byl trochu oříšek, Gmail totiž detekoval, že se hlásím z divného umístění (přes anonymizér) a tak chtěl po mě potvrdit, že jsem to opravdu já, kdo se k účtu snaží přihlásit. No, kdo jiný než já by to asi tak byl, že. Chtěl po mě tedy telefonní číslo toho uživatele Gmailu, ale to nebylo problém najít, jak jinak než zadáním té e-mailové adresy do … wait for it … do Google.

Project "Nine is a Number"

#24 Když nestačí Google a předpočítané tabulky (nebo pokud chcete hesla lámat jako profíci), tak se použijí počítače nacpané výkonnými grafickými kartami, které lámání hesel (tedy vymýšlení hesel a porovnávání jejich otisků, hashů) provádějí rychlostí až desítky miliard pokusů za vteřinu pro funkce jako MD5 a SHA-1.

GPU cluster

#25 A když nestačí jeden počítač, tak jich společnost Sagitta HPC pár (desítek) propojí.

16 beden plných GPU na paletě

#26 Ve firmě Sagitta HPC pracují šílenci. Takhle si kupují nové grafické karty a počítají je na kila, ne na kusy. Takhle prý vypadá 300 kg grafických karet NVIDIA GeForce.

';--have i been pwned?

#27 Jestli vaše e-mailová adresa byla v nějakém zveřejněném úniku dat zjistíte pomocí Have I been pwned? Můžete si také nastavit notifikace nebo prohledat vaši doménu.

Jak ukládáte hesla?

#28 Na Twitteru (ale i jinde) se často ptám na to, jak firmy ukládají hesla do databáze. Jako jejich zákazníka nebo uživatele mě zajímá, jak se k mým datům chovají. Heslo je totiž má soukromá záležitost. S odpovědí „bezpečně“ se nespokojím, chci znát detaily. Firmy na tuhle otázku nejčastěji odpovídají stylem mrtvého brouka.

To vám právě kvůli bezpečnosti neprozradíme. Můžeme vás však ujistit, že heslo nikdo v čitelné podobě neuvidí.

#29 A když už odpoví, tak vlastně neodpoví. Z důvodu bezpečnosti to prý nemohou prozradit. Nejčastěji to tak dělají banky. Chápu, že mi to nechtějí z nějakých důvodů říct, to je v pohodě, ale výmluva na bezpečnost je dost chabá. Většina způsobů ukládání hesel se totiž dá poznat pouhým pohledem na uložená data.

Hesla jsou v databázi uložena šifrovaně. Šifrujeme je vlastním algoritmem a tudíž je dokážeme i dešifrovat.

#30 Není nad to, když vám odpoví někdo, kdo tomu rozumí. Sice se dozvíte, že to mají udělané trochu na prd, ale aspoň se to dozvíte se vším všudy. Hesla by neměla být uložená zašifrovaná, protože je dokáže dešifrovat kdokoliv, kdo má klíč. Třeba mizera. Nebo bývalý kolega. Hesla by měl znát pouze uživatel, ne někdo, kdo je dokáže rozšifrovat. A vlastní algoritmy? Uff, kdepak, to není správný přístup.

Password storage disclosures

#31 A tak jsem začal sbírat informace o tom, jak různé služby hesla ukládají, částečně ze zajímavosti, částečně jako motivaci, aby to firmy začaly dělat správně. V současnosti mám informace o cca 60 firmách. Přidat se můžete i vy, rád přidám každou službu, která nějak zveřejnila informace o ukládání hesel svých uživatelů.

www.slevomat.cz password storage disclosures: bcrypt (since May 2014, disclosed June 2014)

#32 O službách (jako např. Slevomat.cz) uvádím všechny známé údaje, jako např. parametry hashování hesel, historii a odkaz na zdroj, kde informace o způsobu ukládání hesel byla zveřejněna.

Bezpečné ukládání

#33 Způsob ukládání hesel má své hodnocení. Nejlepší známku „A“ dostanou služby, které hesla uživatelů ukládají správně, a zároveň způsob ukládání „viditelně“ zveřejní. „B“ dostanou aplikace, které sice hesla ukládají dobře, ale jejich tvůrci se k tomu moc nehlásí. Když způsob ukládání uvedou jen na blogu, na sociálních sítích nebo v nějaké přednášce, tak taková informace je pro uživatele skrytá.

Argon2i, bcrypt, scrypt, PBKDF2

#34 Pro bezpečné ukládání hesel použijte tyto funkce. Argon2i je nejvhodnější, ale i ty ostatní (bcrypt, scrypt, PBKDF2) jsou stále bezpečné. Pokud máte hesla ukládána pomocí algoritmu bcrypt, tak není důvod to měnit. Tyto funkce podporují salt a jsou relativně pomalé, což je přesně ta obrana, která je proti lámání hesel účinná. Pamatujete na stroje, které počítají MD5 hashe rychlostí desítky miliard pokusů za vteřinu? Ty samé mašiny umí spočítat jen doslova pár tisíc bcrypt hashů/sec. Hesla typu password půjdou cracknout i když budou uložená správně, cokoliv složitějšího v rozumné době ne.

Slabé ukládání

#35 Pak jsou tu aplikace používající hashovací funkce, které se nehodí pro ukládání hesel, jako např. MD5, SHA-1, SHA-256 a další. Pokud alespoň používají unikátní salt pro každé heslo a snaží se hashování zpomalit, tak dostanou známku „C“, když nezpomalují, tak „D“. Známku „E“ si zaslouží když použijí jen obyčejnou funkci MD5 a další, bez saltu a zpomalován, nebo když aplikace hesla šifruje.

Nebezpečné ukládání

#36 V pekle existuje zvláštní místo pro výrobce aplikací, které hesla uživatelů ukládají v čitelné podobě. Takové aplikace jsou v mé sbírce označené známkou „F“.

admin/admin

#37 Někdy může být bezpečnější mít unikátní hesla napsaná na lístku v peněžence, než mít jedno heslo pro víc aplikací. Správce hesel je ale jistější a bezpečnější volba.

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: