Jaká Češi používají hesla? Expert analyzoval hacknutou databázi e-shopu Xzone.cz

1

Dostalo se nám pod ruku přes sto tisíc hesel jednoho českého e-shopu, která hacker odcizil minulý rok a nedávno je umístil na pastebinu. Z nich jsem analyzoval 16 587 kousků obnažených v plaintextu, ostatní hesla byla zveřejněna v nic neříkající číselné reprezentaci; zřejmě se je nepodařilo rozhashovat.

Předkládám vám tuto svou skromnou studii, která původně neměla za cíl nic jiného, než si povšechně zaokounět nad podobou českých hesel, nakonec se však vyvinula v kolůsek, který Národnímu bezpečnostnímu CSIRTu pomohl vyvinout lepší způsob regulární analýzy nad množinou dat.

 

Soudě dle uživatelských jmen se z dobré poloviny jedná o hesla majitelů e-mailu na Seznamu, z šestiny na Gmailu, z desetiny na Centru.

Počet znaků v hesle

Promítli-li bychom si délky hesel na gaussovu křivku, našli bychom její střed v bodě osm, celá čtvrtina vzorku používá 8znaké heslo (4401). Téměř shodný počet lidí používá kratší heslo (4857), zbylá polovina má heslo delší (7329). Celých 90 % hesel je mezi 6 a 11 znaky. Pouze 6 hesel je delší 18 znaků: jedna snadno zapamatovatelná anglická fráze, frontman Slipknotu s číselnou řadou, vyjádření lásky k hrám Doom a Far Cry. A kraluje 26znakové heslo, které se skládá ze slova „prosím“ a úctyhodných dvaceti číslovek, které musí být med si pamatovat. 3znaké heslo máme jen jedno: „.85′.“.

Délka hesel
Délka hesel

Kořeny slov

Stáhl jsem si seznam lemmat českého národního korpusu, odstranil lemmata kratší než 4 znaky a porovnal s textem, abych zjistil, jaké kořeny slov se v heslech nacházejí. Seznam obsahuje všechna používaná slova, tj. nejenom česká, ale narazil jsem i na anglická (player), německá (Wassermann), francouzská (maison), profláklá latinská (deus). Třetina hesel se nepodobá ničemu (‚kekeke78‘, ‚.“y!W‘, ‚IDkfa75jj‘), přes deset tisíc hesel však obsahuje nějaké rozpoznatelné slovo.

Vůbec nejoblíbenější řetězec je „zone“, vyskytuje se v obměnách celkem 184× (‚xzonelogin‘, ‚xzone44‘, ‚psikzone‘). Jistě ne náhodou je to část jména e-shopu – z toho je vidět, jak lidé rádi jméno služby používají v hesle.

Dominují především jména: potkal jsem 103 petrů, 85 janů, na 70 lukášů a martinů, 60 tomášů, 50 davidů, 40 pavlů, na 30 jardů, adamů, míš, jakubů, honzů, pepů a 24 výskytů ojedinělě anglického jména john (další anglické jméno je až george – 8 výskytů). Vzorek není dostatečně reprezentativní, ale zdá se, že převažují jména mužská, ženy se zřejmě volí do zdrobnělin.

Ženám vede 22 lenek, 14 peter a aniček, 13 páj, 13 lucek – a zvlášť 13 lucinek, 12 elišek, 8 velkých terez a 9 malých terezek, které mají za sebou důsledně 2 či 4místné číslo nebo partnera martina. Kromě toho 176 hesel obsahuje ženské příjmení končící „-ova“. U 50 z nich obsahuje příjmení i uživatelské jméno a zde v dobré polovině případů totéž příjmení. Lze spekulovat, že druhá polovina představuje jméno ženy za svobodna. Uživatelských jmen na „ova“ je celkem 1186 (po odečtení n-ová-ků).

V říši zvířat jsem našel 33 psů (z toho 13 i se svým jménem), 22 draků a 7 dragonů, 18 lam, 8 králíků a slonů, 7 orlů a kaprů, 6 klokanů, opic, ryb a veverek, 4 osli, tygři a kuřata, 3 očíslované kočky, 6 kocourů, 6 mourků, 3 myši a 3 potkani, 2 krávy, 1 slepici, žirafu, vlka, vlkodlaka a vlka jakuba, 1 pavouka a 6 spiderů.

