Odhalujeme nebezpečné programy

11. 7. 2007

Sdílet

Málokomu přijde zábavné spouštět Správce úloh a zkoumat tu kupu záhadně pojmenovaných procesů, běžících na počítači. Pokud si vůbec nevíte rady, pak je možné položit si otázku, kolik spuštěných procesů je skutečně nezbytných pro práci, kterou na svém počítači právě děláte. Nebo jinak: zda neběží nějaký proces, který nějakým způsobem dělá neplechu.

Identifikujte malware skrytý v systémových složkách Windows!(CD)

Málokomu přijde zábavné spouštět Správce úloh a zkoumat tu kupu záhadně pojmenovaných procesů, běžících na počítači. Pokud si vůbec nevíte rady, pak je možné položit si otázku, kolik spuštěných procesů je skutečně nezbytných pro práci, kterou na svém počítači právě děláte. Nebo jinak: zda neběží nějaký proces, který nějakým způsobem dělá neplechu.

Bohužel jen velmi málo z nás má jiné než povrchní znalosti o tom, co se děje uvnitř operačního systému Windows. Většinou se spokojíme s tím, že pokud nějaký program spustíme, tak jednoduše běží, a pokud spustíme další programy, tak ve Windows běží paralelně vedle sebe.
V tomto článku se pokusíme objasnit způsob, jak identifikovat většinu systémových souborů Windows (a jak objevit neznámé soubory), takže budete moci snadno odlišit procesy neškodné a naopak užitečné od těch, které vám škodí. Rovněž vám prozradíme, jak sledovat běh každé aplikace spuštěné na vašem počítači, včetně nejnovější hrozby, která se nyní objevila těmi jsou skryté soubory programů umožňující napadení a následné využívání počítače útočníkem tzv. rootkity.
Samozřejmě podobně jako například u přírodních katastrof ani v tomto případě nemůžete nikdy přesně vědět, kdy nebo kde se v operačním systému objeví nová bezpečnostní trhlina, která dokořán otevře bránu do vašeho systému a umožní doslova vykradení dat z vašeho počítače. Dokonce ani když používáte firewall, aktualizovaný antivir a antispywarový program, pečlivě provádíte stahování a instalaci všech bezpečnostních záplat, nejste spolehlivě chráněni před nejnovějšími a nejrafinovanějšími škodlivými programy.
Antiviry a ostatní utility na ochranu vašeho počítače se musí skutečně co nejčastěji aktualizovat co možná nejdůkladnějšími updaty, aby skutečně pracovaly účinně, přesto však nezachytí nákazu, kterou ještě nikdy nepoznaly. Jinými slovy, největší nevýhodou těchto programů je vždy určité "mrtvé" období, které uplyne mezi tím, kdy se na internetu objevil a rozšířil například nový červ, a dobou, kdy se objeví nové definice pro antivirové programy, které tuto nákazu odstraní. Zda je toto "mrtvé" období záležitostí několika minut či dní, je při těchto úvahách asi jedno, protože vrátka pro průnik do systému se budou stejně otevírat vždy s objevením nové nákazy a zavírat s vydáním záplaty tuto nákazu postihující.
Na druhou stranu pokud je malware identifikován, je jeho odstranění obvykle docela jednoduché, třebaže velmi únavné. Proto pokud se budete řídit postupy pro detekci malwaru, uvedenými v tomto článku, pak váš počítač bude dozajista vždy v dobré kondici.

Bezpečnost především
Prvním a nejdůležitějším pravidlem, které si musíte zapamatovat, je to, že na počítači máte nainstalovaný operační systém, takže nemůžete jednoduše projít složky se systémovými soubory a ty, které se vám nějakým způsobem nezdají, smazat. Pokud byste takto postupovali, pak se snadno stane, že svůj počítač již příště nespustíte.
Za druhé, před každým důležitým krokem si nejprve udělejte zálohu operačního systému pomocí nástroje Obnovení systému. Zmíněný nástroj, který je k dispozici ve Windows ME a XP, spolehlivě vrátí operační systém do stavu před provedením případné změny, která se neukázala jako šťastná. Nástroj spustíte pomocí nabídky Start/Programy/Příslušenství/Systémové nástroje/Obnovení systému. Po spuštění programu vyberete možnost Vytvořit bod obnovení a následně se budete řídit pokyny průvodce. Nový bod obnovení pak vytvořte před provedením každé významnější změny v operačním systému.
Pravděpodobně budete potřebovat, aby se v systému zobrazovaly standardně skryté systémové soubory. To zařídíte tak, že spustíte program Průzkumník Windows, zde v menu Nástroje klepnete na položku Možnosti složky a přesunete se na záložku Zobrazení. Zde umístěte zatržítko před položku Zobrazovat skryté soubory a složky a ujistěte se, že naopak nejsou aktivní položky Skrýt příponu souborů známých typů a Skrýt chráněné soubory operačního systému (doporučeno). Pokud se zobrazí nějaké dialogové okno, vyžadující potvrzení některé z prováděných akcí, stiskněte tlačítko Ano (o dalších varováních bude řeč později). Nyní spusťte aktualizovaný antivirový a antispywarový program. Nakonec případně smažte soubor, o němž jste si takřka stoprocentně jisti, že je součástí nějaké malwarové infekce. Nepoužívejte ale například následující postupy pro odstranění starých DLL souborů ze systémových složek.

