Chip 07/2005: antivirový koutek

 

Nejsložitější viry, které kdy pracovaly pod operačním systémem MS-DOS, byly takzvané stealth viry. Ty různým způsobem maskovaly svoji přítomnost před uživatelem či antivirovými programy – například tím, že pokud někdo chtěl přečíst napadený soubor, virus takový požadavek zachytil a změnil informace tak, že byl k dispozici původní obsah, neobsahující kód viru. Viry tak skrývaly stopy svého působení a nebylo jednoduché jejich přítomnost odhalit.

 

Existuje něco podobného i ve světě Windows? Odpověď zní bohužel ano. Stále více škodlivých programů je schopno se v systému maskovat a skrýt a věřte mi, že kvůli komplexnosti a komplikovanosti vlastního systému je často odhalení takového vetřelce mnohem složitější než v dobách MS-DOSu. Posledním trendem je využívání programů typu rootkit. O co se přesně jedná?

 

Termín rootkit pochází ze světa UNIXu a je poměrně starý. Jedná se o programy, které zajišťovaly uživateli přístupová práva administrátora (root). Programy typu rootkit, které pracují pod Windows, ale fungují trochu jinak. Jejich úkolem je (tak jako tomu bylo u stealth virů pod MS-DOS) skrýt libovolný (škodlivý) program před antivirovým či antispywarovým programem a zamaskovat jeho přítomnost v systému. Tyto programy nejsou škodlivé samy o sobě, ale jsou masově zneužívány škodlivými programy: viry, červy, trojskými koni či spywarem. Rootkity jsou používány například ve virech Maslan a Myfip-H, daleko častěji je ovšem najdeme v trojských koních (backdoor, keylogger), které tak mohou dlouhodobě bez povšimnutí přežívat na hostitelských strojích. Je jasné, že antivirové programy nemohou najít a odstranit něco, co nevidí! Rootkit byl podle některých zpráv použit například ke krádeži zdrojového kódu hry Half-Life 2.

 

Jak takový rootkit pracuje? Celkem jednoduše: je spuštěn jako součást operačního systému (kernel mode driver), a proto má nejvyšší privilegia. Má přístup ke všem zdrojům počítače a systému. Pokud pracuje, může například skrývat přítomnost souborů či celých adresářů na disku, může dokonce ukrývat vybrané běžící procesy či položky v registry. Tak je možno kompletně „schovat“ škodlivý program, o němž pak nemá administrátor ani ponětí. Navíc může samozřejmě sledovat třeba stisknuté klávesy (a fungovat tak jako keylogger). Jedinou nevýhodou použití rootkitu z hlediska autorů malware je to, že vlastní instalace musí být prováděna s administrátorskými právy. Bohužel v reálném světě kolem nás je tato podmínka v řadě případů splněna – uživatelé z pohodlnosti či neznalosti používají účet s právy administrátora a případné bezpečnostní problémy si neuvědomují.

 

Je možné běžící rootkit odhalit? Ano, je. Rootkit musí být aktivní v paměti, proto je možno jej tam najít, i když se skrývá (podobně to fungovalo i se stealth viry), i když to často není jednoduché. Daleko spolehlivější je jiná metoda: je jasné, že pokud rootkit neběží, nemůže nic schovávat. Toho se dá využít například při zavedení čistého systému (například BART CD) nebo při připojení pevného disku k jinému čistému počítači. Někdy je možno využít chyby v rootkitu a například odhalit přítomnost souborů, které rootkit zapomněl ukrývat.

 

Někteří autoři rootkitů říkají, že jejich produkty jsou užitečné. Jiní se v poslední době otevřeně připojili ke spammerům a autorům škodlivých programů a snaží se na svých produktech vydělávat. Například autor velmi rozšířeného rootkitu, nazvaného Hacker Defender, nyní nabízí potencionálním zákazníkům to, že jejich software nebude detekován nejrozšířenějšími antivirovými programy či dokonce speciálními detektory rootkitů – za pouhých 500 dolarů. Je jasné, že dlouhodobě je taková záruka nesmyslná a že každý program je detekovatelný, ovšem zájem o tuto službu je pravděpodobně nemalý.

 

V současnosti není nasazení rootkitů příliš masové. Je však zřejmé, že se jedná o velmi „užitečný“ a zneužitelný nástroj pro internetové zločiny či dokonce kybernetické teroristy. Je možné, že v blízké budoucnosti bude jejich používání a zapojení do škodlivých programů mnohem větší a že v našich počítačích vypuknou podobné „bitvy“ mezi programy, jaké se v minulosti odehrávaly v 640 KB operační paměti systému MS-DOS J !