Defaultní hesla a anatomie kybernetického útoku

Když jsem v minulém dílu této série psal o dostupnosti kritické infrastruktury pomocí defaultních hesel, ani jsem netušil, že se s tímto jevem setkám ve vlastní praxi. Vedle zakázek vysloveně zaměřených na bezpečnost dat a jejich přenosů totiž, zejména pro zákazníky, s nimiž mám delší historii, přijímám i zakázky na „ochočování neposlušných krabiček“ neboli vývoj a analýzu speciálních embeded zařízení.

V mém případě šlo o atypické nasazení standardně vyráběných aktivních prvků. Jako první věc po fyzickém převzetí vzorku k analýze a poté, co hned po spuštění se objevila výzva k zadání jména a hesla, jsem se na zadavatele obrátil se žádostí o sdělení tohoto jména a hesla. Setkal jsem se s udivenou reakcí: „Vždyť to je přeci uvedeno v manuálu!“. Poté, co jsem se omluvil s tím, že šlo o vzorek vzatý z reálného provozu a ani mě nenapadlo, že by v něm defaultní jméno a heslo fungovalo, přišel další šok: „A hlavně je neměňte, my je používáme na všech nasazených zařízeních, abychom neměli problémy se školením servisních techniků a zapamatováváním nových hesel.“

Proto, přestože jsem se v minulém díle vyjadřoval proti vynucování příliš restriktivních pravidel ohledně používaných hesel, dnes chci zdůraznit, že nevěnovat problému přístupových práv a používaných hesel vůbec žádnou pozornost, by bylo rovněž nebezpečnou chybou. Z celosvětové statistiky útoků vyplývá, že běžný počítač v domácnosti, která pro útočníka jinak není ničím zajímavá, čelí pokusům o vnesení nějakého nežádoucího programu nebo neoprávněný přístup k datům v průměru jednou za každých dvacet minut. Samozřejmě s rostoucím významem toho-kterého počítače nebo aktivního prvku se četnost i sofistikovanost útoků zvyšuje. Každý garant bezpečnosti, ať už sítě nebo dat na jednotlivých počítačích, by si tedy měl být trvale vědom, jak intenzivnímu tlaku zvenčí je jeho síť trvale vystavena.

Dokážete si přestavit, jak takový útok může prakticky vypadat? Většina operačních systémů poskytuje různé síťové služby umožňující přístup k jeho funkcím na dálku, v případě veřejného internetu prakticky odkudkoli. V řadě případů je z historicky vzniklých důvodů defaultně povoleno přihlašování (aktivace těchto služeb) použitím uživatelského jména a hesla kteréhokoli z uživatelů na daném počítači registrovaných. Přitom některé z těchto služeb (např. ssh) dovolují uživateli na dálku provádět prakticky cokoli, co by mohl provést, kdyby seděl přímo u počítače. Uživatelé zase volí často jako heslo nějaké slovo nebo kombinaci slov, tak, aby se jim heslo dobře pamatovalo. (Opět, formální omezení, jako například přítomnost malých i velkých písmen a alespoň tři číslic, zde nic nevyřeší, protožer heslo nejspíše bude jméno s prvním velkým písmenem a čtyři číslice roku narození.) Jakou službu od počítače požadujeme, přitom uvádíme číslem takzvaného portu, k němuž se připojujeme – můžeme si to představit jako úřad, v němž víme, v jakém čísle dveří vyřizují jaké typy žádostí. Veřejně publikované standardy běžných služeb také definují defaultní čísla portů pro příslušnou službu.

Jeden z druhů útoku tedy typicky probíhá tak, že útočník zkusí na namátkou vybraném počítači kdekoli ve světě otevřít známé číslo portu nějaké služby, která by mu dovolila počítač ovládat nezávisle na jeho majiteli. Pokud se spojení naváže a obdrží dotaz na uživatelské jméno a heslo, zkusí jméno náhodně vybrat z kalendáře (křestní jména), ze seznamů typických příjmení (existují i celosvětové seznamy, ale účinnější je podle IP adresy stanovit zemi, v níž počítač funguje a zkusit seznam příjmení typický pro tuto zemi) a případně zkoušet kombinace jako jménopříjmení, jméno_příjmení, jméno.příjmení a podobně. Obdobně pro heslo zkusím jedno nebo kombinaci několika slov ze slovníku příslušné země.

Samozřejmě šance, že se napoprvé trefím, je velmi malá, nicméně (většinou) mi nic nebrání o „něco“ – podle okolností za milisekendu až několik minut – zkusit další v pořadí a tak dál, dokud neuspěji. Počítač toto dokáže zkoušet za mě a je obdařen nevyčerpatelnou trpělivostí. Navíc, pokud je útok veden už na konkrétní cíl, mohu zkoušená jména i slova omezit s ohledem třeba na seznam zaměstnanců publikovný na internetu, nebo na slova vztahující se k předmětu podnikání. Také mohu přednostně zkoušet například defaultní hesla publikovaná v dokumentaci různých zařízení (která je samozřejmě rychle dostupná na internetu).

Jaké tedy z našich poznatků vyplývají závěry? Je třeba se držet „zlaté střední cesty“. Neomezovat zbytečně kreativitu uživatelů při tvorbě hesel (aby jejich osobní heslo nebylo zneužito, je koneckonců především jejich zájem i zodpovědnost), ale zároveň nebagatelizovat potřebu nějaké heslo používat všude tam, kde se otevírá širší přístup k jakémukoli aktivnímu prvku (včetně počítačů samotných) a rozhodně se vyhnout heslům publikovaným ve veřejně dostupné dokumentaci. Zkrátka, téměř všude vyžadovat přihlašovací heslo, ale ve většině případů jeho tvar ponechat na uživateli.

Nejdůležitější je pak osvěta, mluvit s uživateli, ukazovat jim výše popsané principy nejjednodušších útoků a varovat je před možnými důsledky. Naopak technokraticky vynucovaná pravidla bez bližšího komentáře vedou v kombinaci se snahou o snadnou zapamatovatelnost k tvorbě nebezpečně jednoduchých hesel a zároveň k falešnému pocitu bezpečí.

Kdekoli je to možné, je také vhodné (všechny programy to dnes už dovolují) změnit číslo přístupového portu z defaultního na „jakýkoli jiný“. Představte si, jak návštěvníkovi ztížíte orientaci na úřadě z úvodního modelu, když změníte rozesazení služeb do jednotlivých čísel dveří oproti zavedeným zvyklostem.

A problémy s údržbou a vzájemnou zaměnitelností zařízení pak může snadno vyřešit například jednotné, avšak nikoli defaultní, heslo publikované v materiálech vydaných pouze pro potřebu té které společnosti.

Perličkou, která ukazuje výjimku potvrzující pravidlo o zodpovědnosti uživatelů při tvorbě hesel, je přístup ředitele jedné z nejmenovaných českých bank. Poté, co došlo k masivnímu narušení databáze s „živými penězi“, stavy účtů , následné vyšetřování ukázalo, že přístup byl proveden prostřednictvím (pochopitelně autorizovaného) osobního počítače pana ředitele a následně se ukázalo, že uživatelské heslo k tomuto počítači bylo „1234“.

Pan ředitel samozřejmě ihned v bance (a zřejmě celém bankovnictví a přilehlých oborech) skončil, nicméně výraz „heslo 1234″ se okamžitě stal populárním technickým pojmem v české komunitě zabývající se bezpečností dat.

Facebook Comments