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 !