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

Detail přednášky

Securitas, res publica.

V posledních pár letech se s bezpečnostními incidenty roztrhl pytel. Tady unikl seznam uživatelů, tady i jejich hesla, tady jen jejich objednávky. V této přednášce spojíme moje dvě oblíbená rčení a to, že každý web je dostatečně dobrý na hacknutí a že opakování je matkou moudrosti. Zopakujeme si, koho už u nás hacknuli a poněvadž by to byla nekonečně dlouhá přednáška, tak se raději zaměříme jen na zveřejněné případy.

Bezpečnost, věc veřejná.

Zajímá vás bezpečnost webových aplikací? Přijďte na školení pro vývojáře (nejbližší termín: termín zatím nevypsán).

Datum a akce

31. března 2016, SecPublica 2016

Slajdy

SlideShare

Přepis poznámek

  1. Poučte se z cizích chyb

    Pojďme si zopakovat, co všechno už se u nás v oblasti počítačové a webové bezpečnosti stalo. Opakování matka moudrosti, že. Projdeme pár zásadních a veřejně známých událostí, ale úplně se vyhneme DDoS útokům, které nepovažuji za „hackování“. Původní slajdy tyto poznámky neobsahují.

  2. Have I been pwned?

    S daty uživatelů se roztrhl pytel, nejspíš proto tolik unikají. Jednou to jsou hesla v čitelné podobě, podruhé rodná čísla, potřetí jenom e-mailové adresy. Na haveibeenpwned­.com si můžete zkontrolovat, jestli se vaše e-mailová adresa v nějakém takovém úniku neobjevila. Můžete se také přihlásit k odběru notifikací, pokud by se v budoucnu náhodou objevila. Web provozuje australan Troy Hunt, v komunitě vývojářů i bezpečnostních odborníků známý a uznávaný, nemusíte se bát, že služba slouží ke sběru vašich e-mailů.

  3. JAHODOVY SIRUP SECURITY ADVISORY

    Sirupem to před 20 lety u nás začalo. 25. března 1996 po vzoru bezpečnostních doporučení amerických úřadů vyšla jedna taková vtipná bezpečnostní zpráva i u nás, resp. na Slovensku. Týkala se jahodového sirupu a varovala před tím, že láhev sirupu lze otevřít a pak zase zavřít bez porušení uzávěru.

  4. SERT – Sirup Emergency Reaction Team

    Tuto zprávu napsal Pajkus ze skupiny, která si později začala říkat SERT, což byla hříčka na anglický název CERT, Computer Emergency Response Team, tedy týmu, který řeší problémy s počítači (a tím nemyslím nefunkční tiskárnu).

  5. diana.troja.mff­.cuni.cz + kmotr.pf.jcu.cz + TASR

    SERT byl celkem aktivní, proslavil se mj. tím, že na školních serverech Univerzity Karlovy a Jihočeské Univerzity našel archívy nelegálního software a smazal je. Další kousek SERTu bylo vydání tiskové zprávy na webu Tiskové agentury SR jménem člověka, který zrovna tou dobou byl na dovolené. Jenže jak rychle SERT začal, tak rychle taky skončil. Ze všech členů v podstatě zůstal jen jeden – Pajkus.

  6. CzERT

    Pajkus byl zakládajícím členem nejen SERTu, ale i sdružení CzERT, Czech Emergency Response Team, které vzniko koncem roku 1996 a na svém kontě má také pěknou řádku zářezů. Třeba změnu stránek MaMedia (dnešní Mageo), na které CzERT v únoru 1997 umístil obrázek roztomilého démona. Příbeh SERTu a CzERTu detailněji rozebírá Honza „Klokánek“ Šípek ve své knize Zásek do živýho i sám Miroslav „Pajkus“ Pikus v sérii článků Ako nás zmenili hackeri. Doporučuji.

  7. Lide spete klidne, nad Vami bdi Armada Ceske republiky!

    V listopadu 1996 CzERT změnil stránky Armády České republiky a hacking se tak poprvé dostal do hlavních médií v ČR. Takovéhle změny webu (defacement) se nejčastěji prováděly tak, že někdo odposlechnul heslo správce, když se na servery přihlašoval. Tenkrát v podstatě nikdo svá připojení nešifroval.

  8. SQL Injection, Rain Forest Puppy (Jeff Forristal), Phrack Magazine 1998

    CzERT skončil v roce 1997, ale postupy, které se k získávání dat z webů používají dnes byly popsány až později. Jeff „rfpuppy“ Forristal popsal útok dnes známý jako SQL Injection „až“ v roce 1998 v článku NT Web Technology Vulnerabilities.

  9. Dones z venku DŘEVO / Dones z venku DŘEVO A KUP V KRÁMU PIVO

    Malé opáčko: útok SQL Injection spočívá ve změně příkazů, které posílá aplikace databázovému serveru. Ten očekává data (ve žlutém a modrém obdélníku), ale útočník je upraví tak, aby server dostal i příkaz a provedl něco navíc.

  10. Dones z venku DŘEVO A KUP V KRÁMU PIVOVložený příkaz

    Do dat vloží (injektuje) další příkaz a aplikace z databázového serveru tak nakonec kromě produktů získá například uživatelská jména a (snad hashovaná) hesla. V domnění, že se jedná jenom o produkty je klasicky vypíše do stránky.

  11. Cross-Site Scripting, David Ross, Microsoft, 1999

    Cross-Site Scripting (XSS), další často používaný útok byl popsán Davidem Rossem z Microsoftu v roce 1999. O rok později pak vyšel popis i veřejně. Útok XSS se zaměřuje na uživatele a jejich prohlížeče, kteří s webovou aplikací nějak pracují, zatímco SQL Injection míří přímo na databázi aplikace.

  12. nbusr123

    Pojďme raději do aktuálního tisíciletí. V roce 2006 se provalilo, že Národný bezpečnostný úrad Slovenskej republiky (NBÚ SR) používal slabé heslo nbusr123, které v roce 2001 nastavil dodavatel zařízení. Člověk z úřadu ho měl změnit, jenže nezměnil a útočníci toho po 5 letech využili. Lidé často defaultní hesla nemění i když jim to řeknete, ale o problémech defaultních hesel routerů od UPC až někdy jindy.

  13. (#1) Leden 2009 – Sazka

    Dostáváme se ke „klasickým“ webovým útokům. Prvním v mém seznamu je případ Sazky z ledna roku 2009. Tenkrát Sazka nabízela finanční odměnu za registraci a když jste si po registraci chtěli vytisknout kupón, tak vás poslali na…

  14. Insecure Direct Object Reference na http://platby.e-sazka.cz/Player/PrintBarcode.aspx?m=reg&id=72569

    …tuto webovou adresu. Webová aplikace Sazky trpěla chybou, které se odborně říká Insecure Direct Object Reference, hovorově protáčení čísel v URL. Tato chyba je poměrně častá i dnes, objevuje se právě v částech aplikace, kde se tiskne nebo stahuje například faktura nebo něco podobného. Aplikace správně neověřuje, jestli data, která chce zobrazit, patří přihlášenému uživateli. Všimněte si toho čísla na konci, stačilo ho měnit a z webu Sazky padala uživatelská data.

  15. Jména a příjmení

    Z webu Sazky nakonec vypadlo přes 18 tisíc jmen a příjmení registrovaných uživatelů, ale naštěstí nic dalšího. Při registraci se totiž zadávaly i další údaje, například číslo občanky. Data jsou na Internetu k dispozici dodnes.

  16. (#2) Září 2009 – Uniqa

    V září 2009 potkal podobný problém pojišťovnu UNIQA. Někdo získal data několika tisíc klientů, kteří uzavřeli cestovní pojištění a na Internet tak unikla jména, rodná čísla, telefonní čísla a čísla smluv. Rodná čísla se často používají pro ověření, že vy jste vy, používají to často banky, například ve chvíli, kdy po nich chcete něco poslat.

  17. Celá smlouva na https://cesty.uniqa.cz/dodatecnytisk.aspx

    Po zadání těch dat do webové aplikace pojišťovny bylo možné stáhnout celou smlouvu, včetně ceny, adresy i data, o kdy do kdy pojištění platí a tedy kdy na dané adrese nejspíš nikdo nebude. Ideální nástroj pro high-tech bytaře.

  18. „Tak to nám to asi někdo fakt napadl.“ – tisková mluvčí pojišťovny UNIQA

    Vtipná byla reakce samotné pojišťovny, které se o úspěšném útoku dozvěděla až z médií. Tisková mluvčí Eva Svobodová k tomu řekla „Tak to nám to asi někdo fakt napadl. Samozřejmě musím začít interně ihned jednat, aby se to napravilo.“

  19. (#3) Prosinec 2009, igigi – RockYou

    RockYou je americká firma a mohlo by se zdát, že do mého seznamu českých a slovenských incidentů nepatří. O pár slajdů dále uvidíme, proč ji zmiňuji. V prosinci 2009 člověk nebo skupina vystupující pod jménem igigi získala pomocí útoku SQL Injection data o uživatelích RockYou a tato data vystavila na Internet.

  20. 32M hesel

    Z RockYou uniklo přes 32 miliónů loginů a hesel v čitelné podobě, díky čemuž se RockYou stalo jedničkou v únicích uživatelských hesel. Ten obrovský balík hesel se používá dodnes na různé analýzy toho, jak uživatelé hesla vytváří. Pokud byste ho chtěli na něco využít i vy, tak ho najdete jednoduše, ačkoliv bez uživatelských jmen.

  21. (#4) Leden 2010, igigi – Azet.sk

    Člověk (nebo skupina) jménem igigi napadl v lednu 2010 slovenský Azet.sk. RockYou byl jediný zahraniční „projekt“ igigiho, jinak ho zajímaly spíš české a slovenské firmy a weby a je tedy možné, že igigi byl z naší kotliny. Nejen vzhledem k objemu dat z RockYou si v mojí přednášce igigi místo rozhodně zaslouží.

  22. Milan Dubec – kokotsom

    Azet.sk problém přiznal, ale tvrdil, že hesla jsou „v nečitateľnej, takzvanej kryptovanej podobe“. To ale igigiho rozpálilo doběla, o prohlášení Azetu napsal, že je full of crap a cracknul přibližně 92 % všech hesel uložených jako MD5 hash. Hesla lidí z vedení Azet.sk, a. s. pak zveřejnil. Milan Dubec byl v tehdy generálním ředitelem, dnes je předsedou představenstva. Jeho heslo kokotsom je předvídatelné, velmi slabé a také vcelku zajímavé. I ostatní uživatelé z vedení Azetu měli hesla poměrně slabá: jestli se jmenujete Karol, rozhodně si nenastavujte heslo carlos.

  23. (#5) 2012–2013 – Czechurity

    Od roku 2012 do roku 2013 byla aktivní skupina (nebo jednotlivec), která si říkala Czechurity, její název vznikl pravděpodobně spojením Czech a Security. Měla na svědomí několik zásadních záseků do živýho, své skutky oznamovala na Twitteru.

  24. Today we hacked all this (ceskatelevize) domains

    V březnu 2012 skupina Czechurity zveřejnila seznam domén, webů a adresářů ze serverů České televize. Žádná další data nezveřejnila, ale i podle toho uniklého seznamu jsme se mohli domnívat, že se v televizi uhnízdili pěkně hluboko.

  25. Czech TV hacked again

    ČT se z incidentu asi nepoučila, protože skoro přesně o rok později, na konci března 2013, Czechurity zveřejňuje seznam dalších adresářů a databází ze serverů ČT.

  26. unicreditbank.cz hacked lol

    V březnu 2013 Czechurity přejmenovala Unicreditbank na Unicreditgang a na webu banky se objevila zpráva o tom, že peníze klientů se ztratily. Na drobný problém na unicreditbank.cz jsem poukazoval už na konferenci WebTop100 v roce 2011, tenkrát šlo jen jednoduše zjistit cestu k souborům – vyzradila ji zobrazená chybová hláška. Czechurity „také zveřejnili heslo“ administrátora, bylo velmi slabé: Banka123. Na server se prý ale dostali pomocí zneužití jiných zranitelností a heslo našli až později.

  27. (#6) prosinec 2012, @smitt3nz – Pixel Federation

    Koncem roku 2012 Twitter účet @smitt3nz zveřejnil nebo přímo získal data ze slovenské firmy Pixel Federation, která se vcelku úspěšně zabývá výrobou facebookových her. Uniklo asi 38 tisíc uživatelských jmen a hashů jejich hesel.

  28. email:md5 (heslo)

    Data z databáze Pixel Federation byla zveřejněna v této podobě. Za e-mailovou adresou byl uveden MD5 hash hesla a pokud se útočníkům podařilo jednoduše získat původní heslo, které odpovídá tomu hashi, tak ho přidali do závorky na konec. Vidíme, že Šílená Mišulka má e-mail na Seznamu a pro přístup ke hrám Pixel Federation používala heslo 197412, které bylo v databázi uloženo jako a3fa5a8c… Heslo 197412 vypadá trochu jako datum narození: prosinec 1974, heslo je tedy předvídatelné a tudíž slabé. Kdyby Mišulka používala stejné heslo i pro přístup k e-mailu na Seznamu, měla by velký problém. Někdo by si totiž do její e-mailové schránky mohl postupně posílat odkazy na reset zapomenutých hesel nebo rovnou nová hesla z dalších služeb a webů a tím Mišulce ukrást celou její online identitu.

  29. fd950e5507df5ddd9fc308ba484d5013:Kapusta0

    Nejen díky analýzám velkého množství hesel v čitelné podobě, která dnes a denně unikají z firem jako je právě RockYou víme, jak uživatelé hesla vytvářejí. Když dostanou za úkol vytvořit heslo, které má 8 znaků a alespoň jedno velké písmeno a jedno číslo, tak vezmou nějaké známé slovo, první písmeno udělají velké a číslo dají na konec. Toho mohou útočníci využít pro zrychlení crackování hesel, zvlášť když jsou hesla hashována tak špatným algoritmem jako je právě MD5 bez saltu. Pro demonstraci jsem nepoužil žádný slovník, ale hrubou silou prošel možné kombinace. Program hashcat jsem nastavil tak, aby jako první znak z osmi zkoušel buď malé nebo velké písmeno, pak šest malých písmen a jako poslední osmý znak zkoušel číslo. 160 miliard kombinací by můj tři roky starý laptop prošel za necelé dvě hodiny. Hesla by měla být hashována pomalým algoritmem se saltem, jak na to se dozvíte v přednášce o hashování hesel.

  30. Sagitta Brutalis

    Jenže na crackování hesel se nepoužívají laptopy, ale spíš clustery složené z takovýchto bestií s 8 výkonnými grafickými kartami (GPU). Tyto počítače staví firma Sagitta HPC Jeremiho Gosneyho, v základní konfiguraci stojí 18499 USD a těch 160 miliard kombinací, které by můj laptop zkoušel dvě hodiny, umí s 8 GPU Nvidia GTX Titan X projít za vteřinu.

  31. (#7) prosinec 2014 – Jabbim

    Jabbim je český Jabber/XMPP server. V prosinci 2014 svým uživatelům nadělil nádherný vánoční dárek v podobě úniku hesel.

  32. 125k hesel, žádný reset

    Z Jabbimu uniklo 125 tisíc hesel v čitelné podobě a útočník je potom nabízel k prodeji na ruských undergroundových fórech. Data nebyla zveřejněna, alespoň prozatím. Jabbim nenabízí žádnou možnost resetu hesel, od svých uživatelů nevyžadoval e-mailovou adresu a s únikem a následným resetem hesel vůbec nepočítal. Část uživatelů přišla o své Jabber účty, protože si heslo nestihla změnit a tak se raději přesunula jinam. Jabbim totiž po úniku vydal akorát blogpost, ve kterém popsal, co se stalo a že si uživatelé mají změnit heslo. Pokud e-mailovou adresu vaše služba nepotřebuje, stejně dejte uživatelům možnost ji zadat, nikdy nevíte, kdy by se mohla hodit. Může to být jen dobrovolná položka registrace.

  33. (#8) únor 2016 – SkTorrent.eu

    Poslední místo v seznamu patří slovenskému SkTorrent.eu. V přednášce zmiňuji spoustu slovenských webů, protože uživatelé z Čech se na ně registrují také, navíc spousta Slováků žije v ČR a proto je pro účely přednášky považuji za „naše“.

  34. 118k hesel

    Z SkTorrentu někdo získal 118 tisíc hesel v čitelné podobě a vystavil je na Internet. Na původní adrese už nejsou, ale stále se dá najít spousta kopií těch dat. SkTorrent hesla nijak nehashoval. Data se dají použít opět na analýzu nebo pro další útoky na uživatele, zvlášť pokud používají stejné heslo i pro přístup k e-mailu.

  35. SOOM.cz

    Bezpečnostních problémů je u nás i na Slovensku tak říkajíc neurékom. Na webu SOOM.cz nejdete diskuzní fórum, ve kterém návštěvníci upozorňují na chyby nalezené na různých webech a ve webových aplikacích. Weby to buď nejsou nijak zajímavé, alespoň z pohledu médií, nebo ještě nedošlo k žádnému úniku dat. Případně došlo, ale zatím na to majitel webu nepřišel, to je nejčastější případ. Docela se divím, že se zatím neobjevil žádný další CzERT, Czechurity nebo igigi.

  36. T-Mobile Bug Bounty

    Pro představu, kolik bezpečnostních chyb obsahoval třeba takový web českého T-Mobile se můžete podívat na jeho zeď slávy. T-Mobile spustil bug bounty program v únoru 2015 a do března 2016 se na seznamu nalezených chyb ocitlo už docela dost položek a jmen. T-Mobile doposud vyplatil na odměnách přes milion korun.

  37. Používejte náhodně generovaná a unikátní hesla

    Jak se jako uživatelé webových aplikací můžete bránit? Používejte náhodně generovaná a hlavně unikátní hesla, pro každou službu jiná, aby při případném úniku někdo nemohl získat heslo k dalším službám, které používáte. Používejte správce hesel, usnadní vám vymýšlení i pamatování hesel. Pokud vyvíjíte nebo provozujete nějakou webovou aplikaci, počítejte s tím, že se nějaký problém může stát a mějte krizový scénář. Přečtěte si zkušenosti Petra Svobody z ShopSysu, poradí vám, co v takovém případě dělat a jak se připravit.

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: