Check the online version, I often update my slides.

Talk detail

Když vám uniknou uživatelská data, tak to může zavařit nejen vám, ale i konkurenci. Nejásejte, protože když uniknou data konkurenci…

Prozradím pár triků, jak úniky detekovat. Jeden prozradím hned: neházejte e-maily ode mě do spamu!

Zabrousíme lehce do ochrany a budeme se věnovat i správné reakci na únik. Američtí vědci totiž zjistili, že to není o tom, jestli vám data uniknou, ale až vám uniknou.

Details on the event website

Date and event

November 15, 2018, WebTop100 2018 (talk duration 25 minutes, 14 slides)

Slides

Únik vody

#1 Přednáška o únicích dat na převážně marketingové konferenci? No jasně! Jednak se vám může stát, že vaše vlastní data někdy uniknou (pokud se tak už nestalo), pak je také možné, že budete muset řešit nějaký únik ve vaší firmě (nepřál bych vám to, ale když už na to přijde, tak správné vyřešení je úkolem pro celou firmu, i marketingové a PR oddělení). No a pak taky jsem to já, kdo pravidelně a nerad webům přihlášeným do soutěže WebTop100 rozdává ty nuly za technické řešení (a pak napíše článek o bezpečnostní katastrofě, o objednávání vodky za kvintiliardu, nebo jen popíše základní bezpečnostní chyby “pro lidi”). Únik se anglicky řekne “leak”, což přeloženo zpátky může znamenat i průsak vody. To na fotce je můj strop a ve stejném duchu se ponese i zbytek přednášky.

Lupa.cz: "V úniku z Mallu je přes tři čtvrtě milionu jmen, hesel a telefonních čísel v čitelné podobě"

#2 Asi největším únikem z českých webů je případ “Mallér” – únik dat z Mall.cz a následné zveřejnění 750 tisíc cracknutých hesel. O problému se firma často dozví až někdo najde zveřejněná data volně ke stažení na Internetu. To byl i případ Mallu, kdosi data nahrál na Ulož.to koncem července 2017 a firma to zjistila až po “echu” na konci srpna.

Takový způsob “detekce úniku” není výjimkou, stejně tak se o problému dozvěděl herní obchod Xzone.cz, data jeho 108 tisíc uživatelů byla ke stažení na ruské sociální síti VKontakte. Já jsem podobně vypátral únik z bazaru Nevyhazujto a pár dalších webů.

Mimochodem, Mall za únik dostal pokutu 1,5 milionu Kč, což při tržbách 7,2 miliard za 2017 je asi jako když vy zaplatíte za špatné parkování.

E-mail + heslo, ke stažení celkem 6,1 milionu minimálně

#3 750 tisíc hesel z Mallu, 108 tisíc hesel z Xzone, to jsou čísla co? Celkem je ale na Internetu ke stažení mnohem víc hesel. Jen pro unikátní e-maily s koncovkou .cz je k dispozici celkem minimálně 6,1 milionu hesel v čitelné podobě. Na žádným tom darknetu, kdepak, normálně na klasickým webu. Když si spočítáte, že je nás tu asi 10 milionů a že někdo používá e-mail na koncovce .com…

Credential Stuffing

#4 Tyto databáze se používají pro útoky, kterým se říká Credential Stuffing. Útočníci vezmou nějakou takovou zveřejněnou databázi e-mailů a hesel a zkouší se s těmi údaji přihlašovat do dalších služeb. Uživatelé velmi často používají jedno heslo na víc místech a tak to útočníkům pořád vychází. Mohla by o tom vyprávět třeba Alza, která se přesně s tímto problémem potýkala v březnu tohoto roku. K úniku z Alzy nedošlo, to někdo jen “prohnal” někde staženou databázi hesel z jiných webů mimozemšťanovo přihlašovacím formulářem a způsobil trable zákazníkům i Alze samotné. Ta se ale zachovala skvěle 👍

Have I Been Pwned?

#5 Na Have I Been Pwned? si můžete ověřit, jestli vaše osobní nebo firemní e-mailová adresa (jakožto uživatelovo nějaké služby) nebyla v nějakém veřejně známém úniku dat. Troy Hunt, provozovatel této služby, do ní nahrává data, která najde veřejně na webu nebo která mu někdo poskytne. Slovo “pwned” pochází z “owned”, obojí vyjadřuje přivlastnění něčeho, v tomto případě vaší online identity.

Notifikace z Have I Been Pwned?

#6 Pokud váš e-mail (soukromý i pracovní) byl v nějakém úniku a ještě jste si nezměnili hesla na dané službě, tak to hned udělejte. Nezapomeňte si také nastavit notifikace, abyste se o případném novém úniku dat, který Troy Hunt přidá, dozvěděli co nejdříve. Have I Been Pwned vám občas notifikaci pošle dřív než firma, které data unikla. Prohledávat můžete i celé domény, což se hodí pro firemní prostředí.

