Hlavní navigace

Trampoty s heslem

Vojtěch Bednář

Kdysi dávno jsem se spolupodílel na projektu jednoho programu. Program to byl jednoduchý – čtení a zápis do databáze, analýza obsahu. Co jednoduché nebylo, bylo bazírování zadavatelů programu na bezpečnosti. Vše muselo být „echt“. Nedávno se mi dostalo trochu pochybné cti pokusit se jej opět uvést do provozu.

Vojtěch Bednář

Ilustrace: Nenad Vitas

Aby mohl uživatel program používat, musel zadat postupně dvě hesla a jedno jméno. První z hesel jej opravňovalo k tomu, aby program vůbec naskočil. Druhé v kombinaci s uživatelským jménem zpřístupňovalo zašifrovanou databázi. Jakýkoliv administrační zásah, respektive změna kteréhokoli z asi padesáti nastavitelných parametrů, vyžadovaly heslo další; tentokrát správcovské.

Databáze byla nejenom šifrovaná (proprietární algoritmus vycházející z blowfish), ale obsahovala také velmi šikovný mechanismus ověřování integrity. V době, kdy o virtualizaci v podmínkách desktopu nebylo ani potuchy, dokázal program v rámci ochrany před prolomením rozpoznat hrátky hackera se systémovými hodinami, s vnitřními registry a dokonce i pokusy o odposlechnutí jeho vnitřních stavů. Zkrátka a dobře, na to, jak byla samotná funkční část primitivní (několik matematických funkcí, uživatelské rozhraní na bázi tří formulářů a tiskový modul) byl bunkr okolo ní takřka neprůstřelnou haldou betonu.

Ačkoli s daným programem již nemám nic společného a program navržený původně pro Windows 98 patří vlastně dávno do křemíkového smetiště, dostalo se mi trochu pochybné cti pokusit se jej opět uvést do provozu. Háček? Majitelé, přesněji řečeno jejich nástupci, znali pouze přihlašovací údaje k jednomu z uživatelských účtů (byly uloženy ve speciální databázi, která se editovala jednoúčelovou utilitou, dnes již ztracenou v propadlišti dějin). Heslo pro vstup do programu (nastavené napevno, uložené v nečitelné podobě ve spustitelném souboru) i heslo pro administraci (totéž a obě netriviální) se jaksi „vykouřilo z paměti".

Strávil jsem u vizualizovaných Windows 98 pár hodin čistého času. Během této doby jsem se částečně holedbal nad tím, jak byla bezpečnost programu i databáze ve své době na výši, částečně proklínal vlastnosti znemožňující mne pustit dovnitř (program mimo jiné po každých pěti špatných pokusech o zadání vstupního hesla maže sám sebe i s databází a nechává si o tom v registrech systému poznámku pro případ reinstalace). Reinstaloval a promazával jsem asi tak desetkrát. Když už jsem to takřka vzdával, napadalo mne zkusit kontaktovat jednoho z původních programátorů a požádat jej o radu – dotyčného jsem nedávno potkal, a tak jsme na sebe měli aktuální kontakty.

Kolega byl k mému štěstí právě doma, a tak měl čas se prohrabat letitými papíry s naději povzbuzujícím mumláním „tam někde byl takový fíglík“. Chvilku to trvalo, ale nakonec našel.

„Stačí v adresáři s programem vytvořit prázdný soubor admin.txt. Pak budou všechna jednorázová hesla nastavená na heslo. Rozumíš? Heslo je heslo,“ ozvalo se ze sluchátka. Dal jsem na jeho radu a ono to opravdu fungovalo. Letité uživatelské rozhraní naskočilo a po vstupu do účtu ožila i databáze. Chlouba fortifikace počítačového softwaru druhé poloviny 90. let padla během třiceti sekund. Bylo mi jasné, že jak jsem to udělal, se majitelé nesmí nikdy dozvědět.

Dozvěděli, a díky tomu to teď víte i vy. A jaké z toho plyne ponaučení?

I ty nejpevnější pevnosti mívají nejhloupěji schovaná zadní vrátka. Trampoty s komplikovaným heslem (originál administračního měl deset znaků a byl neslovníkový, což muselo ve své době administrátorům trhat žíly) mohou mít jednoduchý konec, nicméně stejně tak mohla mít snadný konec i celá snaha o superodolný program. Přitom kdyby byla opatření méně přísná a uživatelsky více přívětivá, třeba by se program obešel bez zadních vrátek.

Našli jste v článku chybu?

3. 8. 2009 21:10

Myslíte si, že by autor programu s poměrně komplikovaným zabezpečením byl takový hlupák, aby tyto zadní vrátka udělal snadno zjistitelná? Stačí aby projel adresář a název každého souboru hashoval např. MD5 funkcí a porovnal ji s v kódu napsaným hashem řetězce "admin.txt". A můžete být cacker jaký chcete, ale nikdy nepřijdete na to, co tam hledá (pokud se vám to nepodaří tipnout).
DigiZone.cz: NG natáčí v Praze seriál o Einsteinovi

NG natáčí v Praze seriál o Einsteinovi

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

DigiZone.cz: Optimedia: hybridní kampaň Nescafé

Optimedia: hybridní kampaň Nescafé

Podnikatel.cz: K EET. Štamgast už peníze na stole nenechá

K EET. Štamgast už peníze na stole nenechá

Měšec.cz: Zdravotní a sociální pojištění 2017: Připlatíte

Zdravotní a sociální pojištění 2017: Připlatíte

Root.cz: Kamery Sony se dají ovládnout na dálku

Kamery Sony se dají ovládnout na dálku

Podnikatel.cz: Alza.cz má StreetShop. Mall.cz více výdejních míst

Alza.cz má StreetShop. Mall.cz více výdejních míst

120na80.cz: Stoná vaše dítě často? Upravte mu jídelníček

Stoná vaše dítě často? Upravte mu jídelníček

Měšec.cz: Vklad na cizí účet je draze zpoplatněn (přehled)

Vklad na cizí účet je draze zpoplatněn (přehled)

Vitalia.cz: Jmenuje se Janina a žije bez cukru

Jmenuje se Janina a žije bez cukru

Vitalia.cz: Jsou čajové sáčky toxické?

Jsou čajové sáčky toxické?

Vitalia.cz: Nahradí sluch, ale zvuk je zcela jiný

Nahradí sluch, ale zvuk je zcela jiný

Root.cz: Mirai má nový cíl 5 milionů routerů

Mirai má nový cíl 5 milionů routerů

Podnikatel.cz: Zavře krám u #EET Malá pokladna a Teeta?

Zavře krám u #EET Malá pokladna a Teeta?

Podnikatel.cz: 3, 2, 1..EET startuje. Na co nezapomenout?

3, 2, 1..EET startuje. Na co nezapomenout?

Vitalia.cz: Když přijdete o oko, přijdete na rok o řidičák

Když přijdete o oko, přijdete na rok o řidičák

Root.cz: Telegram spustil anonymní blog Telegraph

Telegram spustil anonymní blog Telegraph

Měšec.cz: Za palivo zaplatíte mobilem (TEST)

Za palivo zaplatíte mobilem (TEST)

120na80.cz: Popraskané rty? Některé balzámy stav zhoršují

Popraskané rty? Některé balzámy stav zhoršují

Podnikatel.cz: Chaos u EET pokračuje. Jsou tu další návrhy

Chaos u EET pokračuje. Jsou tu další návrhy