Co jsem našel dál? Parentální vztahy (11× mama, 10× maminka, 9× tata, 2× tatinek a 1 tataracek), městskou příslušnost (12x Praha, 11x Brno, 8x Ostrava), vyznání (14× sparta, 8× banik, 4× slavie), výrobky (11× asus, 9× acer, 9× nokia, 8× samsung), hambatosti (4× nas*at, 7 orgánů ženského pohlaví, 15 kokotů, 11 hoven a 13× pr*el (v kombinaci s rokem narození, množstvím v ní obsaženého či prováděnou činností); pr*el je k tomu i 6× v e-mailu a coby bonus nalézáme 9× prd v různých situacích), sex (je spíše v uživatelských jménech – 15×, oproti 10 výskytům v heslech) a návykové látky (4x piva, 1x fernet, 1x becherovka).

Nejfrekventovanější heslo coby podstatné jméno je „heslo“ – 68 výskytů (‚tajneheslo1998‘, ‚heslonetreba‘, ‚Megaheslo‘, ‚heslo‘ a číslo…). Se 43 výskyty se objevuje lemma „kolo“ (43×), v závěsu jsou tři anglicismy „game“ (38×), „star“ (34×), pozitivní „kill“ (24×) a „ahoj“ (19×). Následuje seznam slov s alespoň 3 výskyty. Ovšem slova pod deset výskytů jsou zde většinou, jen pokud patří k delším nebo zajímavějším kouskům. Vypsal-li bych všechna ojedinělá kraťoučká slova, asi by vás to nebavilo.

  • 17× shop
  • 16× moto
  • 15× dark
  • 14× fotbal
  • 13× master
  • 12× nakup
  • 12× poklop, super, tiscali (tito autoři nepoužívají současně schránku na doméně tiscali), veslo (asi že se rýmuje s ‚heslo‘: ‚vESLO‘, ‚hesloveslo5‘, ‚oveslo1′,’prdaveslo‘)
  • 11× rock, craft, kolik, destiny, auto
  • 10× forever, team, mega
  • 9× magor a milacek
  • 8× cert (což asi nebude zkratka pro náš bezpečnostní tým CSIRT.CZ), rambo
  • 7× kofola a matrix
  • 7× sluníčko a motor
  • 6× silver a street
  • 5× policie, jahoda, lopata, okurka, kostra, password, shadow, future, citron, mazlik, trabant
  • 5× vanoce a geniove
  • 4× aragorn, chleb, gothic, storm, milanek
  • 3× slunce, kytara, wanted a meloun

Nutno podotknout, že jsem ignoroval lemmata, u nichž se zdálo, že drtivě nereprezentují konkrétní slovo – například hned druhé nejfrekventovanější lemma vůbec, „inka“ (149×), se vyskytuje jen v koncovkách (‚Dusinka‘, ‚pavlinka90‘, ‚zibrinka‘) – skutečnou slečnu „Inka12“ máme jenom jednu.

Cestou hesly jsem nezachytil snad vůbec žádnou diakritiku. Buď nebyla rozhashována, nebo se ji Češi zdráhají v heslech používat (což je možná škoda). Též všechno jsou jen první pády – pokud si někdo zvykne používat třeba sedmý pád, hned bude odolnější vůči slovníkovému útoku. Lemmat (základních tvarů) existuje na 120 000; pokud použijeme i pády a další tvary slov, hned se topíme v miliónech kombinací.

Skupiny znaků

Žádné heslo o méně než 5 znacích není tvořeno jen malými písmeny; tací autoři se snaží. Vyjma „T601“ a „Pes5“ se jedná o obtížná hesla, co bych asi neuhodl a co by stroji crackujícímu hash mohla trvat i několik vteřin. Na pěti písmenech začíná největší šlendrián – „UTERY“ (alespoň že velkými), „drzek“, 2x „Gabka“ (přičemž jedna z nich se tak jmenuje) apod.

Rozdělil jsem všechna hesla podle kategorií, zda obsahují písmena malá, velká, číslice a všechny ostatní, speciální znaky.