Zjistěte, které procesy jsou spuštěny
Nyní jste připraveni k tomu, abyste zjistili, které programy a procesy máte na svém počítači právě spuštěny. Aplikace Správce úloh systému Windows bohužel nedokáže zobrazit úplně všechny běžící procesy a aplikace, proto musíte použít program jiný. Velmi vhodným je například zdarma dostupný Process Explorer, který naleznete na internetové adrese www.sysinternals.com/Utilities/ProcessExplorer.html, popř. na našem CD jako soubor PROCESSEXPLORERNT.ZIP o velikosti 553 KB.
Není nutná instalace, stačí pouze rozbalit soubor archivu a poklepat na soubor PROCEXP.
EXE. Process Explorer je skutečně velkolepou náhradou Správce úloh. Možná se někomu nemusí jeho vzhled zamlouvat, nicméně je to program velmi spolehlivý a účinný. A navíc je dostupný zdarma.
Řada informací, které může Process Explorer poskytnout, je však standardně skryta. Pokud je chcete zobrazit, klepněte pravým tlačítkem myši na název sloupečku a z kontextového menu vyberte příkaz Select Columns. Položky Process Name i Description by měly být zatrženy vždy, ale ujistěte se, že jsou aktivní i položky Company Name a Command Line. Nyní se přesuňte na záložku DLL, zkontrolujte, že je zatržena položka Path a stiskněte tlačítko OK.
Nyní se přesuňte do menu View a ověřte, zda je aktivní volba Show Lower Pane. Nakonec ještě v menu View/Lower Pane View vyberte položku DLLs.
S takto provedenými nastaveními Process Exploreru si nyní můžeme vybrat jakýkoliv proces a ve spodní části aplikačního okna se zobrazí DLL knihovny, které proces používá. Sloupeček Command Line ukazuje u každého spuštěného programu jeho umístění na pevném disku, nebo v případě spuštěných procesů (jelikož některé běží pod procesem svchost.exe) identifikuje, která instance procesu svchost.exe tuto službu používá.
Všechny procesy, jejichž cesta ukazuje do dočasné složky Temp, by vás měly okamžitě upozornit, že něco zřejmě nebude v pořádku. Spyware má totiž tendenci se sám instalovat a spouštět z takových nestandardních umístění, jako je právě složka Temp. Podobně pokud nějaký spuštěný proces ukazuje na DLL knihovnu ve složce Temp, pak je opět třeba se mít na pozoru. Jedinou možností, kdy může být nějaká aplikace či proces spuštěn ze složky pro dočasné soubory, je případ, kdy instalujete nějaký program, který používá instalátor, například InstallShield. Kromě procesu Explorer.exe pravděpodobně uživatelé Windows XP naleznou ještě i jiné běžící procesy jako například smss.exe, winlogon.exe, services.exe, alg.exe či lsass.exe. Všechny výše jmenované jsou kritické systémové procesy Windows a nesmí být smazány.
Jeden legitimní soubor Windows, který zaslouží o něco více pozornosti, pokud je nalezen mezi spuštěnými procesy, je rundll32.exe. Některé druhy malwaru, rozšiřované jako soubory DLL, se skrývají právě tím, že tento program používají jako příslovečný odrazový můstek. Správce úloh ukáže pouze to, že běží program rundll32.exe, ovšem Process Explorer vám zobrazí i to, s jakou DLL knihovnou je rundll32.exe asociován. Mějte však neustále na paměti, že některé ovladače zařízení používají rundll32.exe pro naprosto legitimní účely, a proto dříve než takový proces ukončíte, ujistěte se, že je skutečně nežádoucí. Název složky na konci cesty k souboru by vám měl poskytnout dostatek informací o legitimnosti tohoto procesu.

