facebook LinkedIN LinkedIN - follow
IT SYSTEM 7-8/2002

(Ne)bezpečná hesla

Josef Šustr


Používání hesel pro autentizaci uživatelů IT je jedním z kritických míst bezpečnosti informační infrastruktury podniku. Pro bezpečné používání hesel bohužel existuje řada chybných, ale přitom velmi oblíbených doporučení a mýtů. Pokusme se alespoň některé obecně oblíbené omyly popsat, vysvětlit a opravit.


Něco historie
Heslo jako prostředek autentizace uživatelů se používá zhruba od roku 1960. Snahy různých útočníků hesla se zmocnit a získat tak nelegální přístup k informacím a službám informačního systému jsou přibližně stejně staré. Nutno poznamenat, že tyto útoky byly a jsou často úspěšné.

Zpočátku žádná pravidla pro konstrukci hesla neexistovala, požadavkem bylo pouze "uchovat heslo v tajnosti". Jak se postupně objevovaly nové a nové útoky, rostla a sílila i nejrůznější pravidla, jak učinit heslo odolnějším proti rozluštění.
 
První pravidla zněla: "Heslo musí být pamatovatelné" a "Jestliže je heslo někam zapsáno, zápis musí být pod zámkem".
 
Další doporučení vycházela z jednoduché úvahy, že útočník může nalézt heslo vyzkoušením všech možností (útok hrubou silou). Proto vznikla pravidla pro délku hesla a jeho platnost: "Heslo musí být nejméně 6 znaků dlouhé, podle potřeby i delší, v závislosti na použité znakové sadě, ze kterých se heslo tvoří" a dále "Heslo se musí periodicky měnit."

Některá doporučení ještě prodlužovala délku hesla. Vycházelo se z toho, že zbytkové riziko, tj. pravděpodobnost, že heslo bude rozluštěno, by neměla přesáhnout jednu miliontinu. To ovšem vyžaduje délku hesla nejméně 9 znaků při použití pouze písmen malé nebo velké abecedy, a 8 znaků při kombinaci písmen s číslicemi.
 
Jak se však záhy ukázalo, stále to bylo málo. Lidé mají tendenci vybírat pro hesla dobře vyslovitelná a pamatovatelná slova, nejčastěji jména. Nikoli tedy tajný číselný kód nebo náhodně vybranou posloupnost znaků, ale docela obyčejná a pokud možno známá jména, například "Praha". Nestačí délka? Budiž, tedy "Bratislava". Úspěšné, takzvané slovníkové útoky z 80. let jasně prokázaly, že tomu tak je. Proto se objevila další pravidla typu "Heslo musí obsahovat směs písmen (malých i velkých), číslic a interpunkčních znaků".
 
Také požadavky na periodickou změnu hesla sílily: "Je-li heslo měněno, musí se změnit alespoň 3 jeho znaků". Například změna hesla "HmS-leden" platného v lednu posloupností "HmS-únor" je nepřípustná. A další problém: vzhledem k praktické nemožnosti bezpečně uložit záznamy všech platných hesel všech uživatelů "pod zámkem" v současné době většina pravidel přímo zakazuje jakékoli zaznamenání hesla (s výjimkou hesel správců).

Shrnuto a podtrženo, výše uvedená pravidla lze zjednodušit do jediného: "Heslo nesmí být pamatovatelné a nikdy nesmí být nikam zapsáno".

Žádná příručka takto nesmyslně požadavek neformuluje, ale v podstatě všechny k němu směřují. Co je teoreticky správné, je prakticky nereálné. Pravidla pro výběr a používání hesla žijí svým životem, a reálná praxe také svým. Důsledkem je, že tato pravidla prakticky nikdo nedodržuje.

