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í.
(ツ)
@spazef0rze 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.
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.
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í.
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.
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.
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.
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.
79c2b46ce2594ecbcb5b73e928345492
– $2y$10$EdV/eg0/jQRZf9/qN9fLKumWMgdwER9dPIVP1C755W9/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.
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é. Aktualizace 2: od února 2019 už heslo nemusíte každý rok měnit, pokud je dlouhé alespoň 12 znaků.) 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.
FIO banka doporučuje jednou ročně změnit heslo pro větší zabezpečení přístupu. Hmm. Čím složitější heslo, tím lepší, o tom nemá cenu diskutovat. Ale pravidelná změna hesla ve skutečnosti vede k tomu, že se hesla používají slabší.
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é.
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.
Tiscali1234
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é.
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?
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.
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.
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.
Silné heslo je také neomezeně dlouhé. Rozhodně není dlouhé maximálně 16 nebo 20 znaků. Omezit délku hesla můžete jedině když k tomu máte nějaký velmi dobrý důvod. Microsoft má důvod celkem dobrý.
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.
Já vím, já vím, to je samá mBank. Jenže oni nás pěkně zásobují, ale tohle už je poslední slajd o nich. Systém je bezpečný, protože zatím nikdo heslo nehacknul.
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.
($)($)
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í.
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.
Tak až se vás někdo zeptá, tak snad už budete vědět, jak odpovědět a proč. A když ne, tak se nebojte otravovat svoje vývojáře nebo sekuriťáky, ať z firmy neuděláte hlupáky.