Michal Špaček - Hesla - ukládání a lámání
Doporučení „hashovat“ je hezké, ale je to rada podobná jako „máte žízeň? pijte průhlednou tekutinu“. Jak hesla správně ukládat a proč, jak uživatelé vytváří hesla a jak toho pak využívají útočníci při lámání („crackování“) hesel. A k čemu se taková cracknutá hesla hodí?
Řekneme si i něco o upgrade na „lepší“ ukládání, vzpomeneme si i na správné obnovení hesla při jeho zapomenutí. A možná přijde i kouzelník v podobě správce hesel.
Navíc podobně jako hesla mají celkem omezený počet možností i IP adresy a další identifikátory, při ukládání je tedy nestačí jen „zahashovat“.
Dozvíte se:
• Jaké jsou známé úniky hesel
• Jak se kradou databáze
• Co je to a jak probíhá lámání („crackování“) hesel
• Jaká pravidla pro vytváření hesel uživatelé používají
• Jak by se měla hesla ukládat v aplikacích
• Řešení zapomenutých hesla
• ... něco o ukládání dalších údajů jako např. IP adres
Michal o sobě: Vyvíjím webové aplikace (aktuálně report-uri.com, předtím Skype, Slevomat, Apiary.io), 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ší weby a aplikace. Pořádám školení na bezpečnost a bezpečný vývoj a o stejných tématech jsem také přednášel např. na WebExpu nebo (čtyřikrát za sebou) v Las Vegas. Více o mě na https://www.michalspacek.cz/
Odkazy použité ve videu:
Zkontrolujte si, jestli váš e-mail není v nějakém známém úniku dat:
https://haveibeenpwned.com/
Nezapomeňte si nastavit notifikace (i na celou doménu):
https://haveibeenpwned.com/NotifyMe
https://haveibeenpwned.com/DomainSearch
Některé české úniky dat
Nevyhazujto: https://www.lupa.cz/clanky/unik-dat-z-nevyhazujto-cz/
Czechia: https://www.lupa.cz/aktuality/hostingu-czechia-od-firmy-zoner-unikly-prihlasovaci-udaje-zakazniku/
Mall.cz: https://www.lupa.cz/aktuality/mall-cz-resetuje-hesla-k-casti-databaze-se-mohli-dostat-hackeri/
Jabbim: https://www.root.cz/zpravicky/jabbim-cz-byla-ukradena-uzivatelska-hesla/
Vyzkoušejte si SQL Injection:
https://exploited.cz/sql/products.php
Návod: https://www.michalspacek.cz/prednasky/webova-bezpecnost-gdgscl
Zdroják: https://github.com/spaze/exploited.cz/blob/master/site/sql/products.php
Předpočítané tabulky hashů ke stažení, i k prohledání online:
https://crackstation.net/
Přednáška o ukládání hesel s příkladem lámání pomocí CrackStation:
https://www.michalspacek.cz/prednasky/zahashovat-heslo-ulozit-profit-develcz
Analýzy některých úniků:
SkTorrent: https://gist.github.com/spaze/7d89613cc69d61e03eb4
XZone.cz: https://gist.github.com/spaze/44b252134c9350723c8611115aff3d93
Pomocí programu Pipal: https://digi.ninja/projects/pipal.php
Crackování hesel z Mallu:
https://www.michalspacek.cz/crackovani-hesel-z-uniku-mall.cz
Programy na crackování hesel:
hashcat: https://hashcat.net/
John the Ripper: http://www.openwall.com/john/
Firma stavějící crackovací servery a clustery
https://sagitta.pw/
Wordlisty ke stažení:
https://wiki.skullsecurity.org/Passwords
PRINCE generátor kandidátů:
https://github.com/hashcat/princeprocessor
Jak na změnu hashování existujích hesel (z MD5 apod. na bcrypt např.):
https://www.michalspacek.cz/zmena-hashovani-existujicich-hesel
Můj projekt na sledování způsobu ukládání hesel:
https://pulse.michalspacek.cz/passwords/storages
Způsob známkování: https://pulse.michalspacek.cz/passwords/storages/rating#guide
Přednáška s představením toho projektu: https://www.michalspacek.com/talks/disclosing-password-hashing-policies-passwords
Správci hesel:
1Password: https://1password.com/
LastPass: https://www.lastpass.com/
KeePass: https://keepass.info/
O jednom úniku z LastPass: https://www.lupa.cz/clanky/co-se-stalo-lastpass-a-jak-vytvaret-silna-a-zapamatovatelna-hesla/
Diceware, metoda na generování zapamatovatelných a silných hesel: http://world.std.com/~reinhold/diceware.html
Seznam Twitter účtů, které se nějak věnují heslům:
https://twitter.com/spazef0rze/lists/passwords
Knihovna na šifrování dat v PHP (používá libsodium, umí použít paragonie/sodium_compat):
https://github.com/paragonie/halite
Další knihovna na šifrování (použijte jen pokud nemůžete použít halite/libsodium, méně výkonná, nepoužívá libsodium, výsledek nelze použít pro jiné platformy)
https://github.com/defuse/php-encryption
Má školení bezpečnosti:
https://www.michalspacek.cz/skoleni/bezpecnost-php-aplikaci
https://www.michalspacek.cz/skoleni/https-pro-vyvojare-a-spravce
Twitter: https://twitter.com/spazef0rze
Facebook: https://www.facebook.com/spaze
Web: https://www.michalspacek.cz/
Science & Technology
#PHP