Identifikujte záhadné procesy
Na vašem počítači pravděpodobně běží několik programových souborů systému Windows a kromě nich je na pozadí spuštěno několik souborů aplikací a služeb, včetně ovladačů vašich hardwarových komponent. Tyto soubory se za normálních okolností spouští při startu Windows. Prozkoumejte pro každý spuštěný proces v Process Exploreru údaje ve sloupečcích Description, Company Name a Command Line. Na základě těchto údajů byste měli být schopni identifikovat většinu programů, s nimiž jsou spuštěné procesy asociovány. Názvy programů by měly odpovídat programům, které máte na počítači nainstalované nebo které již byly na počítači předinstalovány.
Pokud výrobce softwaru neimplementoval do svého programu položky, které se zobrazují ve sloupečcích Description anebo Company Name, budete se muset pustit do podrobnějšího testování. Klepněte pravým tlačítkem do seznamu procesů v Process Exploreru a z kontextového menu vyberte příkaz Properties. Pokud si budete nad informacemi na záložce Image příliš dlouho lámat hlavu, klepněte na záložku Services (tato záložka je přístupná pouze u procesů). Tady uvidíte seznam některých legitimních služeb, které jsou s tímto procesem spojeny.
Například na obrázku Process Explorer ukazuje, že na našem počítači běží dva procesy, u nichž chybí popis ve sloupečcích Description a Company Name. Jedním z nich je SLEE81.EXE. Pokud se podíváme na záložku Services, je tento soubor identifikován jako Steganos Live Encryption Engine. Vzpomínáme si, že jsme software od Steganosu skutečně nedávno instalovali, takže není žádným překvapením, že některou z jejích komponent nyní nacházíme běžet na pozadí. Tady se nejedná o žádné bezpečnostní riziko, ovšem pokud šifrování a dešifrování souborů pomocí Steganosu nepoužíváme, lze uspořit čas procesoru a službu vypnout, dokud ji nebudeme potřebovat.
Druhým souborem bez popisu je WLTRYSVC.
EXE. Jeho odhalení je však prostřednictvím záložky Services ještě jednodušší. Vzhledem k tomu, že jméno procesu (WLTRYSVC service) není o tolik jasnější než samotný název souboru, je přímo pod ním odsazený ještě jeden soubor, což znamená, že WLTRYSVC volal ještě jednu aplikaci s názvem BCMWLTRY.EXE. Tento soubor je identifikován jako Broadcom Wireless Network Tray Applet, o němž si vzpomínáme, že jsme jej instalovali, aby nám ukazoval sílu signálu bezdrátové sítě Wi-Fi. Vzhledem k tomu, že připojení pomocí Wi-Fi používáme často, rozhodneme se tento proces nechat nadále spuštěný.
Podobně jako v předcházejících dvou případech se i vy pokuste identifikovat všechny spuštěné služby a aplikace běžící na pozadí. Složitější část práce přijde až v okamžiku, kdy nebudete žádným z prostředků schopni proces či aplikaci identifikovat a ani se vám nebude zdát, že by daná aplikace či proces mohly být nějak užitečné. Pak je načase použít pro vyhledání odpovědi internet.

Hledání a identifikace procesů na internetu
Jestliže máte podezření, že by nějaká DLL knihovna mohla představovat škodlivý software, prvním místem, na které vám doporučujeme se obrátit, je DLL Help Databáze Microsoftu na internetové adrese support.microsoft.com/dllhelp, která vám umožní vyhledat informaci o DLL knihovně podle jejího jména. Pokud existuje podezření, že nějaký soubor může být napojen na spyware, je možné se informovat na Computer Associates Spyware Information Center na adrese www3.ca.com/securityadvisor/pest. Jiným vynikajícím zdrojem informací je Pest Encyclopedia od PestPatrol Center for Pest Research na internetové stránce research.pestpatrol.com, která poskytuje informace o více než 27 000 druzích malwaru.
Pokud není možné jednoznačně říci, zda je nějaký soubor legitimní, lze získat cenné informace na internetových stránkách www.answersthatwork.com, kde po klepnutí na tlačítko Task List můžete získat informace jak o legitimním softwaru, tak o spywaru či virech. Další pomocnou rukou, kterou nám internet podává, mohou být utility WinPatrol či WinTasks 5 Professional od firmy Uniblue. WinPatrol ve verzi 9.5 naleznete na našem CD, popř. na internetové adrese www.winpatrol.com/download.html jako soubor WPSETUP.EXE o velikosti 1,04 MB, zkušební verzi programu WinTasks 5 Professional si můžete stáhnout z internetu na adrese www.liutilities.com/products/trial. Oba programy jsou velmi účinným pomocníkem při rozhodování a určování toho, zda daný program či DLL knihovna představuje legitimní software nebo malware.
Oba programy mají k dispozici velmi rozsáhlou on-line databázi obsahující informace o tisícovkách DLL knihoven či aplikací, s nimiž se můžete setkat, WinTasks navíc dokáží umístit některé procesy na "černou listinu" (blacklist), takže je už nelze spustit znovu.
Dalším pomocníkem, který vám umožní vyhodnotit na počítači se vyskytující spustitelný soubor, ovladač či DLL knihovnu (ať je spuštěn, nebo ne) je Security Task Manager od firmy Neuber Software. Utilitu naleznete na našem CD, popř. na internetu na adrese www.neuber.com/taskmanager jako soubor TASKMANAGER16.EXE o velikosti 1,44 MB. Program existuje i v české jazykové mutaci.
Poznámka: Vždy, když hledáte na internetu informace o nějakém neznámém souboru, nedoporučujeme důvěřovat prvním několika výsledkům, které naleznete. Dokonce i když stovky internetových stránek pojednávají o tom, že se u nějakého souboru jedná pravděpodobně o malware, pak jedna stránka firmy Microsoft objasňující legitimní užití tohoto souboru systémem Windows může tyto informace o souboru zcela zvrátit. Jinými slovy, čím více informací o neznámém souboru získáte dříve, než použijete internet, tím menší bude pravděpodobnost, že odstraníte legitimní program či DLL knihovnu.