Co na to Rudolf?
Představme si uživatele jménem Rudolf, který potřebuje změnit svoje heslo, protože platnost starého vypršela, a přeje si při tom dodržet všechna pravidla. Rudolf momentálně nemá dobrý nápad, ale co naplat, změnu nelze odkládat, protože systém, například Windows NT, jej k tomu nutí. Musí si tedy něco vymyslet, dobře si to zapamatovat, napsat to dvakrát, aniž vidí, co píše, a to všechno hodně rychle, protože zákazník čeká.

Člověk je schopen v krátkodobé paměti uchovat maximálně pět až devět signálů typu písmeno, číslice, slovo nebo jiný dobře rozpoznatelný znak. To je zhruba v souladu s běžnými požadavky na délku hesla (pět až devět znaků). Avšak Rudolfova paměť uchová právě vybrané heslo na dobu jen asi půl minuty a během této doby si jej musí zapamatovat. Jestliže je ale Rudolf čímkoli vyrušen, heslo okamžitě zapomene. Provedené studie ukazují, že se to ve velké většině případů také stává. Nezbývá tedy, než porušit pravidla a heslo si někam poznamenat.
 
Uživatelé obvykle jako hesla volí originální slova, protože si mnohem snadněji zapamatují slovo než nějaký řetězec znaků. Špatně se pamatuje "rgbmrhuea", daleko snáz se pamatují stejná písmena ve slově "hamburger". Existují sice metody pro cvičení paměti, které umožní zapamatovat si jakýkoli například nesrozumitelný výraz, těžko však žádat po Rudolfovi, aby absolvoval speciální kurz. "Bezpečné heslo" si prostě nelze bez náležité průpravy zapamatovat.

Slovníkové útoky
V roce 1988 vzrušil počítačový svět tzv. "Internet Worm", červ (druh útočného softwaru, podobně jako virus), jehož účinky byly velmi dobře zdokumentovány. Tento červ se pokoušel rozluštit uživatelská hesla cestou jejich porovnávání s různými seznamy běžných (anglických) slov. Nejprve však zkoušel dosadit jako heslo přímo uživatelská jména, vlastní jména a příjmení uživatelů, což často vedlo k úspěchu. V opačném případě nasadil slovník 432 nejčastěji užívaných slov počítačové hantýrky světa Internetu. Jestliže ani to nestačilo, použil 24 474 běžné užívaných slov anglického jazyka, a nezapomněl ani na "nulové" heslo. Výsledek: mnoho organizací oznámilo až 50% úspěšnost útoku tohoto internetového červa [Spafford].

Bylo provedeno mnoho dalších průzkumů a zkoušek, zajímavý je například pokus Daniela V. Kleina [Klein]. Klein dal dohromady asi 15 000 uživatelských jmen a k nim náležejících zašifrovaných hesel z různých unixových systémů od přátel a známých z USA a Velké Británie, a pustil se do díla.
 
Nejprve vyzkoušel, zda někdo nepoužívá jako heslo své uživatelské jméno. Ukázalo se, že 368 uživatelů to tak dělá (2,7%).
 
Dále sestavil slovník obsahující asi 60 000 položek. Slovník zahrnoval jména a příjmení osob, geografické názvy, jména literárních, filmových a televizních hrdinů, biblické termíny, často užívané odborné výrazy atd. Různou kombinací těchto slovníkových výrazů, užitím velkých a malých písmen, obvyklých záměn a přesmyček získal si 3,3 milionu možností. Ukázalo se, že to stačilo ke zjištění 24,2 % hesel z uvedeného seznamu. Zdá se to složité? Pentium P100 potřebuje na jedno heslo asi 2 minuty.

Pomiňme diskuse o tzv. off-line a on-line útocích a různých možnostech tyto útoky v reálném systému provést. Postačí, pokud uvedeme, že pro úspěšné rozluštění hesla je nutné splnit ještě další předpoklady, to však nic nemění na skutečnosti, že útoky tohoto druhu se v praxi vyskytují a nejsou ničím, co by mohlo být považováno za výjimečný případ.
 
