Hlavní navigace

Únik desítek tisíc hesel z Kuma.cz a hlava v písku

Autor: Depositphotos
Michal Špaček

České herní e-shopy mají tak trochu smůlu (a jejich zákazníci taky). Tohle už je několikátý, kterému unikla databáze přihlašovacích údajů, tentokrát to bylo skoro sto tisíc hesel v čitelné podobě.

Doba čtení: 9 minut

Provozovateli obchodu Kuma.cz je to navíc dost jedno a upozornění dlouho zůstávalo bez reakce. Pokud jste tento web doposud neznali, tak se snažte, aby to tak zůstalo.

Několikátý? Ano, v roce 2016 odhalil Technet únik dat z Xzone.cz. Šlo o 108 tisíc hesel v čitelné podobě, která se útočníkům podařilo cracknout, Xzone tehdy prý používal algoritmus MD5 a vylámat taková hesla jde rychle a levně, jak jsem si ověřil při lámání u hesel z Mallu. Xzone.cz chybu přiznal, omluvili se a ukládání hesel předělali na bcrypt, tak by to mělo vypadat.

Odhalení úniku a jeho rozsahu

Kuma.cz, s.r.o., na to jde úplně jinak: před problémem strčí hlavu do písku. 3. července jsem jim poslal toto upozornění:

Dobrý den,

(nepodařilo se mi najít kontakt, kam zasílat upozornění na bezpečnostní chyby, prosím přepošlete tento e-mail té správné osobě. Kdybyste chtěli hledání správného kontaktu ulehčit, tak si na web přidejte soubor  security.txt )

Věnuji se zabezpečení webových aplikací, o tématu přednáším a školím, rád bych aby aplikace, stránky a data uživatelů na Internetu byly bezpečnější, proto Vám (v dobrém) píšu. Jsem na vaší straně :-) Při nálezu uniklých dat firmy upozorňuji, pár příkladů z minulosti: upozornění na únik dat firmy Zoner nebo z nevyhazujto.cz.

Před pár dny se na Twitteru uživatele Vigilante.pw objevil seznam nově uniklých (nebo zjištěných úniků) databází společně s počtem záznamů. Po detailnějším prozkoumání nově přidaných záznamů jsem si všiml, že v tom seznamu je i databáze z kuma.cz s 81 tisíci záznamy.

Databázi z vašeho e-shopu (společně s dalšími skoro třemi tisíci, ale bez zveřejnění počtu záznamů v jednotlivých souborech) také nahrál Troy Hunt již v únoru do svého nástroje na prohledávání uniklých dat a napsal o tom článek.

Vypadá to, že minimálně jednou data z vaší služby tedy unikla. Při pokusu o vyhledání názvu hry např. „tom clancy's“ se navíc objeví chybová hláška:


mysql_num_rows() expects parameter 1 to be resource, boolean given

Tato hláška říká, že web stále umožňuje provést útok SQL Injection, což je nejspíš chyba, kvůli které data unikla.

Vigilante.pwTroy Hunt shodně uvádí, že databáze obsahovala hesla v čitelné podobě, to je ostatně patrné při pokusu o změnu hesla. Původně zadané heslo se předvyplní do formuláře, což značí, že není uloženo bezpečně. Ověřit se to dá i při zapomenutí hesla: původní heslo se pošle v čitelné podobě na e-mail.

Únik dat můžete ověřit právě v nástroji, který Troy Hunt provozuje, na haveibeenpwned.com zadejte e-mail (měl by být v úniku nazvaném „2,844 Separate Data Breaches“) a na https://haveibeenpwned.com/Passwords můžete zadat hesla.

Prosím, vyřešte únik dat co nejdříve:

  • opravte chybu SQL Injection, aby nešla dále získávat data
  • zabezpečte správně hesla uživatelů pomocí algoritmu bcrypt nebo Argon2i (v PHP je na to funkcepassword_hash() apassword_verify() pro ověření)
  • informujte své uživatele, uveďte jak jste jejich údaje a hesla ukládali, přidejte popis nového způsobu ukládání a změňte jim hesla a doporučte změnit hesla i na dalších službách, pokud tam používají stejné
  • o úniku dat informujte Úřad pro ochranu osobních údajů

Chybu a únik jsem zatím nikde nezveřejnil, dokud problém nevyřešíte tak to ani neplánuji. ale prosím berte na vědomí, že ten únik je již několik měsíců veřejně známý, data jsou ke stažení a chybu je celkem jednoduché odhalit.

Díky, držím palce při řešení, Michal Špaček

Kuma.cz únik dodnes nevyřešila. Uživatele neinformovali, ÚOOÚ nejspíš také ne a SQL Injection opravili jen ve vyhledávání. Je tedy klidně možné, že mohlo uniknout i více než těch 81 tisíc hesel, která v přehledu uvádí Vigilante.pw.

