Mělo to trvat stovky let. Hackerům se to podařilo za týden

Uniklá data z kontroverzní seznamky Ashley Madison se už měsíc potulují internetem. Nyní se hackerům podařilo dešifrovat miliony hesel, kód webu totiž obsahoval hromadu chyb.

Na bittorrentové síti a dalších skladištích se už bezmála měsíc povalují gigabajty uniklých dat z kontroverzní seznamky Ashley Medison a počítačoví specialisté se pokoušejí dekódovat zašifrovaná hesla několika desítek milionů uživatelů.

Miliony falešných žen

Vše začalo letos v červenci, kdy se médiím ozvala skupina Impact Team s prohlášením, že pokud Ashley Madison co nejdříve nezavře krám, hackeři zveřejní data jejích uživatelů, což se nakonec i stalo. Přesný motiv útočníků se už asi nedozvíme, Ashley Madison ale každopádně nepatří jen tak k ledajakým seznamkám. Specializuje se na zadané, kterým slibuje románek a mužům zástupy dychtivých žen.

502466124
Podle letních průzkumů uniklých dat tvoří většinu ženských profilů mrtvé duše

Realita byla ovšem poněkud jiná, skutečné ženy jsou totiž na Ashley Madison absolutně nedostatkovým zbožím. Seznamka byla už dříve obviňovaná, že drtivou většinu tamních dam tvoří falešné účty, což později nepřímo potvrdila i analýza magazínu Gizmodo, podle které vyvíjelo alespoň nějakou aktivitu pouze dvanáct tisíc žen. Na službě jich bylo přitom registrováno přes pět milionů. Zbývajících třicet milionů tvořili hladoví muži z celého světa včetně České republiky, web je totiž lokalizovaný i do češtiny.

Co je uvnitř obřího torrentu?

Desetigigabajtový torrent (existuje více verzí) obsahuje několik komprimovaných souborů. Jedná se třeba o rozměrné textové soubory s kompletními zálohami databází MySQL (SQL dump), každý si tedy může s trochou píle analyzovat na 36 milionů uživatelských účtů.

909830081  287020262
Struktura torrentu s několika GZ a 7Z archivy a ukázka zálohy kompletního seznamu e-mailových adres 36 milionů uživatelů ve formátu SQL. 

Jednoduchým rozborem souboru aminno_member_email.dump se tak třeba dozvíte, že obsahuje 36,3 milionů e-mailových adres a 26 tisíc z nich má koncovku .cz. Drtivou většinu z nich tvoří schránky hostované na Seznamu (18 tisíc) a zbytek především Centrum (necelé 3 tisíce). Pokud k tomu připočítáme tuzemské uživatele, kteří se registrovali skrze Gmail, Hotmail a další globální poštovní služby, vyjde najevo, že měla služba určité postavení opravdu i u nás.

Několikanásobně zašifrovaná hesla

Ashley Madison se na svém webu vychloubá špičkovým zabezpečením. To už dnes sice zdaleka není pravda, ještě před pár dny se však zdálo, že se to bude týkat alespoň zašifrovaných hesel.

Uživatelská hesla jsou skutečně na první pohled zajištěna velmi solidně pomocí technologie bcrypt s čtyřmi tisíci iteracemi. Výsledný zašifrovaný guláš znaků uložený v databázi se tedy doposud zdál jako neprolomitelný. Kdyby se o to někdo pokusil, bude mu dekódování kompletní databáze trvat nejspíše celá staletí – tedy přinejmenším na současném hardwaru. A to nemám na mysli vaši domácí mašinu nebo notebook, ale specializované analytické farmy serverů vyzbrojené výkonnými CPU a GPU procesory.

123456 a další evergreeny

Někteří se pokusili analyzovat alespoň malé vzorky. Bezpečnostní expert Dean Pierce tak po pěti dnech masivních výpočtů odkryl „pouze“ čtyři tisíce hesel, což je nakonec ještě docela slušné skóre.

Pokud bychom takto malý vzorek považovali za dostatečně reprezentativní, nejčastějšími hesly by se mezi uživateli nechvalně proslulé seznamky těšily kombinace 123456, password, 12345, qwerty, 12345678, ashley, baseball nebo třeba relativně tematická řada 696969. Suma sumárum, zdá se, že podstatnou část návštěvníků tohoto webu lze považovat za bezpečnostně absolutně negramotnou.

Nikoliv desítky let dešifrování, ale pár dnů