Speciální znaky
Speciální znaky

Vypadá to, že žádné heslo není tvořeno jen speciálními znaky. Kolik hesel je tvořeno jen číslicemi, nedovedu říct – nerozpoznám je od nerozhashovaných hesel. Celkem máme 720 hesel, která používají speciální znak; 124 mají speciální znaky dva, v 46 případech jsou dva speciální znaky za sebou. Nejoblíbenější je tečka, vyskytuje se 211×, z toho 57× na konci slova.

Přidávám úplný seznam speciálních znaků.

Skupiny složitosti hesel
Skupiny složitosti hesel

Znak „větší než“ nemá nikdo. Též nikdo nepoužívá dvojtečku, což mě překvapuje, protože je na klávesnicích běžně k dostání, rozhodně o něco více než „větší než“ > a třeba circumflex ^.

Nejčastější kombinace skupin

Hesel, která jsou tvořeny písmeny s číslicemi na konci je většina – 8037 výskytů (‚pepa1256‘, ‚frank167‘, ‚pidos007‘, ‚obchod1254‘). Z toho dvě tisícovky hesel končí na 2 číslice, další dvě na 4 číslice, tisíc a půl hesel je zakončeno 3 číslicemi, tisícovka jedinou číslicí a půl tisíce má dokonce 6 číslic.
Pokud je v hesle číslice, bude to s největší pravděpodobností jednička (5542 hesel). Pokud jsou v hesle dvě číslice za sebou, bude to jedna dva (1101 hesel); pokud číslice mají být totožné, jsou to dvě nuly (584 hesel).

Korelace s přihlašovacím jménem

Zkoumal jsem zajímavou otázku, zda lidé používají heslo, které se podobá přihlašovacímu jménu. Ano; když jsem vzal každý sled pěti znaků hesla a hledal je v řetězci jména, ukázalo se, že každý třináctý uživatel: 1297 hesel má 5 a více znaků stejných nebo zcela shodných s e-mailem.

  • ondraluk@email.cz → 2ondraluk
  • zinule.m@seznam.cz → zinulem
  • genius1006@gmail.com → netGENIUS11
  • martin.sn@atlas.cz → martin0117
  • pmachtik@centrum.cz → machta100
  • alledain@seznam.cz → Alledain

Závěr

Osobně si myslím, že je lepší heslo delší nežli složitější – deset jednoduchých znaků se vyplatí mnohem více než tři složité. Ovšem jak vidíme, ať je heslo dlouhé či krátké, ať obsahuje obskurní znaky nebo jenom latinku, všechno marné, když poskytovatel příliš nehashuje. Vzpomínám si na vtipy o hackerovi, lamerovi a looserovi. Looser si dá heslo ‚zuzana‘, protože kdo by mohl tušit, že se jeho manželka jmenuje Zuzana? Hacker si dá heslo ‚zuzana‘, protože je mu jedno, jestli ho někdo hackne. Lamer si dá heslo ‚n#FG*[f83‘ a každý týden ho zapomene.

Používejte jiná hesla na různé služby; ach, alespoň na ty kruciální.

Pro psaní článku byl využit Český národní korpus: Srovnávací frekvenční seznamy. Ústav Českého národního korpusu FF UK, Praha 2010. Dostupné z WWW: http:ucnk.ff.cuni.cz/srovnani10.php
Citlivá data použitá v článku jsou pozměněna – všechny e-mailové adresy a některá hesla. Někdo má hezké krátké heslo, tak mu ho tu neprásknu.

Článek původně vyšel na blog.nic.cz, autorem je Edvard Rejthar. Zde jej uveřejňujeme pod licencí CC BY-SA.

Jaká Češi používají hesla? Expert analyzoval hacknutou databázi e-shopu Xzone.cz

Ohodnoťte tento článek!

1 komentář

  1. V článku mi chybí jaká hash byla použita, navíc mě překvapuje věta „Kolik hesel je tvořeno jen číslicemi, nedovedu říct – nerozpoznám je od nerozhashovaných hesel.“ Hash má snad pevnou délku ne? Takže cokoli jinak dlouhého je číselné heslo, navíc hash přece není jen z číslic. Buď mám mezery já a nebo je něco zvláštního na tom souboru.