Únik z Kuma.cz v databázi Vigilante.pw
Autor: Michal Špaček

Únik z Kuma.cz v databázi Vigilante.pw

(Ne)zabezpečení hesel

Na zabezpečení hesel se provozovatelé vykašlali, vaše heslo v čitelné podobě stále předvyplní do políčka v nastavení účtu a po jeho zapomenutí vám ho vesele pošlou e-mailem, což potvrzuje pokračující ukládání hesel v čitelné podobě, nadále ohrožující všechny zákazníky a uživatele obchodu Kuma.cz.


Autor: Michal Špaček

Heslo vypsané v čitelné podobě do formuláře v nastavení účtu



Autor: Michal Špaček

Původní heslo poslané po jeho zapomenutí

Tenhle článek píšu proto, abych upozornil uživatele, a ti tak mohli své účty zabezpečit. Měli by změnit heslo, které používali nebo stále na Kuma.cz používají, a to i kdekoliv jinde, pokud ho používali na více místech. S „recyklací“ hesel by měli přestat, neměli by jedno heslo (nebo podobná hesla) používat pro více webů a správu hesel by měli raději přenechat službám k tomu určeným. Jednou z nich je oblíbený a bezpečný správce hesel 1Password.

Snaha o nahlášení problému

Vydání článku předcházela snaha mnoha lidí firmu kontaktovat a přesvědčit je k nějaké reakci. Žádná se nedostavila.

  • 3. července jsem na podpora@kuma.cz poslal e-mail uvedený výše
  • 10. července ve 12:06 posílám na podpora@kuma.cz, hry@kuma.cz další zprávu:

Před týdnem jsem na podpora@kuma.cz posílal zprávu o úniku desítek tisíc emailových adres a hesel v čitelné podobě, viz níže, ale doposud jsem od vás nezaznamenal žádnou reakci. Dorazil vám onen e-mail?

  • ten samý den, ve 13:33, přišla z podpora@kuma.cz odpověď: „Přepošlete na kolegu info@kuma.cz“ – přitom o přeposlání na správnou adresu jsem žádal v úvodu mého prvního e-mailu
  • o necelou hodinu později, ve 14:16 přeposílám upozornění na podpora@kuma.cz, info@kuma.cz, hry@kuma
  • 11. července žádám o pomoc Národní úřad pro kybernetickou a informační bezpečnost, konkrétně Vládní CERT České republiky, který přizval Národní CSIRT České republiky (díky všem!)
  • CSIRT kontaktoval hosting a ten 16. července píše (díky!), že zákazníka informovali a že v Kuma.cz si zprávu přečetli
  • 25. července došly nápady, a tak píšu tenhle článek, tři týdny po prvním e-mailu a dva týdny po jejich první a jediné odpovědi

Obecné nařízení GDPR vyžaduje, aby případ byl nahlášen bez zbytečného odkladu. Správce případ ohlásí Úřadu pokud možno do 72 hodin od okamžiku, kdy se o něm dověděl. Pokud není ohlášení Úřadu učiněno do 72 hodin, musí být současně s ním uvedeny důvody tohoto zpoždění, říká Úřad pro ochranu osobních údajů.

Vypadá to, že Kuma.cz o nějakém úniku dat již věděla od konce března, jen to špatně vyhodnotili. V komentářích pod článkem na Živě, který na únik z několika „menších českých serverů“ také upozornil, pan Jiří Hora totiž chybně uvedl, že únik se prý týkal nějakého nezávislého diskuzního fóra (se stovkou registrovaných uživatelů) shodou okolností také běžícího na doméně kuma.cz a že „uživatelé e-shopu Kuma.cz mají svá uživatelská hesla a emaily v bezpečí“. Odvážné tvrzení vzhledem k ukládání hesel v čitelné podobě.

Jestli nevíte, jak na případné upozornění na únik dat reagovat, tak takhle prosím vás ne, z Kuma.cz si příklad rozhodně neberte. Chraňte data svých uživatelů a zákazníků a k bezpečnostním problémům se postavte čelem, jako třeba DomainTools nebo Alza, obě firmy vyřešili méně závažné problémy dřív, než bys řek' plaintext.

Já jdu náhled článku poslat do Kuma.cz, aby o něm věděli z první ruky.

Dodatek č. 1: zpráva

Po odeslání náhledu na adresy uvedené výše mi ve středu 25. července ve 21:38 z hry@kuma.cz přišla nepodepsaná odpověď: „Věc se řeší, bohužel ne tak rychle, děkuji za info“. Myslím si, že každý má právo na šestnáctou šanci, a tak odpovídám, že posunuji datum vydání o pár dní později, na pondělní ráno.

Ten samý den v noci, s nož…článkem na krku, konečně také vyšla oficiální informace (později doplněná, viz níže, původní zpráva v archívu), která připouští možný únik dat. Ta zpráva je ovšem z velké části opsaná od Xzone.cz, který je zmíněn na začátku. Jen si to porovnejte sami, Kuma.cz píše (zvýraznění je moje):