Jenže pak se ozvali hackeři ze skupiny CynoSure Prime a do světa před pár hodinami vyslali jednoduchou zprávu: Dešifrovali jsme více než 11 milionů hesel z databází Ashley Madison. Nepotřebovali k tomu desítky let, trvalo jim to totiž pouze něco málo přes týden. To je zlá zpráva zejména pro ty oběti, které měly na službě stejné heslo, které používají třeba i na mnohem kritičtějších webech s absencí dvoufázového přihlašování.

Seznam z bezpečnostních důvodů sice nezveřejnili, na blogu však popsali způsob, jak se jim to vůbec podařilo. Principiálně je to vlastně velmi prosté. Namísto toho, aby se pokoušeli otrocky a opravdu bláhově dešifrovat několikanásobně kódovaná hesla pomocí metody bcrypt, prošli tisíce řádků zdrojových kódů v PHP, až našli několik návrhových chyb, které dramaticky snižují bezpečnost celého zabezpečení webu Ashley Madison.

Na patnáct milionů hesel totiž bylo v databázi zašifrováno dvěma způsoby – pomocí velmi složitého bcryptu a pomocí populární šifry MD5, která se dnes používá pro svoji rychlost, nicméně za cenu toho, že není ani zdaleka tak dokonalá jako bcrypt.

625916121
Základní princip primitivního reverzního prolamování hashů

Programátoři ke všemu udělali hromadu dalších designových chyb. Při výpočtu hashů hesel pomocí MD5 převedli původní prostý text na malá písmena, což dramaticky snižuje počet možných kombinací při reverzním crackingu. Ze zdrojového kódu šlo zároveň snadno zjistit, že jako sůl posloužilo uživatelské jméno. Sůl je v šifrovací terminologii další text, který se při šifrování přidává k původnímu heslu, aby bylo zpětné rozluštění hotového hashe o to složitější.

Kvůli těmto bezpečnostním chybám dokázali pánové z CynoSure Prime rozluštit mnohem jednodušší hashe MD5 a správnost získaných hesel poté mohli ověřit opětovným zakódováním pomocí bcryptu a porovnáním s hlavním seznamem tak precizně šifrovaných hashů. Detailnější postup a popis chyb najdete na zmíněném blogu skupiny.

Jak se jim to podařilo?

Dejme tomu, že surfař bude mít jméno VelkýPepa a heslo Bobik1234. Ashley Madison při registraci vytvořil silně zakódovanou podobu hesla – tzv. hash pomocí šifry bcrypt. Mohlo to vypadat třeba takto: $2b$12$saja7k7JOw...

Jenže web používal ještě druhý hash vytvořený pomocí jednodušší šifry MD5 složením uživatelského jména (sůl) a hesla. Obě hodnoty byly ke všemu převedené na malá písmena, což snižuje počet možných kombinací. Takový MD5 hash pak mohl vypadat třeba jako c4d174d389733...

Jeho rozluštěním, což bylo mnohem jednodušší než dešifrování hashe z bcryptu, získali pánové z CynoSure Prime heslo, které mohli opětovným zašifrováním skrze bcyrpt porovnat s hlavním komplikovaným hashem v databázi. Sedělo to.

Pancéřový trezor, ale s klíčem hned u vchodu

Takže si to zrekapitulujme. Hesla sice byla na straně Ashley Madison zašifrovaná téměř neprůstřelnou technologií, ale podstatná část z nich byla zašifrovaná i pomocí mnohem jednodušší techniky. Proč? Tyto jednodušší kontrolní šifry údajně sloužily (a nejspíše dodnes slouží) pro automatické přihlašování k webu.

Jak poměrně výstižně napsala Ars Technika, je to podobné, jako byste seznam hesel uložili v tom nejbezpečnějším trezoru na světě, ale klíč schovali v dřevěné skřínce hned vedle vchodových dveří. Ostatně podle CynoSure Prime bylo dešifrování hesel díky těmto chybám až milionkrát rychlejší, než kdyby měli skutečně luštit hesla zakódovaná pomocí technologie bcrypt.

A tak tu máme další zajímavou zkušenost a varovný ukazováček pro všechny webové programátory. Můžete mít sebelépe zašifrovaná data, pokud se však dopustíte návrhových chyb a útočníci získají i přístup ke zdrojovým kódům, jejichž analýzou reverzní inženýři tyto chyby odhalí, může být celé špičkové zabezpečení k ničemu.

Nelze tedy než doufat, že podobný osud jako Ashley Madison, ale v minulosti i poměrně velkých společností jako třeba Adobe, nepotká i ty největší hráče v čele s Googlem, Facebookem, Microsoftem a Applem.

Diskuze (27) Další článek: Šéf amerických zpravodajců: Snowden zašel příiš daleko

Témata článku: , , , , , , , , , , , , , , , , , , , , , , , ,