Na dotazy ohledně ukládání hesel raději odpovídejte až zhlédnutí této přednášky. Proč je důležité správné ukládání hesel a co se pod tím vlastně skrývá? Nebojte se, do zbytečných technických detailů zabíhat nebudeme. Podíváme se také na šifrovaný přenos přihlašovacích údajů, bezpečnostní otázky a na příkladech si ukážeme špatné odpovědi na různé zapeklité otázky ohledně zabezpečení některých webů. Po této přednášce byste měli vědět, jak na sociálních sítích správně odpovídat nejen na moje dotazy.
Bezpečnost webových aplikací Web Inkognito VŠE 05/2013
Základy webové bezpečnosti pro PR a marketing
1. By Martin Pettitt https://www.flickr.com/photos/mdpettitt/2522322174/
Základy webové bezpečnosti pro PR a markeťáky
Michal Špaček @spazef0rze www.michalspacek.cz
Přednáška s řadou příkladů, jak (ne)odpovídat na sociálních sítích a s vysvětlením, proč
některé věci, které se dělají „kvůli bezpečnosti“ ve skutečnosti bezpečnosti nepomáhají.
Původní slajdy tyto poznámky neobsahují.
2. @spazef0rze
nula
Pokud používáte Twitter, tak jste se už možná někdy setkali s tímhle ksichtem. Ač to tak
nevypadá, tak to je můj ksicht a to pod ním je moje Twitter name. Na Twitteru se občas
různých firem zeptám, jak ukládají hesla nebo kdy opraví tenhle bezpečnostní problém,
protože mě to zajímá. Velmi často odpoví trochu nešťastně, nejspíš proto, že o tom nic
neví. Touhle přednáškou bych to chtěl napravit. Budu ukazovat reálné případy a pokud
tohle někdo ze jmenovaných společností čte, jakože doufám, že jo, tak se prosím
neurazte. Mým cílem opravdu není někoho hejtovat.
3. Jednoho krásného dne jsem chtěl přihlásit na Kasu a Firefox mi napsal, že to je bezpečnostní
riziko a že je možné, že mi někdo heslo ukradne.
4. https://
Login form
Pokud je přihlašovací formulář na stránce, která se načetla po HTTP a ne po HTTPS, tak je
možné formulář upravit tak, aby se heslo odeslalo útočníkovi. A pokud se formulář odesílá
na HTTP, tak je zase možné posílané heslo odposlechnout. Přihlašovací formulář se musí
načíst po HTTPS a na HTTPS se musí odeslat. Tak jsem se zeptal Kasy, kdy to opraví.
5. Kasa odpověděla a to asi neměli dělat :-) Napsali, že nevidí důvod, proč by přecházeli na
HTTPS, že na webu nemají čísla karet, nebo rodná čísla nebo čísla nějakých průkazů. Ale
trochu zapomněli na to, že jim uživatelé posílají hesla a ta by neměl znát nikdo jiný, než
sami uživatelé. Asi by bylo fér dodat, že Kasa se na začátku září rozhodla na HTTPS přejít.
https://twitter.com/Kasacz/status/545207424010174466
6. TajneMilujemSpacka846
Nikomu nic není do toho, že si nějaký uživatel nastavil třeba toto heslo. Je to věcí
daného člověka. Ani jeho ženě do toho nic není. Druhá podstatná věc je ta, že uživatelé
často používají jedno heslo na více místech. Když heslo na jednom místě nějaký mizera
odposlechne a pak ho použije pro přístup k uživatelovo e-mailu, tak získá přístup k
dalším službám, které uživatel používá. Do e-mailu si mizera totiž může nechat poslat
například odkazy k nastavení nového hesla.
7. Jak ukládáte hesla?
v čitelné podobě, MD5, SHA-1, bcrypt?
Na Twitteru (ale i jinde) se také často ptám na to, jak firmy ukládají hesla do databáze.
Zajímá mě jestli je ukládají v čitelné podobě (to je špatně, může si je přečíst kdokoliv, kdo má
do databáze přístup), tzv. hashovaná pomocí MD5 nebo SHA-1 (to taky není dobře, to jsou
příliš rychlé funkce, které útočníkům dovolí generovat miliardy kombinací za vteřinu) nebo
třeba bcrypt (to je dnes jedna z doporučených funkcí, ta dovolí útočníkům generovat jen pár
tisíc pokusů za vteřinu a to je málo a to je dobře). Firmy na tuhle otázku nejčastěji odpovídají
stylem mrtvého brouka.
8. A když už odpoví, tak nejčastěji tak, že nám to z důvodu bezpečnosti nemohou prozradit.
Největší odborníci na to jsou banky. Chápu, že mi to nechtějí z nějakých důvodů prozradit,
to je v pohodě, ale výmluva na bezpečnost je dost chabá. Jestli někdo pracujete v bance,
tak si pamatujte, že stačí říct, že takové informace prostě nesdělujete, bez nějakých
výmluv na bezpečnost nebo cokoliv jiného.
https://twitter.com/ingbankcz/status/328172907463340032
9. 79c2b46ce2594ecbcb5b73e928345492
$2y$10$EdV/eg0/jQRZf9/qN9fLKum
WMgdwER9dPIVP1C755W9/s10HrTtMC
Proč je výmluva na bezpečnost tak trochu hloupost? Toto jsou dva příklady nějak
zahashovaného hesla ahoj. Obojí vypadá jak písmenková polévka na vojenské přehlídce,
ale to první je kratší. To druhé má lomítka. Vidíte ten rozdíl? Podle těchto nápověd se dá
poznat, jak bylo heslo uloženo, co to je za hash. To první je MD5, to druhé bcrypt.
Buďto máte udělané ukládání hesel podle aktuálních doporučení, nebo ne. Pokud ano, tak
se tím v klidu můžete pochlubit, pokud ne, tak je na čase to předělat a pak se pochlubit.
10. https://twitter.com/spazef0rze/status/631727222773014528
Pojďme ještě na chvíli zůstat u bank a hesel. FIO banka nastavuje platnost hesla do
bankovnictví na 365 dní. Můžete to sice v klidu ignorovat (ale jen na webu, ne v mobilní
appce, tam se prý přístup opravdu zablokuje), heslo funguje i po roce bez změny.
(Aktualizace: už to nelze ignorovat, po expiraci hesla jste nuceni nastavit heslo nové, které
ale může být stejné, jako to staré.) Zajímalo mě proč to všechno, nestačilo mi vědět, že "z
důvodů bezpečnosti", protože čí bezpečnosti, že jo.
12. Fio2014
Fio2015
Fio2016
Co totiž určitá část uživatelů udělá? Začne používat velmi jednoduché zapamatovatelné
heslo, které sice splňuje podmínky banky pro tvorbu hesla (jedno velké písmeno a jedno
číslo, šest znaků minimálně), ale je velmi předvídatelné.
13. AŽ JE TO
POTŘEBA
Hesla se mění až když je to potřeba, ne jednou za měsíc, nebo rok. Pokud na nějaké
službě dojde k úniku hesel, tak vás její provozovatel upozorní, že si heslo máte změnit.
14. FIO banka zmiňovala silná hesla, ale jak takové velmi silné heslo vlastně vypadá? Poznáte
ho podle toho, že má vždy alepoň 8 znaků, jedno velké písmeno a číslo? Kdepak, heslo
Tiscali1234 není velmi silné heslo. Je velmi předvídatelné a tudíž docela slabé.
15. T6":, 1@?n36y=:7vr;%i-#0,Khb5MDY
Velmi silné heslo není vytvořené v hlavě (ani napsané na slajdu), je generované a nedá se
bez tréninku mozku moc dobře pamatovat. Velmi silné heslo také obsahuje nejlépe speciální
znaky. No jo, jenže jaké speciální znaky?
16. … nepovolený znak (např. znak euro,
písmena z jiné než polské abecedy)
Když se pokusíte použít nějaký nepodporovaný speciální znak u jedné nejmenované banky,
tak vám řeknou, že vaše heslo obsahuje nepovolený znak a že heslo může obsahovat znaky
jen z polské abecedy. Takže vaše heslo může obsahovat ź, ale ž ne.
17. https://twitter.com/mbank_cz/status/458588168766623744
Protože jací programátoři, takové speciální znaky. To přece dává smysl. Buďme rádi, že
programátoři mBanky nejsou nuly nebo asiati. Tohle je fakt blbost. Silná hesla obsahují
všechny možné speciální znaky, včetně mezer. Silná hesla mají ještě jednu společnou věc.
Nedají se bez tréninku zapamatovat. A i s tréninkem mozku si silných hesel zapamatujete jen
pár. Jenže byste měli mít všude heslo jiné, ostatně doporučují to i některé banky. Jediné
rozumné řešení je použít nějakého správce hesel. No jo, jenže ten nejde použít všude.
18. https://twitter.com/mbank_cz/status/625616138140012544
Protože to kvůli bezpečnosti nejde. Nejde, nejde, nejde! Jenže když uživateli zakážete
používat správce hesel, tak si heslo bude muset pamatovat a hlava není dobrá na
pamatování si více silných hesel. Takže použije buď heslo, které už má někde jinde, nebo
použije nějaké slabé heslo. Takhle ne. Správce hesel není ideální, má nějaké rizika, ale ta
jsou menší, než když uživatelé používají všude jedno heslo nebo více slabých hesel.
Správce hesel bezpečnost uživatelů zvyšuje.
20. https://twitter.com/aukro/status/625976658537881600
Aukro se šlo zeptat až do Polska na to, proč jejich hesla nemohou mít víc jak 16 znaků. A co
zjistili? Že k tomu nemají žádný zvláštní důvod. A prý by to změnili, kdyby bylo více stížností.
Pravdou je, že i takové generované heslo, které je dlouhé jen 16 znaků je celkem bezpečné,
ale proč to omezovat, že.
22. Tenhle šuplík je taky bezpečný, protože ho nikdo ještě neotevřel. Zjednodušeně, systém
je pro uživatele bezpečný, když je dobře navržený, udělaný a když má krizový plán.
23. Probíráme tady různé banky a určitě si říkáte, že banka, to je něco, to není nějakej pitomej
e-shop a máte pravdu. Ale podívejte se, co máte v bance. Peníze. A někdo možná ani to
ne. Když vám z účtu peníze zmizí, tak vám je banka stejně vrátí, banky jsou na to
připravené. Ale co když vám někde zmizí heslo, které používáte na víc místech? Často se
to ani nedozvíte, ale co víc, to heslo vám nikdo nevrátí. Co když vám z Facebooku zmizí
nějaké soukromé fotky? Nikdo vám je nevrátí. Já si myslím, že je minimálně stejně důležitý
dobře zabezpečovat i jiné služby, než jen bankovnictví.
24. Co dělají pro své zákazníky třeba mobilní operátoři? T-Mobile se snaží svým zákazníkům
zjednodušit odblokování účtu nebo obnovení zapomenutého hesla, mj. pomocí kontrolních
otázek. Otázky jsou tam klasické, jméno matky za svobodna, značka a model prvního mobilu
nebo nejoblíbenější herec/herečka. Váš první mobil? Mohla to být nějaká Nokia 3310 nebo tak
něco, podle toho, jak jste staří. A co herec nebo herečka? Kolik takových oblíbených herců a
oblíbených hereček na světě asi celkem bude? No možná vlastně docela dost. Ale třeba
budete lajkovat jejich stránku na Facebooku. Všechny tyto informace dají dohledat. Pokud po
vás někdo požaduje odpovědi na bezpečnostní otázky, vždy si vymýšlejte. Pravdivé odpovědi
bezpečnost snižují. PS: T-Mobile zatím na tweet od Tomáše Hály nijak nereagoval.