Taková informace se nikdy nepíše snadno, přesto vás o ní ale musíme informovat natolik otevřeně, jak je to jen možné. Neznámému pachateli se možná povedlo odcizit hesla a emaily k uživatelským účtům. Útok byl vedený přes chybu v outsourcovaném provizním systému. Uděláme pak celou řadu dalších zabezpečení, aby se útok neopakoval.

vyjádření Xzone.cz z října 2016 začíná takto:

Taková informace se nikdy nepíše snadno, přesto vás o ní ale musíme informovat natolik otevřeně, jak je to jen možné. Před více než rokem jsme zaznamenali pokus o hack našeho obchodu, zacílený na digitální klíče. V té době jsme s touto službou začínali a hack byl, bohužel, úspěšný. Neznámému pachateli se povedlo odcizit zhruba 30 klíčů. Útok byl vedený přes chybu v outsourcovaném provizním systému. Chybu jsme odstranili a udělali pak celou řadu dalších zabezpečení, aby se útok neopakoval.

Kuma.cz pokračuje:

Z této situace vyplynulo, že spolu s těmito klíči se jim povedlo získat zřejmě asi polovinu emailů uživatelů obchodu. Vše nyní prošetřujeme a ještě dnes uděláme zásadní opatření u zašifrování tak, aby se situace již nikdy neopakovala.

Porovnejte s Xzone:

Dnes však vyplynulo, že spolu s těmito klíči se jim povedlo získat zřejmě asi polovinu emailů uživatelů obchodu (máme přes 200 000 uživatelů, uniklo 108 000). U úniku jsou uvedena i hesla uživatelů, která se hackerům i přes zašifrování (MD5) zřejmě povedlo v databázi prolomit. Vše nyní prošetřujeme a ještě dnes uděláme zásadní opatření u zašifrování tak, aby se situace již nikdy neopakovala.

Kuma.cz dále píše:

Nyní jsme všechna hesla vyresetovali a zákazníci by si svá hesla měla [sic] změnit jednoduše žádostí o nové heslo během přihlášení, do emailu jim následně přijde nové heslo, případně si jej zvolí sami po přihlášení, radíme používat velká a malá písmena + číslice.

Ještě 26. července ve 13:37 jsem se stále mohl přihlásit původním heslem, resetováno nebylo. Heslo se také stále vypisovalo v uživatelském nastavení.

Zbytek zprávy je kompletně a do puntíku opsané oznámení o úniku z Xzone.cz.

¯\_(ツ)_/¯

Z té zprávy bylo patrné, že Kuma neví kudy kam. Napsal jsem jim tedy 26. července v podvečer ještě jeden e-mail, ve kterém jsem vydání zprávy označil jako dobrý začátek, ale doporučil napsat zprávu vlastní a neinspirovat se tolik u konkurence. Znovu jsem vysvětlil, tentokrát trochu obsáhleji, že je potřeba opravit všechny chyby SQL Injection, a doporučil postup.

Také jsem zopakoval, že hesla by měla být ukládána pomocí algoritmu bcrypt nebo Argon2i a že na to v PHP je hezká dvojice funkcípassword_hash() password_verify() .

Dodatek č. 2: aktualizovaná zpráva

O to více jsem byl překvapen, když zpráva o úniku byla v pátek 27. 7. doplněna o informaci, že „provedli upgrade šifrování, které nyní využívá šifrovací algoritmus SHA512 [sic]. To by mělo všechna vaše hesla, emailové adresy a telefonní čísla dostatečně ochránit a zabránit nějakému dalšímu napadení ze strany hackerů a úniku dat.“

(╯°□°)╯︵ ┻━┻

Odhlédněme od toho, že nešlo o žádný upgrade šifrování (žádné předtím neměli) a že SHA-512 není šifrovací algoritmus. Takto „zašifrovaná“ data nejdou totiž dešifrovat a je tedy jasné, že Kuma e-mailové adresy a telefonní čísla pomocí SHA-512 „nešifruje“ – nedostali by se k nim a nemohli by zákazníkům posílat žádné zprávy. Pojďme také přimhouřit obě oči nad sdělením, že to samo o sobě data před únikem ochrání – ne, neochrání.

Czech Internet Forum 2018 Tip s tlačítkem

To podstatné je, že algoritmus SHA-512 je pro ukládání hesel naprosto nevhodný, je příliš rychlý a útočníci mohou hesla pořád celkem rychle vylámat. SHA-512 je pro hesla jen o chlup lepší než MD5 a jen o dva chlupy lepší než ukládání v čitelné podobě.

Fíha. Uff. Co na to říct… Kuma zkrátka není kompetentní k provozování e-shopu. Utrácejte jinde.

Mohlo by vás také zajímat

Našli jste v článku chybu?