Rootkity aneb jak na skrytý malware
Další zastávkou na naší pouti za tajemnými procesy běžícími na našem počítači bude zcela nový typ malwaru, nazývaný kernel-level rootkit. Rootkity jsou utility, které dovolí hackerům pronikajícím do systému skrýt na napadeném počítači po sobě všechny stopy (a soubory), takže uživatel vůbec nepozná, že se na jeho systému vůbec nějaký malware vyskytuje. Hackeři následně pomocí rootkitů pak počítač ovládnou a mohou si na něm dělat doslova co chtějí. Naštěstí existuje několik programů, které nám pomohou tyto velmi nebezpečné soubory rozpoznat a v jednom případě i odstranit.
Jednou z nejschopnějších aplikací, jež v současnosti prakticky nemá konkurenci, je RootkitRevealer od firmy Sysinternals, který v systému vyhledává soubory a klíče registru, jež by mohly být nějakým způsobem navázány na rootkity. Vyhodnocení skenování RootkitRevealeru není sice triviální a musíme upozornit na to, že ne všechny položky, které utilita odhalí, jsou nutně malware. V rámečku Nová utilita pro odhalení rootkitů a skrytých programů používaných hackery se dozvíte několik důležitých informací o tom, jak utilitu používat a na jakém principu vlastně funguje. Program naleznete na našem CD, popřípadě je ke stažení na internetové adrese www.sysinternals.com/Utilities/RootkitRevealer.html jako soubor ROOTKITREVEALER.ZIP o velikosti 181 KB.
Další velmi jednoduchou utilitou je BlackLight od firmy FSecure, která je známa především antivirovými programy. Nyní svoje znalosti vložila do vývoje vyhledávače rootkitů, který rovněž dokáže najít a odstranit rootkity na pevném disku. Ačkoliv je jeho design poněkud strohý, o to více je v boji proti rootkitům účinnější. Utilita je určena pro Windows 2000, XP a 2003 a je ve stadiu betaverze k dispozici zdarma na našem CD, popř. na www.f-secure.com/blacklight jako soubor BLBETA.EXE o velikosti 613 KB.

Nová utilita pro odhalení rootkitů a skrytých programů používaných hackery
Uživatelům počítačů se dostává do rukou další z utilit, kterou mohou použít pro vyhledávání velmi odolného malwaru nainstalovaného v jejich systému. Mluvíme o skrytých virech, trojských koních či spywaru, který se stále snaží proniknout do našich počítačů. Touto utilitou je RootkitRevealer, jenž umožňuje uživatelům skenování počítače za účelem vyhledání tohoto zrádného softwaru.
Typ škodlivých programů, který je v oblasti zabývající se zabezpečením počítačových systémů známý jako rootkit, lze vysvětlit jako používání malwaru virů nebo trojských koní, které se dokáží samy v systému schovat. Rootkity rovněž hackerům pomáhají získat daleko větší kontrolu nad systémem, do něhož pronikly.
Rootkity jsou daleko častější ve světě Linuxu a UNIXových systémů. Jejich název vychází z toho, že pomáhají hackerovi získat přístup do systému jako root (nejvyšší práva na úrovni administrátora systému). V nedávné době se objevily i rootkity pro systémy Windows. Existuje tendence spojovat rootkity s nejnebezpečnějšími druhy malwaru jako jsou např. keyloggery, které zjišťují přístupová hesla uživatelů ke službám, jež využívají (elektronická pošta, internetové služby apod.).