Upozornění Google Alerts

#7 Pro detekci úniku z vaší firemní databáze můžete využít Google Alerts. Do databáze vašeho např. e-shopu si zaregistruje uživatele s e-mailovou adresou, kterou nikde jinde a na nic jiného nepoužijete a v Google Alerts si nastavte, aby vám Google poslal zprávu, pokud takový text (tu nepoužívanou e-mailovou adresu) někde najde. Útočníci získané databáze často zveřejní a Google je najde, protože ten najde všecko. Nezapomeňte upozornění nastavit podle obrázku: nechte so posílat zprávy hned jakmile něco Google najde, pro všechny jazyky i regiony. Nemusí to fungovat vždy, ale je to zdarma a je to alespoň něco. Vím o několika českých firmách, kterým by to pomohlo. Nezabránilo by to úniku, ale třeba výše zmíněný Xzone by se o něm dozvěděl od Google a ne od novinářů.

Unicreditgang hacked by Czechurity

#8 Dalším takovým detektorem mohu být i já (nebo podobně smýšlející tvorové, pár nás je). Pokud vás na nějaký problém upozorním(e), tak to prosím neberte na lehkou váhu. Příkladem může být tahle banka. V roce 2011 jsem ji v hodnocení webu v soutěži WebTop100 upozornil na drobný problém, tenkrát šlo jen ze zobrazené chybové hlášky zjistit cestu k souborům. O dva roky později se ovšem na webu objevila informace o tom, že peníze klientů banky Unicreditgang se někam ztratily. Výsledky soutěže a napadení webu spolu nejspíš nijak nesouvisí, ale z mého hodnocení mohla banka vyčíst, že není vše úplně v cajku.

Uniqa

#9 A jak na takový bezpečnostní problém reagovat? To nám (ne)ukázala například pojišťovna Uniqa. V roce 2009 byl na Internetu volně ke stažení seznam se jmény klientů pojišťovny včetně rodného čísla, čísla smlouvy a telefonního kontaktu. Uniqa se to ale dozvěděla až od médií. “Tak to nám to asi někdo fakt napadl,” prohlásila tisková mluvčí pojišťovny a dodala “samozřejmě musím začít interně ihned jednat, aby se to napravilo.” Zkuste takovou informaci zpracovat trochu profesionálněji.

T-Mobile: "Případ jsme předali policii, zaměstnanec byl okamžitě propuštěn, data jsou zpět v majetku naší společnosti."

#10 Když v roce 2016 zaměstnanec růžového operátora vynesl a prodal osobní údaje 1,5 milionu klientů (za což T-Mobile později dostal pokutu 3,6 milionu korun), tak tisková mluvčí reagovala slovy, že “data jsou zpět v majetku naší společnosti.” Pardon, ale data nejsou květináče, nedají se vrátit. Představte si, že si stáhnete film (já vím, já vím, ale zkuste si to alespoň představit), podíváte se na něj a zase ho nahrajete někam zpátky a budete předstírat, že se vlastně vůbec nic nestalo. Legrace, co? No vlastně ani moc ne. Zkuste prosím alespoň trochu pochopit, jak základní věci fungují a napsat tiskovku pokud možno věrohodně. Klidně si k ruce vezměte někoho, kdo tomu rozumí a napište to spolu.

Mimochodem, ten někdo část dat opravdu prodal, takže “zpět v majetku naší společnosti” fakt data nebyla.

Majitel domény kuma.cz: "Vyřešit by měl spíš někdo tebe"

#11 V létě tohoto roku jsem provozovateli herního e-shopu Kuma.cz hlásil únik desítek tisíc hesel, na který jsem narazil. Tři týdny mě firma naprosto ignorovala a začala reagovat až po poslání článku, který jsem napsal a ještě před vydáním jim ho v dobrém poslal. No, reagovat. Bezpečnostní chyby nevyřešili (hesla i přes mé doporučení stále ukládají špatně), zprávu pro své zákazníky do puntíku opsali od již zmíněného Xzone.cz a po vydání článku mě v komentářích pod článkem i na Facebooku začali napadat. Tohle prosím nedělejte, nemáte v tom dostatek zkušeností a budete vypadat hloupě.

Správná reakce, technická i mediální, vám může nahnat ztracené body, takže ve finále můžete “být na nule”. Mall a Xzone sice zadělali na problém mnoha uživatelům i firmám (nejen konkurenčním), ale únik dat z jejich systémů neskrývali, snažili se a komunikovali.