Donucovací funkce a podložka pod myš
Dokonalým nástrojem, jak vyzrát na uživatele, kteří nedodržují stanovená pravidla, jsou systémy automatického generování hesla nebo různé donucovací prostředky kontrolující "kvalitu" hesla zvoleného uživatelem. Mechanizmy kontrolující předepsanou délku hesla a jeho složení jsou součástí běžných operačních systémů, například Windows NT/2000 a většiny verzí Unixu.

Bohužel však tyto donucovací funkce neřeší uspokojivě problém motivace uživatelů. Technokratický přístup nepomáhá odstranit obyčejný lidský problém si něco takového, jako je heslo, spolehlivě zapamatovat.
 
Ačkoli, jedno řešení by tady bylo. Shodou okolností podložka pod myš má přesně ten tvar, jako rohožka u dveří. Stejně jako mnoho lidí s oblibou nechává klíče od domu pod rohožkou, dělají to i s heslem od počítače. Podle jednoho z provedených průzkumů [Smith] měla celá jedna třetina uživatelů zkoumané instituce zapsána svá hesla na rubu podložky pod myš.
 
Podobně je tomu prakticky ve všech organizacích. Místo podložky se dobře hodí i spodní část klávesnice, kartónový podklad kalendáře nebo horní zásuvka stolu. Pokud bychom se rozhlédli po pracovním místě uživatele, v převážné většině případů bychom tam někde zapsané heslo našli, a nejen to poslední.
 
Provedené průzkumy ukazují, že čím častěji systém vyžaduje na uživateli změnu hesla, tím si jej uživatel zapisuje blíže k počítači [Smith]. Pravděpodobnost výskytu hesla zapsaného v blízkosti pracovní stanice se pohybuje v různých organizacích, v závislosti na stanovené maximální době platnosti hesla, od 16 do 39 %. Naproti tomu v podobných organizacích, kde se periodická změna hesla nevyžaduje, je pravděpodobnost takového výskytu kolem 5 %.
 
Ale to zdaleka není všechno. Velmi rozšířená jsou také tzv. "kolektivní hesla". Praktické potřeby vedou ke sdílení hesel mezi vedoucími pracovníky a jejich sekretářkami, mezi pracovníky jedné kanceláře nebo celého úseku, mezi zastupujícími se pracovníky. Všude tam jsou hesla často sdílena nebo krátkodobě i dlouhodobě půjčována atd. Ruku na srdce - který čtenář se s něčím takovým na svém pracovišti nikdy nesetkal?

Existuje řešení?
Domníváme se, že ano. Odpoutejme se od myšlenky, že vše vyřeší čipové karty, další autentizační předměty, otisky prstů, vzorky sítnice a jiné biometrické metody. Jsou to drahé prostředky a na dlouhou dobu zůstanou vyhrazeny pouze omezenému okruhu uživatelů. Heslo bude žít ještě dlouho.
 
Pokusme se zformulovat několik dobrých rad, které by mohly neradostnou situaci alespoň trochu vylepšit. Tyto rady směřují ke zvýšení reálné úrovně bezpečnosti počítačových systémů a na základě praktických zkušeností se domníváme, že ke zvýšení podstatnému:
 
1. Vysvětlete uživatelům, jaký smysl používání hesla má. Zdůrazněte rizika, ukažte možnosti získání hesla, principy slovníkových útoků, uveďte příklady. Vysvětlete klasická doporučení pro konstrukci hesla, aniž byste však tato doporučení prezentovali jako závazný předpis. Věnujte tomuto poučení dostatek prostoru a pravidelně jej opakujte.

2. Zdůrazněte odpovědnost uživatelů za ochranu svého uživatelského účtu. Vysvětlete uživatelům principy ochrany hesla v systému a sdělte jim, že nikdo jiný kromě nich (například správce) nemůže heslo použít, protože ho nezná a znát nemůže. Poučte uživatele, že na případné nelegální aktivity nepoctivých osob provedené jejich jménem (s využitím jejich hesla a uživatelského účtu) bude pak pohlíženo, jako by je provedli oni sami. Předejte uživatelský účet každému uživateli individuálně a formálně - každý by měl podepsat, že byl o zásadách bezpečné práce s heslem poučen, rozumí jim a prohlašuje, že se jimi v praxi bude řídit.