Silné a slabé stránky
Rootkity jsou ve své podstatě pouze prostředkem k dosažení cíle, jímž je pro hackera ovládnutí cizího počítače. Např. tím, že skryje aplikaci typu trojského koně, zabrání tomu, aby byl detekován obvyklými antiviry. RootkitRevealer dokáže detekovat přítomnost několika obvyklejších rootkitů na počítačích se systémy Windows NT, 2000 či XP. Bohužel nefunguje ve Windows 95, 98 nebo ME.
RootkitRevealer má však i svoje omezení. Abyste jej mohli opravdu účinně využívat, potřebujete porozumět tomu, jak interpretovat výsledky jeho skenování.
Program rovněž neumožňuje rootkity odstranit nebo dát do karantény a rovněž vám nedokáže říci, zda soubor, který nalezl, je skutečně rootkitem. Pokud se však objeví nějaký objekt, který by na daném místě být neměl a antivirus jej nedokáže odstranit, pak jedinou cestou, jak se zbavit takové nákazy, je kompletní přeinstalování systému zformátování disku, smazání všech dat a reinstalace Windows.

První skenování systému
Jak již bylo uvedeno výše, RootkitRevealer lze najít na našem CD, popřípadě na internetových stránkách firmy Sysinternals. Program není nutno instalovat, stačí pouze rozbalit soubor archivu a spustit EXE soubor. Než začnete systém skenovat, máme pro vás několik upozornění. Jakmile program spustíte, pak do chvíle, než skenování skončí, na počítači nic nedělejte. Doporučujeme rovněž před spuštěním kontroly systému vypnout všechny aplikace, které by se mohly během skenování aktivovat například spořič obrazovky, antivirus či jakýkoliv jiný program. Pokud během skenování začne nějaká utilita vyvíjet činnost, počítač se sice nezhroutí, nicméně výsledky skenování systému mohou být nepřesné nebo zavádějící.

Vyhodnocení výsledků
Prakticky už po chvíli, kdy spustíte skenování, se začnou v okně aplikace objevovat nějaké výsledky. Jakmile se prohlídka systému dokončí (to poznáte podle tlačítka Scan, které se v průběhu skenování změní na Abort a po skončení skenování opět na Scan), uvidíte ve spodní části okna počet nalezených položek. Celá řada z nich je fakticky neškodných. Například prvních 10 až 20 výsledků bude vypadat jako klíče registru a bude u nich nápis Access denied. Tyto údaje jsou normální a objevují se na každém počítači. V žádném případě neukazují na nic podezřelého.
Níže pak uvidíte položky, které vypadají jako názvy složek ve Windows a jejich jména začínají znakem dolaru ($). Tyto soubory jsou metasoubory souborového systému NTFS a jsou opět standardní součástí tohoto systému souborů. Jejich počet se liší systém od systému. Tento seznam se na vašem počítači vytváří zvlášť pro každý diskový oddíl.
Pokud uvidíte další soubory, u nichž bude popis Hidden from Windows API, tak zde je nutno zbystřit. Tyto soubory mohou být umístěny ve složkách pro dočasné soubory, ve složce Windows, popřípadě kdekoliv na pevném disku. Pokud tyto soubory objevíte, spusťte Průzkumníka a zkuste, zda jsou tyto soubory vidět i v tomto programu. Pokud vidět nebudou, mohlo by to indikovat přítomnost skrytých souborů, ale jisté to není.
Pokud během skenování systému kupříkladu spustíte Internet Explorer a budete prohlížet nějakou internetovou stránku, pak RootkitRevealer soubory této stránky označí jako podezřelé, což ale ve skutečnosti pravda není.
Dále jde také o to, že i celá řada legitimních programů používá techniky skrývání souborů typickým programem je Kaspersky Antivirus.
Asi nejproblematičtějšími výsledky jsou programy, jejichž soubory mají jména sestavena z dlouhé řady náhodně zvolených písmen a číslic. Objeví-li se takové soubory ve vašem systému, doporučuje se aktualizovat antivirový systém a provést co možná nejpodrobnější analýzu vašeho systému.
RootkitRevealer je v současné době teprve v rané fázi a může, jako ostatně každý program, obsahovat chyby. Pokud si nejste jisti, zda nějaký soubor náhodou není nějakým způsobem spojen s rootkitem, dříve, než začnete podnikat nějaké radikální kroky, prohledejte nejprve internet, popřípadě Usenet.