Spolupracujte, Transparentnost, Bez výmluv

#12 Únik dat z vašich systémů řešte metodou STB:

Spolupracujte. S tím, kdo vám nějaký ten problém hlásí, je totiž na vaší straně. Jinak by to dávno zveřejnil někde na Twitteru nebo Facebooku, je to skoro vždy jednodušší a rychlejší. Spolupracujte i uvnitř firmy, vyřešit takový problém je úkol jak pro technické oddělení, tak pro to komunikační (PR, marketing). Sestavte krizový tým, ve kterém budou zástupci všech těchto týmů. Spolupracujte i s úřady, kterým únik musíte včas nahlásit.

Transparentnost vám zachrání kejhák. Dejte uživatelům vědět, co se stalo, jak byla jejich data uložena a co uděláte pro to, aby k podobnému problému již nedošlo. Nesnažte se věci zjednodušovat, nepište, že “hesla byla šifrována”, velmi pravděpodobně totiž nebyla (zašifrovaná data jdou rozšifrovat a to pro hesla není vhodné). Možná jste ukládali jen jakýsi “hash”, otisk hesla (ten nejde nijak “rozšifrovat”, ale pro ověření to není ani potřeba). Ve zprávě to musí být uvedeno, včetně přesného algoritmu a jeho nastavení. Ten kdo ta data má to stejně na první pohled pozná. Klidně si představte, že jsem váš uživatel a že tu zprávu píšete i mě.

Bez výmluv. Žádné “to se stává”, “web programoval začátečník”, “je to starý systém” apod. Neházejte na nikoho špínu, pokud vám nějaká data uniknou, je to totiž jen vaše chyba. Přiznejte (si) to a napište do detailu co se stalo, pokud to samozřejmě víte. Nezapomeňte na omluvu.

Komunikace a reakce Mallu byla tak na jedna mínus, zkuste se jimi inspirovat. Teda jen tou komunikací pokud možno. Koukněte na jejich blog post k tématu, případu jsem se věnoval i v článku o lámání hesel a v přednášce na podobné téma.

Na únik celkem dobře reagoval i brněnský Zoner, kterému jsem hlásil únik přibližně 100 tisíc uživatelských účtů. Jen jim to na můj vkus moc dlouho trvalo, což ale bylo způsobeno spíš policejním vyšetřováním. Za zmínku stojí i Operátor ICT, který reagoval bleskurychle když jsme mu hlásili možnost únosu uživatelských účtů v Lítačce – to sice nebyl únik dat, jen bezpečnostní chyba, ale ta počáteční rychlost byla skoro ohromující.

Password storage disclosures

#13 Pokud ukládáte hesla uživatelů, tak možná toužíte vědět jak. Před dvěma roky jsem spustil takový malý projektík, ve kterém sleduju, jak firmy hesla ukládají a jak dobře nás o způsobu ukládání informují. Způsob ukládání hesel zveřejnil například Facebook, Dropbox, z českých pak Slevomat a třeba Fakturoid.

Způsob ukládání a zveřejnění známkuji od A do F, kde A je nejlepší a F je, umm, třeba fail. Měli byste mít známku A nebo B, pokud to sami podle známkovací stupnice nepoznáte, tak se v klidu zeptejte svého dodavatele nebo vývojáře. Jestli by vám A nebo B vyšlo, tak způsob ukládání zveřejněte a dejte mi vědět, rád vás přidám. Pokud by vám vyšlo cokoliv jiného, tak způsob ukládání hesel nejdřív předělejte podle mého návodu a pak to zveřejněte. Nezapomeňte na transparentnost z předchozího slajdu: Mall velmi špatné ukládání hesel přiznal až po úniku (předtím zveřejnili jen část), vy s tím na nic nečekejte.

Shrnutí pro vaše foťáky

#14 Úniky detekujte zdarma pomocí Google Alerts a Have I Been Pwned?. Při reakci na případný únik spolupracujte se zbytkem firmy i s těmi, kdo vám problém nahlásili. Buďte k nim transparentní a nejen k nim. To samé platí i pro uživatele, zákazníky i média. V tiskových zprávách uvádějte i technické detaily a nevymlouvejte se. A jak správně podotkli z advokátní kanceláře eLegal, snažte se, ať se Úřad pro ochranu osobních údajů o problému dozví od vás a včas. Držím palce!

Michal Špaček

Michal Špaček

I build web applications and I'm into web application security. I like to speak about secure development. My mission is to teach web developers how to build secure and fast web applications and why.

Public trainings

Come to my public trainings, everybody's welcome:

PHP application security
(September 24–25, 2019 Praha)

HTTPS for developers and admins
(September 26, 2019 Praha)