3. Nenuťte uživatele hesla příliš často měnit. Stejné heslo by nemělo být používáno déle než rok, optimální doba platnosti hesla je asi 3 měsíce. Časté změny hesla mají kontraproduktivní charakter a téměř vždy vedou ke snížení reálné úrovně bezpečnosti.

4. Umožněte uživatelům změnit své heslo, kdykoli to budou potřebovat, například při podezření, že heslo mohlo být vyzrazeno. Poskytněte uživatelům dostatek času na rozmyšlenou při změně hesla. Zásadně nepřípustné je, aby pracovníci, kteří zapomněli heslo a žádají o zpřístupnění svého účtu, byli jakkoli káráni nebo dokonce perzekuováni.

5. Rozvíjejte podnikovou kulturu, která mimo jiné považuje za nemístné ptát se na heslo jiného uživatele nebo toto heslo poskytovat, stejně jako třeba pozorovat jiného uživatele, který se hlásí do systému. V organizacích s vyspělou bezpečnostní kulturou zaměstnanci považují za samozřejmou slušnost se minimálně otočit, když vidí, že se někdo chystá zadávat své heslo.

6. Pokud je výjimečně nutno ve specifických případech používat sdílená ("kolektivní") hesla, oficiálně tuto možnost povolte, avšak stanovte přesná pravidla pro tuto činnost. V ostatních případech používání sdílených hesel netolerujte.

7. Počet různých přihlášení a s tím souvisejících hesel, které jsou uživatelé nuceni používat, by měl být co nejmenší. I když vlivem historického vývoje podnikových informačních systémů je často třeba se přihlašovat vícekrát (zvlášť do sítě, do databáze, k různým aplikacím, k poštovní schránce atd.), usilujte o urychlené technické řešení tohoto problému. Pokud nelze jinak, pak alespoň tím, aby ochrana záznamů hesel v jednotlivých systémech byla ekvivalentní a bylo možné povolit uživatelům používat pro různé systémy stejné heslo (je třeba předem provést analýzu rizik).

A jednu důležitou poznámku na závěr. Zavedení zdánlivě méně přísných pravidel pro tvorbu a používání hesla musí být doprovázeno upevněním kázně uživatelů, nikoli rozpuštěním bezpečnostních zásad. Například prodloužení periody povinné změny hesla má za cíl, aby si uživatelé mohli svá hesla lépe pamatovat, nikoli aby se ušetřilo místo na podložce pod myš při pokračování dosavadní trestuhodné praxe!!

Pozn. red.: Autor článku je spoluzakladatelem společnosti INFOSEC, která se specializuje na služby v oblasti ochrany informací a informačních systémů.

Literatura
. Smith, R.E.: The Strong Password Dilemma. Computer Security Journal, vol XVII, No 4, Fall 2001.
. Spafford, E.: Crisis and Aftermath. Communications of the ACM, vol 32, No 6, June 1989.
. Klein, D.: A Survey of, and Improvements to, Password Security. Unix Security Workshop II, USENIX Association, 1990.

Chcete získat časopis IT Systems s tímto a mnoha dalšími články z oblasti informačních systémů a řízení podnikové informatiky? Objednejte si předplatné nebo konkrétní vydání časopisu IT Systems z našeho archivu.


Inzerce

Jak si vedou české firmy v kybernetické bezpečnosti

Praktické zkušenosti z oblasti etického hackingu a penetračního testování

Komplexní zabezpečení pod­ni­ko­vé infrastruktury, počínaje výpočetními systémy přes úložná řešení, až po komunikační linky není jednoduchá záležitost. S větší či menší úspěšností se o to snaží každá organizace.