NA ÚVOD, ANEB PROČ VZNIKLA TATO KNIHA Je několik dobrých důvodů, proč nabídnout uživateli výpočetní techniky základní informaci o počítačových virech. Důvod 1. Problematika počítačových virů je mediálně propírána v intervalech zhruba 1/2 až 3/4 roku. Většinou u příležitosti destruktivní akce nějakého výjimečně rozšířeného viru nebo u příležitosti okurkové sezóny. Denní tisk se vyjadřuje s přesností papouška tahajícího z koše horoskopy a běžného uživatele tím jen mate. Objektivní a přitom stručná informace, to je to, co vám chceme v naší knížce nabídnout. Důvod 2. Skoro ke každému komerčnímu počítačovému programu je přiložena dokumentace, sdělující, že tlačítkem A, vyvoláte funkci B, která otevře okno C, vy pak jen zadáte D a je to hotovo. Možná to stačí u textového editoru nebo tabulkového procesoru, ale u antiviru to rozhodně nestačí. Nebezpečí chyby z neznalosti je v případě užívání antiviru o řád vyšší, než u jiného software. A základy problematiky počítačových virů mohou pomoci jednak lépe užívat antivirový software a jednak se i vyhnout častým uživatelským chybám mnohdy s těžkými následky. Důvod 3. Mezi uživateli koluje celá řada pověr o tom, co jsou všechno schopny počítačové viry natropit a co zase prý rozhodně nemohou. Tyto pověry je nutno mýtit, protože záporně ovlivňují přístup uživatele k problematice antivirové ochrany. A tak se v kapitole, speciálně tomu věnované, vyjadřujeme k takovýmto pověrám a mýtům a boříme je. Možná, že bychom našli další důvody, ale tyto budou hlavní. A tak si Počítačové Viry a Vy, prosím, přečtěte, protože Vám nabyté znalosti mohou být v budoucnu užitečné.
5
TROŠKA ANATOMIE VAŠEHO POČÍTAČE Pro vcelku úspěšnou obsluhu automobilu jistě stačí vědět kudy se dolévá benzín a k čemu je to velké kolo před sedadlem řidiče. Přesto se asi shodneme na tom, že je dobré vědět i něco málo navíc. Pokusíme se tedy v této kapitole shrnout (nutně s troškou zjednodušení) nejdůležitější informace o anatomii počítače. Pokud víte co je to boot sektor a nezaskočí vás dotaz "Jaký používáte souborový systém ?", tak tuto kapitolu můžete v naprostém klidu přeskočit. My ostatní začneme tím, že se podíváme do počítače, co vlastně obsahuje.
Základní deska Základní deska (motherboard) je to, co dělá počítač počítačem. Zde je (mimo jiné) vlastní procesor, operační paměť, BIOS a paměť CMOS. Z našeho pohledu stojí za bližší zmínku především:
BIOS BIOS je nemazatelná paměť, obsahující nejnižší úroveň obsluhy počítače. Jsou zde všechny podprogramy pro obsluhu disku, klávesnice, zobrazovaní atp. Chytří výrobci základních desek v poslední době přišli (bohužel) na skvělou ideu - umístit BIOS do Flash paměti, kterou je možné přeprogramovat. Je obtížné odhadnout jak užitečná je tato vlastnost pro uživatele, nicméně autorům virů jako Win32/CIH nebo Emperor to jistě udělalo radost - jejich výtvory se v rámci svých destrukčních hrátek pokouší obsah BIOSu přepsat náhodnými nesmysly a tím vyřadit počítač z provozu. Naštěstí i ve způsobech přeprogramování Flash BIOSu vládne stejná kompatibilita, jako v jiných oblastech dnešních PC a tak většina základních desek tento útok přečká bez újmy na zdraví.
6
CMOS Paměť CMOS je vybavena samostatným napájením a obsahuje veškeré informace o konfiguraci základní desky - počínajíc počtem disketových mechanik a reálným časem, přes typy pevných disků, sériových portů až po ty strašlivosti, které najdete v SETUPu každého počítače (a kterým stejně nikdo nerozumí). Pro viry je CMOS zajímavá především jako oblíbený cíl destrukčních akcí. Triviální útoky spočívají v přepsání obsahu CMOS nesmysly a existují i poněkud sofistikovanější viry, které se třeba pokusí nastavit nějaké heslo pro přístup k počítači nebo vypnout integrovanou antivirovou ochranu. Kompatibilita, tak typická pro současná PC, ovšem vládne i v této oblasti a tak se viru často stane, že přepíše položku, která má pro konfiguraci jiný význam. Výsledky takové změny jsou obtížně predikovatelné. Z technického pohledu je ještě důležité upozornit na to, že CMOS paměť nemůže obsahovat žádný program a nemůže se tedy stát místem, kde by nějaký (obzvlášť zlomyslný) virus přežíval.
Operační paměť V této paměti se odehrává veškerá činnost počítače a zde sedí i všechny běžící programy (viry v to počítaje). Naštěstí (v případě výpadku proudu naneštěstí) ztrácí při vypnutí počítače svůj obsah. To ovšem neznamená, že viru přítomného v paměti se zbavíte vypnutím a zapnutím počítače - odněkud se do paměti dostal a jistě bude schopen a ochoten si to zopakovat.
Diskety, CD-ROM mechaniky Diskety a CD jsou pro nás zajímavé především jako potencionální brána do systému, kudy může vstoupit infekce.
Disketa Diskety (díky své omezené kapacitě nebo možná přesněji díky bumbrlíčkovským nárokům dnešních programů) už dávno ztratily své výsadní postavení nejčastěji používaného média pro přenos informací.
7
Historické tradice (v tomto případě pocházející z dob, kdy ceny pevných disků nedovolovaly tak odvážné myšlenky jako strčit do PC prostor k uložení až 20 MB) jsou respektovanou součástí dnešního stavu PC. V těch blahých dobách představovala disketa jediné médium, na kterém mohl být uložen operační systém (pokročilejší verze operačního systému byly tak velké, že musely být dokonce uloženy na dvou nebo třech disketách!) a tomu je podřízena i její struktura. Na jejím samotném začátku (boot sektor) se nachází magický záznam, který obsahuje nejen informace o typu diskety, ale také krátký zaváděcí program. Pokud počítač při svém startu zjistí přítomnost diskety v mechanice, tak definovaným způsobem zavede obsah boot sektoru do paměti a předá řízení programu, který se v něm nachází. Tzv. boot viry (o kterých se tady ještě dočtete) zneužívají této vlastnosti počítače ke svému šíření, ale ústup od používání disket způsobil jejich pomalé vymírání. Mimochodem. K definitivnímu vymření této kategorie virů můžete přispět i vy (pokud nepatříte k radikálním ekologickým aktivistům, pak by to mohlo být v rozporu s vaším přesvědčením). Stačí si nastavit v SETUPu BIOSu pořadí zavádění operačního systému na hodnotu "C:, A:". Za boot sektorem následuje tabulka se záhadným označením - FAT. Jde o zkratku z anglického File Allocation Table a nemá smysl na tomto místě podrobněji rozebírat její obsah. Stačí vědět, že tato tabulka obsahuje klíčové informace o rozložení souborů na disketě a její poškození nebo zničení vede ke ztrátě dat, která mohou být obnovena pouze speciálním servisním zásahem. FAT je na disketě dokonce dvakrát, jde zřejmě o pozůstatek optimismu tvůrců MS-DOSu, kteří předpokládali, že DOS vybaví nějakou schopností korekce dat, která by umožnila číst obsah diskety i při poškození jedné z kopií FAT. Za FAT následuje tzv. kmenový adresář (root directory), obsahující jména adresářů a souborů a pak už jsou zde jenom roztroušeny kousky souborů (právě FAT určuje co patří k sobě) a případných dalších adresářů.
8
CD-ROM Vnitřní struktura CD-ROM pro nás není nijak zajímavá. Za zmínku stojí spíše (mnohdy neoprávněná) důvěra uživatelů - je to na CD, tak tam přece nemůže být virus. Není to pravda a víme o mnoha CD (počínajíc přílohami herních časopisů, přes demonstrační CD renomovaných firem až po materiály rozesílané vládními institucemi), nad kterými by srdce sběratele virů zajásalo. Mezi "virově nejhodnotnější" CD patří pirátské disky s rozsáhlými sbírkami her i užitečných programů. Tady ovšem platí, že kdo podobné věci používá, tak si své problémy zasloužil.
Pevný disk Pevný disk obsahuje všechna vaše data a proto je bezkonkurenčně nejcennější částí vašeho počítače. Pevné disky existují v nepřeberném množství typů, druhů a odrůd - to nás ovšem zajímá pramálo. Podstatný je způsob, jakým si váš disk ukládá informace. Něco málo mají všechny existující způsoby (souborové systémy) společného: Stejně jako u disket má i u pevného disku jeho první sektor zvláštní význam. Obsahuje kraťoučkou tabulku, která říká jak je disk rozdělen (partition table). Tato tabulka je zodpovědná za to, že i na jednom fyzickém disku můžete vidět několik tzv. logických disků (to je to, čemu operační systém říká C:, D:, E:, F:, atd:). Konkrétní obsah jednotlivých částí disku, popsaných tabulkou rozdělení disku, už je závislý na použitém souborovém systému. A asi nepřekvapí, že v prvním sektoru pevného disku je kromě tabulky rozdělení i krátký zaváděcí program, který slouží ke spuštění operačního systému po startu počítače - oblíbený to cíl útoku boot virů a multipartitních virů. Proto se tomuto sektoru také občas říká MBR (master boot sector).
Souborový systém FAT Ano. Je to náš starý dobrý známý, kterého jsme potkali už u disket. Od doby svého vzniku se naučil předstírat podporu dlouhých jmen
9
souborů a ve své poslední reinkarnaci (FAT-32) umí zacházet i s velkými disky, ale jinak se příliš nezměnil. Začíná boot sektorem, následuje tabulka FAT, kmenový adresář a vlastní prostor pro uložení dat. Dlouhá jména souborů si zaslouží zmínku - ve skutečnosti pracuje souborový systém FAT s krátkými jmény (maximálně 8 znaků jména plus tři znaky přípony) a dlouhá jména si ukládá zvlášť. To může být zdrojem obtíží - například nápad nastartovat počítač v nějakém historickém MS-DOSu a na disk obsahující dlouhé názvy souborů poštvat některý z programů pro úklid disku, je možno označit za velmi nešťastný. Druhou kategorii obtíží představuje použití českých znaků v názvech souborů. Takové názvy jsou zpracovány stejně jako dlouhé názvy souborů - pro ukládání na disk jsou převedeny i na krátký tvar. Tato konverze je provedena podle chytrých tabulek, které obsahuje vaše lokalizovaná verze operačního systému. Na tom jistě není nic špatného. Škoda, že pak takový soubor (v důsledku jiné konverze) nemusí jít otevřít v prostředí jiné jazykové lokalizace.
Nové souborové systémy (NTFS, HPFS, EXT2, ...) Souborový systém FAT byl původně navržen skutečně pro diskety a pro operační systém ve kterém může současně pracovat pouze jeden program. Přes všechny úpravy a vylepšení už dnes patří do muzea - někam k děrným štítkům. Moderní operační systémy si proto přinášejí i vlastní souborové systémy jako je NTFS (Windows NT), HPFS (OS/2), EXT2 (Linux) a mnoho dalších. Jejich vnitřní struktura je řádově složitější a nemá žádný smysl se jí na tomto místě podrobněji zabývat. Důležité je si jenom uvědomit, že pokud provedete start počítače z čisté systémové diskety (což může být v případě některých typů virové infekce zatraceně důležité), tak neuvidíte obsah disků s těmito souborovými systémy.
10
Nezajímavé zbytky Video karta, síťová karta, modem, napájecí zdroj - všechny tyto součásti počítače nejsou (z hlediska jejich zneužití počítačovými viry) nijak zajímavé a nemá smysl plýtvat zde místem na jejich popis.
11
POČÍTAČOVÉ VIRY POČÍTAČOVÝ VIRUS ?! Je zajímavé, že se počítačové viry objevují ve sci-fi literatuře již v šedesátých letech. V té době opravdu pouze jako produkt fantazie spisovatelů tohoto žánru. Teprve v letech osmdesátých jim však rozvoj techniky dovolil reálnou existenci. V roce 1983 Dr. Frederick Cohen experimentuje na Pennsylvánské univerzitě se “samomnožícím se” kódem a v souvislosti s ním začíná používat označení “virus”. Uvědomme si však, že v té době o existenci počítače PC v jeho dnešní podobě, a hlavně rozšíření, se nezdálo ani autorům již zmíněné sci-fi literatury. Skutečným počátkem existence počítačových virů, tak jak je známe dnes, je rok 1986, kdy se narodil Brain - první virus pro osobní počítače IBM PC. Bratři Basid a Amjad Farooq Alvi (provozující v pakistánském Lahore malý softwarehouse) tak odstartovali závod virů a antivirů, kterého se všichni (většina ovšem nedobrovolně) účastníme dodnes. Od té doby se mnoho změnilo. Autoři virů zvládli techniky, které byly označovány jako nemožné - objevily se viry, ukrývající se před antivirovými programy (stealth viry), objevily se viry, které modifikují svůj vlastní kód (polymorfní viry), objevily se viry, které dokázaly napadnout i jiné objekty než výkonné programy (makroviry). To vše dává předpoklad k tomu, že vývoj ve virovém světě se rozhodně nenachází ve své konečné fázi. S příchodem nových operačních systémů se objeví nové viry, které budou využívat jejich specifických vlastností a z dnešního pohledu budou vybaveny “neuvěřitelnými a nemožnými” schopnostmi. Na druhou stranu je však stejně dobře zřejmé, že neustrne ani vývoj v oblasti antivirových programů, které dosud dokázaly bez větších problémů zvládnout všechny virové triky. Vraťme se však k vlastnímu počítačovému viru. Bývá zvykem začít definicí, pokusme se tak učinit i v tomto případě:
12
Počítačový virus je spustitelný nebo interpretovatelný program, který je schopen sám sebe připojovat k jiným programům a dále se z nich (bez vědomí uživatele) šířit. Tato definice sice není obzvlášť dokonalá a možná není ani na první pohled příliš srozumitelná, ale to nejdůležitější obsahuje. Existují totiž další programy, které bývají občas za viry zaměňovány nebo vydávány. Příkladem může být třeba trojský kůň - program, který se vám za své spuštění odvděčí několika řádky sprostých textů a smazáním obsahu pevného disku nebo nějakou jinou destrukční akcí. Méně škodlivou variantu představují různé žertovné programy způsobující pobíhání roztomilých broučků po obrazovce nebo zoufalé výkřiky počítače, který se dožaduje odstranění vody ze svého matematického koprocesoru.
Jak se viry šíří Šíření je základní a nutnou vlastností programu označovaného jako počítačový virus. K tomu, aby se virus mohl šířit, potřebuje několik maličkostí. Především vhodné prostředí (počítač s operačním systémem, který virus zná a je schopen jej používat) a objekty, které dokáže napadnout (a které jsou nějakým způsobem šířeny). Na počítačích označovaných jako PC známe zatím pouze tyto typy objektů, které mohou být napadeny virem:
Spustitelné soubory - programy Jedná se obvykle o soubory s příponami EXE, COM, SYS. Program může být uložen i v souboru s jinou příponou - typicky tehdy, když rozsáhlejší systém používá několik různých modulů a nahrává si je do paměti sám podle potřeby. Bývá zvykem takové soubory označit příponou OVL, ale často jim jejich autoři dávají zcela nahodilé přípony. Dobrým příkladem spustitelného souboru s neobvyklou příponou je třeba šetřič obrazovky pro Windows (.SCR).
13
Systémové oblasti Cílem virové nákazy mohou být tyto systémové oblasti - Partition tabulka nebo Boot sektor pevného disku a Boot sektor diskety. Pokud jste pozorně četli předchozí kapitolu víte, že tyto systémové oblasti obsahují kód, který je vykonáván při startu počítače. Poznámka: V prostředí Windows mohou viry napadat některé klíčové systémové soubory (třeba KRNL32.DLL) speciálním způsobem, zcela odlišným od jejich útoku na běžné spustitelné soubory. Není příliš jasné, zda jde spíše o infekci systémové oblasti nebo o infekci spustitelného souboru, ale debatu na toto téma raději přenecháme nadšeným teoretikům.
Dokumenty, které mohou obsahovat makra Jde o texty napsané v Microsoft Wordu (obvykle mají příponu DOC nebo DOT), tabulky z Excelu (obvykle XLS), prezentace vytvořené PowerPointem (obvykle PPT), databáze z Accessu (obvykle MDB) a některé další datové soubory.
Ostatní objekty Pokusy o napadání jiných typů objektů (třeba zdrojové texty, OBJ soubory, dávky) jsou sice zajímavé, ale z praktického hlediska představují velmi malé nebezpečí. Zábavnější jsou pokusy infikovat Java applety, případně VBScripty a JScripty obsažené v HTML stránkách. Microsoft navíc připravil i variantu těchto scriptů jako náhrady historických DOSových dávek - VBS (Visual Basic Scripting) je standardně instalovanou součástí Windows 2000 a může být instalován i ve starších verzích tohoto operačního systému. V době uzávěrky tohoto textu je známo prvních pár pokusů o “viry” infikující výše uvedené objekty a pozorně sledujeme další vývoj v této oblasti.
Kde se viry nešíří Kromě těchto virových cílů existují objekty, které v žádném případě nemohou být virem napadeny, přestože “lidové zkazky” (a bohužel občas i články v časopisech) to tvrdí:
14
CMOS paměť Tato paměť slouží k uchování informací o konfiguraci počítače. Virus může tuto paměť smazat nebo v ní změnit některé údaje, ale nemůže ji použít pro umístění svého kódu. Brání tomu nejen její velikost (či snad přesněji její malost), ale hlavně to, že nemůže obsahovat spustitelný kód.
Datový soubor Virus se samozřejmě může ukrýt kam chce, ale napadení souboru JPG (nejlépe s nějakým obrázkem anatomických detailů lepé děvy) je pro něj zhruba stejně efektivní, jako kdyby při hře na schovávanou spáchal hráč sebevraždu. Takový soubor totiž nemůže obsahovat spustitelný program. Virus by napadení takového objektu sice pravděpodobně zvládl (a tento objekt zničil), nicméně již nikdy by se z tohoto objektu nedokázal rozšířit dále. Poznámka: O tom co je (a co není) spustitelný soubor nerozhoduje jeho přípona, ale jeho obsah a způsob jakým je používán. Už v dobách DOSu se stávalo, že programátoři (často autoři her) pojmenovali některé moduly oku lahodícím, ale nic neříkajícím, jménem. Nebohý uživatel pak netušil, jak je možné, že se mu v počítači neustále znova a znova objevuje triviální virus napadající pouze EXE soubory, i když všechny tyto soubory kontroloval a byly v pořádku - virus číhal třeba v souboru JBOND.007. Z dnešní doby stojí za zmínku třeba spořiče obrazovky pro Windows, které jsou sice normálními EXE soubory, ale jejich standardní přípona je SCR. Významnou výjimku z tohoto pravidla představují dokumenty obsahující makra (Microsoft Word, Excel a některé další moderní kancelářské balíky).
Tiskárna Komunikace s tiskárnou probíhá tak, že počítač odesílá data a jediné, co dostává zpět, jsou signály potvrzující jejich přijetí a informující o stavu, ve kterém se tiskárna nachází. Nic viru pochopitelně nebrání, aby se na tiskárnu odeslal, ale výsledkem bude pouze pár stran papíru potištěného nesmysly. S jistotou dále sdělujeme, že se virus nedokáže usadit ani v monitoru nebo třeba klávesnici.
15
Obecně oblíbené omyly Virům je také přisuzována i řada dalších schopností, kterými ovšem nedisponují, především z toho důvodu, že jimi disponovat nemohou.
Zlý virus může zničit hardware Snad nejstručnějším možným komentářem je, že hardware, který lze zničit programovými prostředky si ani nic jiného nezaslouží. Bývají občas uváděny příklady muzeálních kousků počítačových komponentů, které byly ochotny se špatným ovládáním poškodit. Například některé pevné disky, které po provedení low-level formátu upadly do stavu hluboké letargie, odstranitelného pouze firemním softwarem. Nebo monitory, které, nedbajíce vlastního nebezpečí, se pokoušely vyhovět jakémukoli nesmyslnému požadavku o nastavení synchronizačních frekvencí, což mohlo způsobit tepelné přetížení. Dnešní hardware by měl podobné pokusy zvládat bez potíží, a pokud by se přece jenom našel nějaký méně odolný kousek, tak půjde zcela jistě o velmi lokální problém. S troškou zlomyslnosti si také můžeme uvědomit, že ladění viru, s podobnými schopnostmi, by pro jeho autora bylo poněkud nákladnou záležitostí. Poznámka: Jedno nebezpečí ovšem hardwaru hrozí. Viry, které se snaží (jako třeba virus CIH) modifikovat nebo přepsat flash BIOS na základní desce počítače nebo obdobnou (upgrade umožňující) ROM v modemech, tiskárnách apod.
Rafinovaný virus dokáže v paměti přežít reset počítače Na každém šprochu je pravdy trochu. Stisk oblíbené trojkombinace Ctrl-Alt-Del některé viry skutečně neznervózní. Reset počítače provedený pomocí tlačítka na čelním panelu ovšem není možné softwarově ošetřit.
Mazaný virus zaútočí z napadené diskety, i když se na tuto disketu pouze podíváte (např. příkaz DIR) Jak jsme si již řekli, k tomu aby se virus mohl stát aktivním, musí být spuštěn, tj. procesor musí začít provádět jeho instrukce. K tomu
16
může dojít pouze spuštěním napadeného souboru nebo pokusem o zavedení systému z infikované diskety (zapomenutá disketa v mechanice A: při startu počítače). Pouhým čtením jakýchkoli dat (tedy i virových) nelze počítač infikovat. To se tedy týká nejen prohlížení dat na disku či disketě, ale také dalších operací, které čtení využívají - tisk, kopírování souborů ze vzdáleného systému pomocí modemu. Někdy se Vám může stát, že bezprostředně po prohlížení napadené diskety Vám antivirový program oznámí nalezení viru v operační paměti. Vysvětlení je prosté - při prohlížení diskety si operační systém část diskety načte do paměti - ovšem pouze jako data (nikdy je nespustí). Tato data zde zůstanou tak dlouho, než jsou přepsána jinými daty, a jsou neškodná. Při prohlížení operační paměti však antivirový program nalezne kód viru, a protože nemá možnost posoudit, zda je zde virus aktivní či nikoliv, tuto skutečnost ohlásí. Výjimkou z tohoto pravidla jsou makroviry, kterým stačí načtení infikovaného dokumentu do Wordu resp. Excelu (jakákoli jiná manipulace s ním je ovšem bezpečná).
Zákeřný virus napadne i disketu chráněnou proti zápisu Ochrana proti zápisu na disketu je realizována hardwarem a lze ji obejít pouze hardwarovou úpravou disketové mechaniky. Existují viry, které se snaží s tímto handicapem vypořádat způsobem založeným spíše na psychologii, než na softwarovém inženýrství. Drzý virus prostě uživatele požádá, aby zápis na disketu povolil. Jistě se najde dost lidí, kteří zdvořilé žádosti bez dalšího přemýšlení vyhoví.
Hoax Jde o poplašnou zprávu, která vyhrožuje nějakým strašlivým nebezpečím a obvykle obsahuje výzvu “pošli mne všem lidem, které znáš”. Jeden příklad je možná lepší, než deset stránek popisu:
17
Předmět: Nový virus Důležitost: Nejvyšší Jestliže dostanete email s předmětem PENPAL GREETINGS!, tak ho okamžitě smažte ANIŽ byste ho četli. Následuje stručný popis této zprávy a toho, co by následovalo po jejím přečtení. Pokud máte nějaké dotazy, obrate se SAF-IA Info (697-5059). Toto je varování pro všechny uživatele Internetu. Nový nebezpečný virus se šíří elektronickou poštou ve zprávách s předmětem “PENPAL GREETINGS!”. V ŽÁDNÉM PŘÍPADĚ NEOTEVÍREJTE ŽÁDNOU ZPRÁVU S PŘEDMĚTEM “PENPAL GREETINGS!” Tato zpráva na první pohled vypadá jako nevinný dopis s dotazem, zda si chcete dopisovat. V okamžiku kdy čtete její text, tak je už ovšem pozdě. V té době už virus napadnul boot sektor Vašeho disku a zničil všechna data. Vzápětí se AUTOMATICKY poslal všem lidem z VAŠEHO seznamu adres. Tento virus zničí Váš disk a může zničit disky všech lidí kterým jste kdy poslali nebo od kterých jste kdy dostali zprávu. Pokud ho nezastavíme, tak má velkou šanci zničit počítačové sítě na celém světě !!!! Smažte prosím každou zprávu s předmětem “PENPAL GREETINGS!” okamžite, jakmile ji uvidíte! Pošlete tuto zprávu všem svým přátelům a známým aby nemohli být napadeni tímto nebezpečným virem !!!!
Pokud dostanete podobné varování nikoli přímo z důvěryhodného zdroje, ale zprostředkovaně, podívejte se na naše stránky nebo na stránky ICSA (http://www.icsa.net/services/consortia/anti-virus/alerthoax.shtml) věnované této problematice. Nerozesílejte podobné zprávy dalším osobám, dokud nemáte naprostou jistotu, že jde o reálný problém.
Trojský kůň Trojský kůň je typickým příkladem škodlivého programu (malware), který bývá často zaměňován za počítačový virus. Nejčastěji jde o jednoduché programy předstírající nějakou užitečnou činnost, které místo toho smažou soubory, přepíšou konfiguraci počítače uloženou v CMOS paměti nebo provedou nějakou jinou destruktivní akci.
18
Některé z nich jsou určeny speciálně proti konkrétnímu programu mění jeho konfiguraci, pokouší se vykrást hesla apod. Poznámka: Velmi nebezpečnou skupinu tvoří trojské koně umožňující vzdálenou kontrolu počítače (například BackOrrifice). Stačí spustit takový soubor na vašem počítači a útočník může přenášet soubory z všeho disku a nebo na váš disk, snímat obsah obrazovky a spouštět nebo ukončovat programy. Další repertoár tohoto prográmku už zahrnuje spíše žertovné, než nebezpečné akce - může vám přehrát nějaké zvuky nebo třeba otevírat a zavírat mechaniku CD-ROM. Primárním úkolem AVG je rozpoznat a likvidovat počítačové viry. Detekci rozšířených nebo velmi nebezpečných trojských koňů ovšem také doplňujeme.
TYPY VIRŮ Doposud jsme se o počítačových virech bavili obecně, jako o jednom celku. Počítačové viry však používají rozdílné způsoby šíření a je tedy nutné je rozdělit do několika skupin. Základní dělení virů je odvozeno z toho, které objekty napadají: • Bootviry - napadají pouze systémové oblasti • Souborové viry - napadají pouze soubory • Multipartitní viry - napadají soubory i systémové oblasti • Makroviry - napadají dokumenty V případě souborových virů se můžeme dobrat i k podrobnějšímu dělení. Podle způsobu manipulace s “obětí” známe tyto viry:
Přepisující virus Při napadení přepíše část těla oběti vlastním kódem. Takto napadené programy jsou nenávratně zničeny a nejsou kromě dalšího
19
šíření viru schopny žádné jiné činnosti, což je podezřelé i velmi otrlým uživatelům. Díky tomu je šíření těchto virů krajně nepravděpodobné.
Link virus Virus se připojí k tělu oběti a může tak zachovat původní funkc programu. Kdybychom chtěli dosáhnout dokonalosti, tak můžeme pokračovat v dalším dělení podle způsobu, kterým se virus připojí (před napadený program, za napadený program, doprostřed souboru).
Doprovodný virus Virus, který nezapisuje svůj kód přímo do napadeného EXE souboru, ale vytváří stínový soubor stejného jména s příponou COM. Využívají tak vlastnosti MS-DOSu, který při spouštění dává COM souborům přednost. A dále můžeme rozlišit některé speciální vlastnosti:
Virus přímé akce Primitivní souborový virus. Jakmile je spuštěn, tak vykoná vše, co chtěl a skončí. Typicky přepisující viry patří většinou do této kategorie.
Rezidentní virus Je přítomen v paměti a může tak neustále ovlivňovat činnost počítače. Velkou výhodou rezidentního viru je, že si nemusí sám hledat programy vhodné k napadení. Viru stačí sledovat, se kterými soubory uživatel pracuje a útočit na ně.
Stealth virus Pokud je virus tohoto typu přítomen v paměti, dokáže převzít kontrolu některých funkcí operačního systému a při pokusu o čtení infikovaných objektů a místo skutečného obsahu (tedy sebe sama) vracet
20
stav před infekcí. Antivirový program, pokud není vybaven antistealth technikami tedy nemá možnost podobný virus zjistit.
Zakódovaný virus Takový virus je zašifrován s nějakým proměnným klíčem a pouze krátká dekryptovací funkce je vždy stejná. Tyto viry už dnes v podstatě vymřely - nahradily je technicky dokonalejší polymorfní viry.
Polymorfní virus Tento typ viru si pro každý napadený soubor vytváří zcela jinou dekryptovací funkci a v napadených souborech nelze najít žádné sekvence stejného kódu. Poznámka: Objevily se i polymorfní viry pracující na trošku jiném principu (například slovenský virus TMC). Viry své tělo nešifrují, ale obsahují jakési “tabulky” popisující jak se má výsledný kód chovat a sestavují své tělo pro každý infikovaný soubor znovu tak, že na náhodná místa vkládají polymorfně vygenerované skupinky instrukcí. Také makroviry mohou být polymorfní. Triviální polymorfismus makrovirů spočívá ve vkládání náhodně vygenerovaných komentářů a návěští do těla viru.
Fast infektor Rezidentní virus, který soubory napadá nejen při jejich spouštění, ale téměř při jakékoli manipulaci s nimi. Jeho rychlost šíření v počítači je sice impozantní, ale současně tím zvyšuje pravděpodobnost, že na sebe upozorní.
Slow infektor Opak fast infektoru. Virus, který se snaží šířit co nejobezřetněji. Například napadá pouze ty soubory, které jsou na disku nově vytvářeny (třeba při jejich kopírování z diskety). Šíří se sice pomalu, ale může tak unikat i testům integrity (srovnávacím testům).
21
Bootviry Bootviry donedávna představovaly nejčastější typ infekce, se kterým se uživatel mohl setkat. A to i přesto, že jich je asi dvacetkrát méně, než souborových virů. Za toto rozšíření vděčí bootviry zejména tomu, že diskety jsou stále ještě médiem hojně mezi uživateli vyměňovaným. Mechanismus jejich šíření je velmi jednoduchý. Získáte disketu, jejíž boot sektor je napaden virem. Stačí zapomenout tuto disketu v disketové mechanice, označované jako A: při startu nebo resetu počítače. Jak jsme si vysvětlili v textu, popisujícím start počítače, pokud startovací rutina nalezne při startu systému v mechanice A: založenou disketu, považuje ji za systémovou a pokusí se provést start operačního systému z ní. V praxi tedy předá řízení kódu, uloženému v Boot sektoru této diskety. Virus zde uložený je tak aktivován a zahájí svoji činnost. Nejprve ověří, jestli už pevný disk počítače není infikován a pokud ano, tak ukončí svou činnost. Skutečnost, že disk ještě není napaden, považuje virus za hrubou chybu a okamžitě ji napraví. Vlastní infekce disku spočívá nejčastěji v tom, že se virus zapíše do Partition tabulky pevného disku (pro přesnost - existují také viry, které napadají Boot sektor pevného disku, ale to pro naše vysvětlování není podstatné) a její původní obsah odklidí na nějaké “bezpečné” místo. Na obrázcích na následující stránce si prohlédněte zjednodušené schéma "čistého" disku (1) a schéma různých možností jeho nákazy (2,3,4). Za povšimnutí stojí, že v případě (3) je přepsána poslední část prostoru kořenového adresáře (pokud adresář obsahuje mnoho souborů, je zničena informace o názvech a poloze části z nich), a že v případě (4) je přepsána část prostoru sloužícího k uložení vlastního obsahu souborů (je-li disk dostatečně zaplněn, může dojít ke zničení části souboru).
22
(1)
(2)
(3)
(4)
– Partition tabulka
– virus
– FAT tabulka
– kmenový adresář
– nevyužité místo
– soubor (nebo jeho část)
– odložený původní obsah prvního sektoru (Partition) Díky tomu, že virus napadl systémovou oblast pevného disku, je nyní při každém startu operačního systému z infikovaného pevného disku zaveden do paměti a stává se aktivní. Převezme kontrolu nejnižší úrovně diskových služeb operačního systému a teprve poté spustí správný zaváděcí kód (má jej přece bezpečně odložený). Na první pohled se tedy počítač chová přesně tak, jak by měl. Že jeho start trvá o pár zlomků vteřiny déle, si nikdo ani nevšimne. Při normální práci počítače si takový bootvirus v klidu sedí v paměti. Díky své kontrole diskových služeb v podstatě bezpracně monitoruje všechny požadavky na diskové operace - mezi nimi i operace s disketou. Jakmile zachytí požadavek na práci s disketou, dozví se, že do mechaniky byla vložena disketa. Stačí si pouze prohlédnout její Boot sektor, zda již obsahuje kód našeho viru. Pokud ne, postačí do něj vepsat vše potřebné. Od tohoto okamžiku je taková disketa napadena virem - stává se médiem, s jehož pomocí se virus přenáší na jiné počítače. Zvláštním požadavkem, který virus monitoruje, je pokus o čtení Partititon tabulky pevného disku. Jak víme, Partition tabulka přece obsahuje virový kód a požadavek na čtení mohl být vydán antivirovým programem, který právě kontroluje čistotu počítače. Virus tedy na požadavek čtení nevrátí skutečný obsah Partition tabulky, ale původní obsah tak, jak vypadal před nákazou (má jej
23
bezpečně odložen). Pokud se skutečně jednalo o antivirový program, ten nezjistí na načtených datech nic závadného. Tomuto postupu říkáme stealth technika (neviditelnost) a jeho hlavním cílem je zamaskovat přítomnost viru před antivirovým programem. Stealth technika není běžným jevem u všech bootvirů, přesto se s ní však setkáváme u velkého počtu současných virů .
Souborové viry Jak již bylo uvedeno, souborové viry se orientují na jistý typ objektu soubory. Opakujeme, že v tomto případě pojmem soubory myslíme programové soubory - zkráceně programy.
Přepisující souborové viry Pravděpodobně nejstupidnější existující formou počítačových virů jsou viry přepisující. Jsou uživatelem okamžitě zpozorovány a tak se jejich šance na šíření z počítače na počítač blíží nule. Virus pouze vyhledává spustitelné soubory, přepisuje jejich původní obsah sám sebou a tím je vlastně ničí. Skutečnost, že napadený program není nadále možné spouštět, se obvykle viry snaží maskovat nějakým (více či méně nejapným) chybovým hlášením.
(1) (2)
– kód viru
– původní obsah souboru
Zjednodušené schéma čistého souboru (1) a obraz jeho infekce přepisujícím virem (2).
24
Doprovodné viry Operační systém MS-DOS se při požadavku na spuštění programu X snaží nejprve spustit soubor X.COM a teprve poté X.EXE. Toho využívají doprovodné viry, které k existujícím EXE souborům vytvoří své kopie s příponou COM. Při spuštění programu se tak nejprve spustí virus, který provede vše, co uzná za vhodné, a poté předá řízení původnímu programu. Tento způsob šíření není příliš efektivní a má jedinou výhodu doprovodný virus nemusí modifikovat obsah žádného existujícího souboru a je tedy méně pravděpodobné, že ho zachytí nějaká kontrola integrity dat nebo rezidentní ochrana.
(1)
EXE
(2)
EXE COM – kód viru
– původní obsah souboru
Existuje ještě další metoda, kterou mohou využít doprovodné viry. Stačí soubor s virem umístit do některého z adresářů, které jsou v cestě (definované pomocí PATH) dříve, než ve kterém je vyhlédnutá oběť.
Link viry Jako "Link viry" označujeme ty souborové viry, které se připojují k infikovanému souboru a zachovávají jeho původní funkce. Je zřejmé, že tyto viry mají daleko větší šance než zástupci dvou výše popsaných skupin (přepisující a doprovodné viry). Tyto viry modifikují kód své oběti tak, aby při spuštění infikovaného souboru byl spuštěn kód viru, který vykoná vše, co považuje za nutné, a poté obnoví a spustí původní program.
25
(1) (2) (3) (4) (5) (6)
– kód viru
– původní obsah souboru
– instrukce skoku
– odložený původní obsah
Zjednodušené schéma infekce link virem. Nejčastěji je na začátek zdravého souboru (1) vloženo několik instrukcí, které předají řízení viru umístěnému za koncem původního souboru (2). Jednodušší viry se vkládají na začátek své oběti (napsat takový virus je snadnější) a původní obsah jejího začátku připojí na konec (3) nebo za své tělo přikopírují celý původní program (4). Virus se také může vložit kamkoli do těla své oběti (5), může se (v obvykle marné snaze o zmatení antivirového programu) spouštět přes několik roztroušených ostrůvků instrukcí (6) a bylo by možné najít mnoho dalších způsobů.
Připojení těla viru ke kódu jeho oběti ovšem znamená zvětšení velikosti původního souboru. To je přímo inzerát viru "Haló, jsem tady" a tak se pisálci virů snaží tuto skutečnost nějak zamaskovat. Pěkným pokusem je vyhledat v těle napadaného souboru nějakou oblast s konstantním obsahem a vložit se do ní. Odpadne nutnost ukládat velký blok dat - stačí si zapamatovat jedno číslo. Většímu rozšíření této metody brání zejména fakt, že podobné "díry" nejsou v souborech příliš častým jevem, a tak se snižují šance viru na nalezení vhodného nosiče a tím i na přežití. Současné viry tuto
26
techniku ještě občas používají při útoku na COMMAND.COM, který vhodné prostory obsahuje ve všech verzích DOSu a současně je souborem, jehož délku si (alespoň přibližně) část uživatelů pamatuje. EXE soubory pro Windows často obsahují "ostrůvky" nevyužitého místa. Toho využívá například virus CIH, který do nich rozloží svůj kód a nemusí tak prodlužovat napadený soubor. Lépe může fungovat "aktivní" ochrana. Pro rezidentní virus je totiž relativně jednoduché převzít kontrolu služeb operačního systému pro práci s adresáři a u infikovaných souborů korigovat informaci o jejich délce na původní hodnotu. Tato stealth technika má ovšem sama o sobě řadu nepříjemných důsledků. Pokud nějaký program otevře takto chráněný soubor, tak zjistí, že skutečná délka neodpovídá údajům z adresáře a může se začít chovat zmateně. Utility typu CHKDSK nebo NDD zase zjistí, že obsah disku je nějak poškozen a pokusí se ho s více či méně katastrofálními důsledky "opravit".
Multipartitní viry Hlavní výhodou bootvirů je to, že se dostanou do paměti jako vůbec první program zaváděný z disku nebo diskety. Díky tomu mají k dispozici informace o stavu počítače bezprostředně po jeho startu a mohou také ovlivňovat činnost všech následně spuštěných programů. Časné zavedení je ovšem současně i jejich nevýhodou nemají totiž ještě k dispozici operační systém a jsou tak odkázány na nejnižší úroveň systémových služeb BIOSu, nemohou napadat soubory a možnosti jejich rychlého šíření jsou tudíž omezené. Souborové viry mají k dispozici "vyšší" úroveň služeb operačního systému a napadají soubory - daleko častěji šířené objekty. Multipartitní viry kombinují výhody obou výše zmíněných postupů. Dokáží infikovat nejen Partition tabulku pevného disku, ale i spustitelné soubory. Při útoku na soubor mohou multipartitní viry použít libovolný postup souborové infekce a napadení systémové oblasti je shodné s technikami používanými běžnými bootviry. Jediná technicky poněkud obtížnější pasáž spočívá v tom, že multipartitní virus se po svém zavedení ze systémové oblasti do paměti musí chvíli chovat trpělivě - počkat, až bude dokončeno zavádění operačního systému a teprve poté převzít kontrolu nad "vyšší úrovní" služeb DOSu.
27
Že tento problém je řešitelný, předváděl "k velké radosti" uživatelů třeba One_Half - jeden z vůbec nejrozšířenějších multipartitních virů na světě.
Makroviry Makroviry jsou bezesporu nejběžnějším typem infekce, který můžete na dnešních PC potkat. Hlavním důvodem tohoto rozšíření je, že infikují dokumenty, tedy objekty, které jsou nejčastěji sdíleny mezi uživateli. Díky tomu je šíření makrovirů jednoduché a rychlé. Už starý Microsoft Word byl vybaven Word Basicem, jazykem dostatečně silným, který umožňoval psaní makrovirů. Současné verze aplikací z Microsoft Office používají Visual Basic for Applications (VBA), nástroj ještě dokonalejší, který perfektně kombinuje schopnosti moderních programovacích jazyků s jednoduchostí Basicu. Jméno makroviru, hlášené programem AVG, začíná vždy identifikací platformy, pro kterou je makrovirus určen. Například WM/ znamená Word 6, W97M/ Word z Office 97 a W2KM/ Word z Office 2000. To, že je makrovirus určen pro konkrétní verzi Wordu, ještě nemusí nutně znamenat, že se ve vyšší verzi nebude schopen šířit. Pokud dokument z Wordu 6, infikovaný virem WM/Napriklad, otevřeme ve Wordu z Office 97, může se stát následující: • Získáme perfektně funkční makrovirus W97M/Napriklad. • Makra budou konvertována, ale virus ztratí schopnost šířit se. Pokud ovšem obsahoval nějakou destrukční akci, tak ta může zůstat funkční. • Word rozpozná prvky známého makroviru a odmítne konverzi provést. Ještě mnohem zábavnější je situace v Excelu, který podporuje i konverzi z vyšších verzí do nižších.
28
Proč je vlastně konverze maker tak důležitá ? Neprobíhá totiž vždy zcela stejným způsobem. Jestliže konvertujete makro z Excelu 5 do Excelu 97 a výsledek poté zpět do Excelu 5 dostanete nepatrně odlišná makra. Vlastně vytvoříte novou variantu viru, aniž o tom víte a aniž to byl váš úmysl. Milé je, že my musíme i tyto věci detekovat a léčit.
Makroviry pro Word V létě 1995 se objevil první makrovirus vůbec - WM/Concept.A určený pro Word 6. Jeho autor zjevně chtěl pouze demonstrovat, že je něco takového možné. Concept sice obsahoval makro určené k nějaké obtěžující nebo destrukční akci, ale to neobsahovalo žádný kód, pouze poznámku s textem:
That’s enough to prove my point Ve velmi krátkém čase následovala nejen řada variant tohoto viru, ale objevily se i zcela nové makroviry. Většina makrovirů pro Word zneužívá tzv. automaker. Vlastně jde o to, že makra se speciálními názvy Word spouští sám (například při otevírání nebo zavírání dokumentu nebo třeba při startu Wordu) uživatel o jejich spuštění nemusí požádat. Word sice umožňuje (dokonce několika způsoby) toto chování zakázat, ale šíření makrovirů to nezabrání. Existují i další možnosti jak převzít kontrolu nad funkcemi Wordu. Jednou z občas doporučovaných metod ochrany je nastavit standardní šabloně NORMAL.DOT atribut Read only (jen pro čtení, nikoli pro zápis). Ani to ale není ideální řešení.
Makroviry pro Excel Excel nabízí virovým pisálkům v podstatě stejné možnosti jako Word. Má automakra a adresář XLSTART, ze kterého si automaticky zavádí šablony.
29
Kromě VBA má Excel navíc ještě možnost vkládat makra i do buněk vlastního speadsheetu. Tato technologie byla použita poprvé v makroviru XF/Paix.
Makroviry pro ostatní části MS Office Makroviry existují i pro další aplikace z Microsoft Office - například pro Access nebo PowerPoint. Jejich nebezpečnost je ovšem nižší - přece jenom uživatelé mnohem častěji sdílejí DOC a XLS soubory než MDB nebo PPT. Existují i makroviry schopné současně napadat více různých typů objektů. Například C97M/Tristate je schopen infikovat Wordové dokumenty, Excelové tabulky a PowerPointové prezentace. PowerPoint umožňuje i další zajímavou hrátku - můžete do své prezentace zahrnout kompletní Wordový dokument nebo Excelovou tabulku a tyto objekty mohou být infikované. Jakmile někdo otevře vložený dokument v jeho aplikaci (t.j. ve Wordu nebo Excelu) může se makrovirus dál vesele šířit.
Makroviry pro ostatní platformy Ostatní platformy jsou proti virům odolnější. Má to dva hlavní důvody: • Podstatné je rozšíření daného produktu. Jestliže word procesor XYZ používá na celém světě pouze hrstka lidí, je velmi nepravděpodobné, že by se makroviry pro něj určené mohly nějak rozumně šířit. • Další důvody jsou technické. Například Amí Pro odkládá makra do zvláštního souboru a tak se nemůže stát, že by někdo nevěděl o makrech připojených k jeho dokumentu. Jediný dosud existující makrovirus pro Ami Pro je tak spíše zajímavou technickou hračkou než náznakem nějakého reálného nebezpečí. Situace se ale v blízké budoucnosti může dramaticky změnit. Microsoft licencoval technologii VBA řadě firem, takže se můžeme těšit ...
30
Projevy virů Základní projevy virů souvisí s jejich nejdůležitější vlastností - se schopností šířit se. Jde o změny obsahu systémových oblastí nebo souborů, v případě rezidentních virů o úbytek volné paměti a v případě doprovodných virů o vytváření spustitelných souborů s příponou COM v těch adresářích, kde už existuje soubor stejného jména s příponou EXE. Tyto projevy jsou nutné. Ostatní projevy viru již lze považovat za nadstandardní péči autora viru o nechtěného uživatele. Jedná se o milé (a častěji nemilé) žertíky viru na vrub uživatele a úmyslné nebo neúmyslné destrukce dat. Tyto vedlejší projevy lze na základě jejich typu rozčlenit do několika skupin.
Efekty Uvědomte si, že virový pisálek trpí vážným problémem. Uživatel nesmí příliš brzo poznat, že jeho počítač je napaden (výrazně by to snížilo šance viru na přežití), ale současně by se autor rád nějak zviditelnil. Výsledkem je nejčastěji načasování efektu na konkrétní dobu (obligátní pátek třináctého, datum narození nějaké osobnosti, sedmnáctý listopad ...). Další možností je, že efekt není nijak načasován, ale jeho spuštění je vázáno na nějaký jev s malou pravděpodobností (hodnota systémového času v okamžiku spuštění infikovaného souboru, vygenerované náhodné číslo je v nějakém intervalu ...). Vlastní efekt často spočívá v nějaké manipulaci s obsahem obrazovky (padání písmen, průjezd sanitky na několika dolních řádcích ...) nebo ve vypsání nějakého objevného sdělení. Obsah těchto sdělení by mohl být zajímavým materiálem pro psychologa. Viry propagují hudební skupiny, komentují politické události a názory, vyhrožují destrukcí disku nebo se třeba jenom představují. Kromě efektů optických se setkáváme i s akustickými. Jakkoli nejsou zvukové možnosti interního reproduktoru počítače nijak oslnivé, na
31
jednoduchou melodii bohatě stačí. Jeden z virů bulharského původu třeba hraje každý den ráno jednoduchou melodii a první květen oslaví Internacionálou.
Obtěžující chování Nepříjemným projevem virů bývají různé pokusy o obtěžování uživatele. Existuje třeba virus, který převezme kontrolu klávesnice a občas zamění stisknutou klávesu za sousední. Vžsledlem je, že vxroste ovvyklá míoa překleoů a nicbetušící užuvatel se vzteký. Podobným efektem je “polykání” stisknutých kláves. Zděšený uživatel mlátí vší silou do kláves a virus se tiše směje. Zajímavé jsou i hrátky se systémovým časem počítače. Takové hodiny jdoucí pozpátku pěkně vystraší uživatele, kterému konec pracovní doby mizí v nedohlednu. Ještě větší radost z podobných hrátek mají uživatelé přechytralých programů, které si pečlivě vybírají nejaktuálnější informace podle data a času vytvoření souborů. Poněkud drastičtější je virus, který sleduje používání příkazu COPY a občas zamění jeho parametry. Když je místo příkazu COPY NOVE.TXT STARE.TXT provedeno COPY STARE.TXT NOVE.TXT, tak zcela jistě jedno oko nezůstane suché. Slušným zdrojem inspirace je i přítomnost modemu v počítači, pomocí kterého může virus protelefonovat docela slušné peníze (zatím neznáme virus volající na nějaké “0609-čekám jenom na Tebe”, ale i toho se asi časem dočkáme). Pokud jde jenom o peníze, tak čert s tím, ale autor viru volajícího pravidelně na číslo 911 (tísňové volání v USA) by si jistě zasloužil některý z trestů, které toto osvícené století bohužel zrušilo.
Krádeže Dostatečné rozšíření Internetu umožňuje autorům virů vykrást libovolné údaje z vašeho počítače a kamkoli je přenést pomocí FTP nebo elektronické pošty. Například virus W97M/Caligula se takto pokouší odeslat kopii vašeho privátního klíče pro šifrovací systém PGP.
32
A není problém si představit virus, který prohledá vaše textové soubory a odešle kopie těch, které obsahují takto formátovaná čísla: nnnn nnnn nnnn nnnn nn/nn Milá představa, že ?
Destrukce Až příliš častým projevem virů bývá snaha zničit data na pevném disku. Za zmínku stojí, že mezi kvalitou kódu viru (a tedy programátorskými schopnostmi jeho autora) a mezi mírou destrukce, kterou virus působí, je obvykle nepřímá úměra. Triviální viry se spokojí s tím, že bez varování přepíší obsah celého disku nesmysly. V takovém případě nezbývá, než sáhnout po pravidelně prováděných zálohách a obnovit poslední stav. To je sice pracné, ale pokud existují aktuální zálohy, tak se zase nic tak tragického nestalo. Pokud zálohy neexistují, tak si zodpovědný pracovník může v klidu naházet obsah svého psacího stolu do igelitové tašky a podle míry způsobených škod zamířit buď domů nebo na letiště. Existuje i daleko zákeřnější forma destrukce - pomalé a nenápadné změny v datech. Pokud na počítači nějaký čas působí virus, který kontroluje zápisy na disk a tu a tam prohodí dva bajty, tak je velmi pravděpodobné, že i záložní kopie obsahují poškozené soubory a neexistuje žádný způsob, jak zjistit co je, a co není, v pořádku. Poznámka: Výborné příležitosti pro hrátky s daty mají makroviry. Například WM/Wazzu vkládá slovo ‘wazzu’ do náhodně vybraného místa v dokumentu. Schválně si zkuste na Internetu najít stránky, které obsahují slovo ‘wazzu’, ale nemají nic společného s viry ani s Washingtonskou univerzitou. Budete překvapeni jak velké množství lidí připravovalo texty pro své stránky v infikovaném Wordu. A asi není potřeba rozvádět jak milým efektem je, když makrovirus pro Excel projde tabulku a nepatrně změní náhodně vybrané položky.
33
Něco je špatně Obvyklé fámy okolo virů prezentují jejich autory jako programátory téměř geniální, jejichž dokonalá dílka jsou schopna všeho. Pravdivá je jenom polovina tohoto tvrzení. Naprostá většina virů je totiž napsána takovým způsobem, že jejich autoři by si zřejmě programováním nevydělali ani na suchý chleba. Takové programy jsou pak samozřejmě schopny téměř všeho, aniž by to viroví pisálci tušili. Některé viry jsou dokonce v takovém stavu, že sice napadnou soubor, ale už z něj nejsou schopny dalšího šíření. I relativně dobře napsané viry se ale mohou dostávat (a často se dostávají) do konfliktů s jinými programy nebo s operačním systémem. Je to daň za použití některých nedokumentovaných postupů, případně za snahu obejít kontrolní mechanismy antivirových systémů. Zejména rezidentní viry mají často potíže, které se navenek projevují tím, že počítač často havaruje a některé programy (typicky třeba Windows) se chovají prapodivně nebo vůbec nefungují. Takové chování ovšem nemusí být příznakem výskytu viru. Dnešní PC je obvykle zmateným chumáčem hardwaru různého původu se spoustou ovladačů. Když se k tomu připočtou různé (vzájemně více či méně nekompatibilní) verze DOSu a spousta nejrůznějších rezidentních programů, které si většina uživatelů spouští, tak je skoro až podivné, že to celé nějak funguje. A ono to navíc dost často funguje prapodivně. Proto je velmi obtížné rozlišit mezi potížemi, které má na svědomí vir, a těmi, za které mohou hádající se “korektní” programy.
Nechtěná destrukce I když autor viru nenaprogramoval žádnou destrukční akci, neznamená to, že virus je neškodný. Musí totiž ke svému šíření modifikovat existující soubory nebo systémové oblasti. Typickým příkladem takové nechtěné destrukce je útok bootviru na disk s instalovaným Ontrack Disk Managerem. Chudák virus si myslí, že na nulté stopě disku je zcela volné místo a zapíše si tam pár maličkostí. Stejný názor měl bohužel Disk Manager, který na nultou stopu odložil sám sebe. Výsledkem “kooperace” obou programů je nepřístupný disk.
34
Dalším krásným kouzlem je kombinace nedokonale implementovaných stealth technik a některých programů pro komprimaci dat, která může skončit tak, že archiv obsahuje pouze trosky souborů, které byly komprimovány. S nechtěnou destrukční akcí se také setkalo několik tisíc uživatelů na celém světě při instalaci Windows’95 z disket. Microsoft totiž ponechal pouze první disketu v obvyklé velikosti a všechny ostatní byly naformátovány na 1,7 MB. Pro bootviry bylo toto uspořádání novinkou a jejich pokus infikovat disketu skončil zničením části jejího obsahu.
Sebeobrana viru Autoři virů si pochopitelně přejí, aby jejich “děťátka” měla šťastný a nerušený život. Proto se je často snaží vybavit nějakou formou obrany proti antivirovým systémům.
Pasivní obrana Viry se snaží zabránit svému odhalení různým způsobem. Pasivní ochranou je použití takových programových konstrukcí, které znesnadní analýzu viru a ochrání ho před některými technikami hledání. Příkladem podobné ochrany jsou polymorfní viry, které vlastně vznikly jako reakce na scannery vyhledávající konstantní kousky virového kódu. Čas pokročil a antivirové systémy jsou schopny obecně analyzovat polymorfní kód a vyhledávat své virové identifikátory až v dekryptovaném těle viru. Reakcí ze strany virových pisálků je snaha o vytvoření tak komplikovaných dekryptovacích funkcí, aby je antivirový systém nedokázal vůbec projít nebo je považoval za korektní kód zdravého programu a analýzu ukončil. Dalším významným pokrokem v antivirových technikách je heuristická analýza, která dovoluje s vysokou účinností odhalit i viry, které nejsou v dané době autorům antivirového systému známy. Proto se dnes stále častěji setkáváme s více či méně úspěšnými pokusy o vytvoření takového kódu, který heuristická analýza “nepochopí”, nebo který jí bude připadat zcela korektní.
35
Existuje třeba virus, který zašifruje své tělo náhodně vygenerovaným klíčem, ale jeho hodnotu si nikam neuloží. Pokud je napadený soubor spuštěn, tak virus hledá správný klíč tak, že zkouší všechny možné hodnoty dokud nenajde tu správnou (vznešeně se tomu říká brute force attack).
Aktivní obrana Aktivní metody sebeobrany spočívají především v ochraně vlastního kódu viru a v pokusech o likvidaci nebo poškození antivirového systému a jeho částí. Nejjednodušší viry se snaží alespoň vyhledat a zničit databáze informací, které si antivirový systém vytvořil, případně jej celý smazat. Chytřejší rezidentní viry používají Stealth techniky a zjistí-li přístup k infikovaným souborům tak je dočasně vyléčí nebo předstírají, že jsou v pořádku. Mohou také sledovat spouštění programů a reagovat tak na spuštění antivirového programu. Rejstřík reakcí je bohatý a fantazii se meze nekladou. Obvyklé bývá odmítnutí spuštění programu nebo jeho smazání (doprovázeno nějakým stupidním chybovým hlášením), případně dočasné pozastavení všech aktivit viru. Občas se vyskytují i viry extrémně chytré, které modifikují kód antiviru a pokoušejí se tak vypnout některé jeho funkce. Naštěstí ojedinělé jsou viry považující spuštění antivirového systému za hrubou provokaci vyžadující odvetný úder - třeba okamžité formátování disku.
Past Past představuje nejzlomyslnější formu sebeobrany viru. Model je jednoduchý - spokojeně žijete s virem a vše zdánlivě funguje správně. Odhalíte jeho přítomnost, odstraníte jej a najednou je všechno špatně, soubory už nejsou co bývaly, disk vůbec není přístupný nebo je dokonce počítač v takovém stavu, že pokus o start z čisté systémové diskety skončí jeho “zatuhnutím”. Jednou z nejznámějších pastí je průběžné šifrování obsahu disku, které provádí multipartitní virus One_Half. Pokud jeho odstranění
36
z Partition tabulky není doprovázeno dekódováním disku, tak některé adresáře neuvidíte, obsah jiných adresářů bude prapodivný a část souborů nebude k poznání. Tento stav je sice velmi špatný, ale stále ještě řešitelný. Jestliže ale v této situaci požádáte nějakou diskrepair utilitu (NDD, SCANDISK ...) o “opravu” disku tak tím vaše data končí definitivně. Problém je v tom, že utilita určená pro řešení běžných (a obvykle relativně malých) problémů na disku najde místo poškozeného obsahu totální nesmyly, pokusí se je vzít vážně a na základě těchto (díky šifrovací funkci vlastně náhodných) dat provést opravu. Kvalita výsledku pak bohužel odpovídá kvalitě dat, která měla utilita k dispozici.
ANTIVIROVÉ TECHNIKY Sebelepší antivirový program není k ničemu, jestliže s ním jeho uživatel neumí zacházet a nerozumí jeho výsledkům. Porozumět jim znamená především porozumět tomu, jak jednotlivé technologie hledání virů pracují. AVG používá pro detekci virů tři techniky. Pokud vás zajímají detaily, najdete je v: • Hledání známých virů • Pokus o hledání neznámých virů • Sledování změn Tyto techniky nejsou použity pouze v kontrolním programu AVG, ale také v Rezidentním štítu a v AVG pro E-mail.
Zpracování souboru Stručně se dá říct, že AVG kontroluje soubory tímto způsobem: • AVG nejprve ověří, zda má o kontrolovaném souboru k dispozici nějaké detailní informace v databázi integrity .
37
• Poté hledá známé viry a pokud není žádný objeven, tak se ke slovu dostává heuristická analýza. • Jestliže soubor může obsahovat několik infikovatelných objektů (například EXE soubor pro Windows, prezentace vytvořená v Power Pointu nebo soubory v archivu) je druhý krok zopakován pro všechny tyto komponenty. • Jestliže žádný z předchozích kroků nenajde infekci, poznačí si AVG (pokud je to potřeba) informace o souboru do databáze integrity a pokračuje v testování dalších souborů. Přehled všech hlášení produkovaných testy systému AVG naleznete v Nápovědě programu AVG pro Windows.
Hledání známých virů Úplně první antivirové programy se snažily vyhledávat konkrétní viry na základě nejrůznějších znaků, které doprovázely infekci. Vycházely ze skutečnosti, že první viry byly velmi jednoduché a kopii od kopie, až na nepatrné vyjímky, totožné. Tedy něco na způsob: Jestliže první bajt je E9 a současně další dva bajty po přičtení čísla 907 odpovídají délce souboru a zároveň má posledních dvacet bajtů tyto hodnoty ... atd, atd. Dobře napsaný vyhledávací program, používající tuto techniku, je relativně spolehlivý, ale jeho údržba je velmi pracná. Při dnešním počtu virů by podobné testování navíc trvalo neúměrně dlouho. Dalším krokem bylo vytvoření scanneru - programu, který se snažil v souboru najít nějaké posloupnosti instrukcí, typické pro jednotlivé viry. Pro každý virus se tedy vybere vhodná sekvence znaků - např. B4 3D CD 21 B8 00 00. U testovaných objektů se pak kontroluje, zda neobsahují tuto sekvenci. Pokud ano, je objekt označen jako napadený virem. Je samozřejmé, že výběr vhodné sekvence znaků, která bude pro detekci viru používána, není jednoduchý - sekvence se nesmí vyskytovat v žádném korektním programu, aby nedocházelo k mylným
38
hlášením. Největší výhoda scanneru, oproti vyhledávacímu programu, spočívá v možnosti snadného a rychlého doplnění informací pro detekci nových virů. V době, kdy se roční nárůst počtu virů pohybuje okolo 2000 kousků je to výhoda velmi podstatná. Autoři virů se samozřejmě snaží vyhledání svého dítka co nejvíce znesnadnit. Objevuje se nový termín - polymorfní virus . Takový virus se snaží většinu svého kódu pravidelně měnit tak, aby určení vhodné sekvence znaků ztížil či znemožnil. Zpočátku tuto úlohu obstarávala krátká funkce, která vlastní tělo viru zakódovala. Většinou však tato kódovací funkce byla sama o sobě dostatečně dlouhá k tomu, aby poskytla vhodnou sekvenci znaků. Postupem času se ale algoritmy, zajišťující viru jeho proměnlivost, zdokonalily. Na tuto změnu museli reagovat samozřejmě také autoři antivirových programů. Nějaký čas se snažili pouze doplnit své programy o rozpoznávání polymorfních virů pomocí jednoúčelových funkcí, ale to byl vlastně krok zpět k vyhledávacím programům se všemi jejich nevýhodami. AVG proto obsahuje emulátor strojového kódu, kterým se pokouší “napodobit” provedení dekódovací části. V praxi to znamená, že dokáže “rozbalit” zakryptovaný virus do jeho nekódované podoby a sekvence hledá až v dekryptovaném těle viru. Použití vyhledávacích sekvencí může vést k problémům při léčení (například pokud se objeví nová verze viru). Proto je AVG vybaveno mnohem komplexnějšími informacemi - může kontrolovat speciální vlastnosti nalezených sekvencí (např. jejich absolutní nebo relativní polohu) a ověřovat si kontrolní součty dalších oblastí těla viru. To umožňuje spolehlivější identifikaci a odstranění viru. Uživatel antivirového programu - scanneru, musí samozřejmě používat takovou verzi, která tento virus již umí nalézt. Tato skutečnost je největší a podstatnou nevýhodou scannerů i vyhledávacích programů. Jejich bezmocnost proti novým virům. Dobře udržovanýscanner sice obvykle dokáže detekovat některé nové varianty starších virů, ale proti zcela movým virům jsou jeho šance malé. Proto AVG používá také heuristickou analýzu.
39
Heuristická analýza Heuristická analýza není marketingovým blábolem, ani nějakým druhem černé magie. Jde o pokus zjistit analýzou programu, zda obsahuje konstrukce typické pro počítačový virus.
Jak může heuristická analýza vypadat Začněme malým kouskem kódu, vyrvaným ze dvou různých virů, napadajících systémové oblasti počítače. V levém sloupci je instrukce CPU vyjádřena číselně a v pravém symbolicky. A3 B1 D3 2D 8E BE 8B B9 F3
13 06 E0 C0 C0 00 FE 00 A5
04
07 7C 01
MOV MOV SHL SUB MOV MOV MOV MOV REP
[0413h],AX CL,6 AX,CL AX,07C0 ES,AX SI,7C00h DI,SI CX,100h MOVSW
26 B1 D3 8E 33 B9 FC F3
A1 13 04 06 E0 C0 FF FF 00 A5
MOV MOV SHL MOV XOR MOV CLD REP
AX,ES:[0413h] CL,6 AX,CL ES,AX DI,DI CX,00FF MOVSW
Přestože jde o dva zcela rozdílné viry, můžeme v ukázce vidět (i bez znalosti assembleru) značnou podobnost. Porovnáním číselného vyjádření bez obtíží najdeme pasáž společnou oběma úryvkům: 13 04 B1 06 D3 E0 (0-3) 8E C0 (6-8) F3 A5
(Poznámka: čísla v závorkách označují počet nezajímavých bajtů, které mohou být při hledání vynechány. ) Tuto jednoduchoučkou “vyhledávací sekvenci” můžeme ještě trošku zobecnit: 13 04 (0-18) B1 06 D3 (0-40) F3
Tato jediná sekvence je schopna detekovat cca 30% všech boot virů, které jsou hlášeny ze světa jako rozšířené (In the Wild) a asi 50% všech existujících.
40
Bylo by zřejmě možné říkat i tomuto postupu heuristická analýza (a první heuristické analýzy, používané v pravěku antivirových programů, takto pracovaly), ale dovolme si raději tento termín rezervovat pro poněkud lepší postupy.
Jak pracuje naše heuristická analýza Jádrem heuristické analýzy v AVG je emulátor instrukcí procesoru Intel. Jde vlastně o “virtuální počítač”, ve kterém můžeme “spustit” program nebo nějakou systémovou akci - třeba zavádění operačního systému z boot sektoru nebo z MBR pevného disku. Program emulovaný ve virtuálním počítači není v žádném slova smyslu přímo spuštěn. Emulátor kódu bere jeho jednotlivé instrukce a bezpečným způsobem napodobuje jejich činnost tak, že se vše odehrává ve “virtuálním počítači” a instrukce nemohou žádným způsobem ovlivnit obsah reálné paměti, kterou mohou sdílet další programy nebo samotné AVG. Díky existenci emulátoru kódu je nám zcela jedno jak složitě zašifrovaný či nečitelně napsaný je zkoumaný program. Pokud bude vykonávat nějakou smysluplnou činnost v reálném počítači, bude přesně stejnou činnost provádět i emulátor. S troškou zlomyslnosti věnujme minutu ticha virovým pisálkům, kteří se měsíce trápili vytvářením “toho opravdu nejdokonalejšího generátoru polymorfních dešifrovacích smyček”, aby AVG tuto pasáž kódu bez zájmu a námahy prošlo a další kontrole už předložilo dešifrovanou, konstantní, část viru. V průběhu emulace kódu probíhá i sběr informací o “významu” emulovaného kódu a AVG se snaží jejich vyhodnocením odhadnout, zda jde o činnost typickou pro neškodný program nebo naopak pro počítačový virus. Hlavní výhodu emulátoru oproti klasickému vyhledávání podezřelých sekvencí dobře ilustruje tento příklad: ; Tento úryvek kódu zapisuje do souboru tři bajty MOV AH,40h ; ID operace MOV CX,3 ; Počet bytů INT 21h ; Volání funkce operačního systému
B4 40 B9 03 00 CD 21
41
Kód s přesně stejným významem ovšem můžeme napsat nekonečně mnoha způsoby: B4 80 B9 CD
45 EC 05 03 00 21
MOV SUB MOV INT
AH,45h AH,5h CX,3 21h
29 83 B4 CD
C9 C1 03 45 21
SUB ADD MOV INT
CX,CX CX,3 AH,45h 21h
Je zřejmé, že není dost dobře možné najít (už jenom pro těchto pár ukázek a takto triviální případ) nějakou společnou vyhledávací sekvenci. Emulátor kódu je v tomto případě nad věcí. Projde instrukce, odsimuluje jejich význam a v okamžiku volání služby operačního systému zná přesný obsah všech registrů mikroprocesoru, bez ohledu na to, jak složitě byly spočteny.
Výhody a nevýhody heuristické analýzy Hlavní výhodou heuristické analýzy je schopnost detekce nových virů ještě dříve, než se nám dostanou do rukou a doplníme informace pro jejich detekci do AVG. Existuje i jiný způsob jak zachytit nové viry: kontrola integrity. Tato metoda je založena na sledování a vyhodnocování změn programů a systémových oblastí počítače. Dokáže tedy virus zachytit až po jeho průniku do chráněného počítače, což může být příliš pozdě. Pouze heuristická analýza je schopna nalézt nový virus dříve, než má šanci způsobit nějaké problémy. V reálném světě se každou výhodu něčím platí. Heuristická analýza není vyjímkou z tohoto pravidla. Její hlavní nevýhodou je možnost výskytu tzv. falešného poplachu, kdy heuristická analýza označí za podezřelý program, který žádný virus neobsahuje. Pravděpodobnost podobného jevu je malá, ale zcela vyloučit jej nelze. Domníváme se ovšem, že tato nevýhoda je v porovnání s výhodami heuristické analýzy zcela zanedbatelná.
Meze možností Jestliže rozumíme principům práce heuristické analýzy, rozumíme i jejím omezením. Především není heuristická analýza schopna najít
42
viry naprogramované ve vyšších programovacích jazycích (C, Pascal, Basic, ...). Zaváděcí kód a knihovny užívané těmito jazyky jsou velmi rozsáhlé a i když by technicky nic nebránilo proemulovat i takový program do dostatečné hloubky, tak by zpracování jednoho souboru přece jenom trvalo o pár hodin déle, než je snesitelné. Druhým omezením heuristické analýzy je její schopnost zpracovat pouze některé typy infikovatelných objektů. Heuristická analýza vyžaduje velmi detailní informace o zkoumaném objektu. Pro programy to zahrnuje znalost všech instrukcí mikroprocesoru (včetně takových, které nejsou dokumentovány a oficiálně podporovány jeho výrobcem), znalost způsobu jakým je program při svém spuštění zaváděn do paměti, přehled o službách poskytovaných operačním systémem (samozřejmě včetně služeb nedokumentovaných či vyhrazených pro interní potřebu autorů operačního systému) a informace o přesném významu některých rezervovaných oblastí paměti počítače, které používá BIOS nebo operační systém. Pokud se objeví nový druh infikovatelného objektu, musí o něm být shromážděny všechny tyto informace a heuristická analýza musí být upravena tak, aby byla schopna ho analyzovat. V horším případě (například pro makroviry) musí být napsána nová analýza zcela “na zelené louce”. V době uzávěrky tohoto textu máme připravenou beta verzi heuristické analýzy pro makroviry a doplníme ji do AVG 6 v některé z aktualizací.
Výsledky heuristické analýzy Je velmi důležité si uvědomit, že heuristická analýza není metodou schopnou odhalit 100% všech známých a neznámých virů. Jde o doplňkovou metodu, která výrazně zvyšuje šance na zachycení nového viru. Nic víc a nic méně. Podle našich testů je naše heuristická analýza schopna detekovat více než 70% existujících souborových virů a bootvirů, při zanedbatelném počtu falešných poplachů.
43
Test integrity Využití testu integrity při hledání virů Po otestování souboru na přítomnost známých virů a jeho kontrole heuristickou analýzou jsou nejdůležitější informace o souboru uloženy do databáze integrity (databáze kompletního testu). Pokud bude soubor při příštím testu ve stejném stavu (a AVG nebylo mezitím aktualizováno), tak není nutné jej detailně testovat. V případě detekované změny obsahu souboru se AVG pokouší analyzovat typ změny a odhadnout, zda se může jednat o infekci či nikoli (samozřejmě pouze v případě, že už předchozí testy nenašly konkrétní infekci nebo něco podezřelého). Po aktualizaci AVG jsou všechny soubory testovány znovu. To je nutné pro případ infekce novým virem, který ještě předchozí verze nebyla schopna detekovat.
Využití testu integrity při léčení virů Velmi důležitou roli hraje databáze integrity i při léčení souborů. Neobsahuje totiž pouze kontrolní součet celého souboru, ale kontrolní součty několika oblastí souboru, kontrolní součet celého souboru (vyrobený velmi bezpečným MD algoritmem) a navíc ještě kopii obsahu malé (ale nesmírně důležité) části hlavičky souboru. S těmito informacemi můžeme léčit soubory mnohem přesněji a obnovit zcela správnou délku (některé viry zarovnávají délku infikovaného souboru na násobek 16 a nikam neukládají údaj o původní délce souboru).
Omezení testu integrity Jakkoli je tato metoda velmi spolehlivá, není (jako ostatně nic na této planetě) perfektní.
44
• Nedokáže uživateli sdělit, zda se v jeho počítači objevil virus. Veškerá zjištění, kterých je test integrity schopen, jsou omezena pouze na sdělení - byla zjištěna změna a případné označení této změny za podezřelou. • Je bezmocná proti makrovirům. Je sice možné testem integrity sledovat textové soubory, ale počet zjištěných (a zcela korektních) změn bude takový, že uživatele zcela zahltí. • Kromě toho existují i programy, které svůj EXE soubor mění. (Třeba TC.EXE - kompilátor Turbo C V2.0 - si sám do sebe poznamenává svou konfiguraci). To jsou ovšem drobnosti. Daleko podstatnější nevýhodou kontroly integrity je, že virus zachytí až při jeho šíření v chráněném systému. Tento postup poněkud připomíná zavírání kurníku ve chvíli, kdy už liška se zakrvavenou tlamou mizí směrem k lesu.
REZIDENTNÍ ŠTÍT Rezidentní štít (on-access scanner) je zaveden do paměti při startu počítače a průběžně monitoruje souborové operace, které jsou na něm prováděny. Pokud přistupujete k nějakému infikovanému souboru (například spouštíte nakažený program, nebo otevíráte dokument s makrovirem), tak rezidentní štít vypíše varování a odepře přístup k tomuto souboru. Zní to jako definitivní řešení všech problémů s viry, že ? Život bohužel není tak jednoduchý. Rezidentní programy mají své limity nejdůležitějším z nich je rychlost. Zpomalení počítače způsobené průběžnou kontrolou nesmí být příliš velké, jinak by bránilo uživatelům v práci. Rezidentní štít používá stejné antivirové techniky jako vlastní AVG. Jediným rozdílem je, že se nesnaží kontrolovat archivy - podobná operace by byla příliš časově náročná.
45
KONTROLA ELEKTRONICKÉ POŠTY Nejlepším způsobem obrany hradu je důsledná ochrana všech bran. Přílohy elektronické pošty dnes představují nejběžnější způsob šíření souborů mezi uživateli. Proto je součástí antivirového systému AVG i AVG pro E-mail, který prověřuje připojené soubory, přesně v okamžiku, kdy “překročí hranice” mezi vaším serverem a poštovním klientem. Stejnou práci může zajisté odvést (o něco později) rezidentní štít, ale díky kontrole elektronické pošty vás můžeme varovat tak rychle, jak je to jenom možné. AVG pro E-mail používá stejné antivirové techniky jako vlastní kontrolní program AVG.
46
PRAKTICKÁ SEBEOBRANA PRO UŽIVATELE Vlastní kontrolu počítače antivirovým programem lze označit za aktivní ochranu. Kromě ní však existuje také tzv. ochrana pasivní v podstatě jde o způsob, jakým se uživatel k počítači chová a jak s ním pracuje. Existuje jediná 100% spolehlivá ochrana před počítačovými viry. Stačí vložit počítač do velké dřevěné bedny, pečlivě přestříhat všechny k němu vedoucí šňůry a zalít ho betonem. Použít tento postup je poněkud nepraktické, takže se pokusme najít nějaký méně účinný, ale o něco praktičtější. Pokud se ale právě teď smutně díváte na obrazovku svého počítače s nápisem:
Your hard-disk is being corrupted, courtesy of PATHOGEN! Programmed in the U.K. (Yes, NOT Bulgaria!) [C] The Black Baron 1993-4 Featuring SMEG v0.1: Simulated Metamorphic Encryption Generator! ‘Smoke me a kipper, I`ll be back for breakfast.....’ Unfortunately some of your data won`t!!!!!
tak je už pozdě myslet na nějakou prevenci. V této situaci si v klidu uvařte kávu, vypijte ji a přitom vzpomínejte, kde máte záložní kopie svých dat. Nicméně předpokládejme, že tak daleko ještě situace nedospěla. Zde jsou tedy zásady, jejichž dodržování vám pomůže výrazně snížit pravděpodobnost virových radovánek na vašem počítači:
Váš počítač - váš hrad Pokud to není nezbytně nutné, tak ke svému počítači nepouštějte osoby, které se nejsou schopny a ochotny chovat podle vašich představ. Jakákoli pečlivost během dne je k ničemu, jestliže k vašemu počítači večer zasedne náruživý hráč s balíčkem disket (dnes již spíše CD) pochybného původu.
47
Nedůvěřujte nikomu Každou disketu, kterou někdo chce vsunout do vašeho počítače, nejprve otestujte. Možná tak budete vypadat jako nebezpečný paranoik, ale občas vám bude odměnou pohled na protažený obličej vašeho přítele, který se dušoval, že opravdu, ale opravdu žádné viry na své disketě nemá, a nyní tupě zírá na varovné hlášení. Z tohoto pravidla nejsou vyňaty žádné diskety, byť by je přinesl zvláštní posel prezidenta republiky s osobním dopisem dotyčného, zaručujícím jejich “viruprostost”. Je zdokumentována řada případů, kdy se vir šířil například na instalačních disketách přikládaných k hardwaru nebo na disketě s programem odborného semináře pořádaného jedním z největších výrobců počítačů.
Nedůvěřujte ani sobě Pokud na cizí disketu nechcete psát, ochraňte ji proti zápisu. Vyvarujete se pak toho, že za vámi někdo přijde, bude tlouct disketou o stůl, vykřikovat sprostá slova a tvrdit, že byla ve vašem počítači napadena virem. A kdyby se náhodou stalo, že nějaký nový vir do vašeho počítače přece jenom pronikl, zpomalíte tak jeho další šíření. To jistě stojí za trochu námahy.
Nepřeceňujte svůj antivirový program Protože tato rada platí i pro náš antivirový systém AVG, zní možná trošku prapodivně, ale pokusíme se ji vysvětlit. Pokud má autor viru k dispozici aktuální verzi libovolného antivirového systému, umí dobře programovat a má dostatek volného času, tak prostě je schopen napsat virus neodhalitelný většinou funkcí tohoto systému. Pravděpodobnost, že se s takovým virem stihnete potkat dříve, než s aktualizací, která ho již bude znát, je sice velmi malá, ale existuje. Právě zde je nejlepším řešením zajistit pro svůj program pravidelnou aktualizaci s co nejkratší periodou.
48
Proveďte občas start systému z čisté diskety a kontrolujte Jak jsme uvedli v předchozím odstavci, existuje teoretická šance, že se na vašem počítači objeví virus. Virus, který je vybaven speciálními technikami na ochranu právě před tím antivirovým programem, který používáte. Přestože tento antivirový program je vybaven kvalitním anti-stealth technikami (je schopen zjistit i jinak “neviditelné” stealth viry) a nemusíte proto normálně před každým testem startovat operační systém z čisté diskety, nastane situace, kdy aktivní virus váš program “obelstí”. V této chvíli je jedinou (a snadnou) možností, zajistit pro antivirový program čisté prostředí, kde virus není aktivní. Toho dosáhnete tak, že provedete start operačního systému ze systémové diskety (samozřejmě nenapadané virem). Nyní spusťte antivirový program a proveďte kontrolu - virus nemůže ovlivnit běh programu a bude detekován.
Zálohujte svá data Záložní kopie zdaleka nejsou důležité jenom kvůli počítačovým virům. Pevné disky přece jenom nejsou nesmrtelné, počítače se kradou a občas dojde i k požáru. V takovém případě může mít sada bezpečnostních kopií, uložená na nějakém bezpečném místě, cenu zlata. Velmi dobrým nápadem je mít několik sad záložních kopií z různé doby. Existují totiž i zákeřné viry, které škodí zvolna a nenápadně. Například vir Ser_No občas mění náhodně vybraný Byte v datech zapisovaných na disk. Pokud nemáte k dispozici zálohy z doby, kdy počítač ještě nebyl infikován, může být záchrana dat velmi pracná.
Braňte se včas Antivirový systém má výrazně vyšší šance, jestliže je instalován na zdravém počítači. Nainstalujte ho proto co nejdříve.
Braňte se pořád Antivirové programy “stárnou” (a AVG není výjimkou), proto je nanejvýš nutné si antivirový systém pravidelně aktualizovat - jenom tak
49
může být schopen vám účinně pomoci i proti novým virům. Uvědomte si, že vlastní aktualizace antivirového programu může probíhat, a také probíhá, ve dvou rovinách. První je pouhé doplňování nových virových identifikátorů, podle kterých antivirový program známé viry vyhledává. Za smysluplnou rychlost aktualizace virové databáze lze považovat interval jednoho, maximálně dvou měsíců. V dnešní době se nabízí ideální platforma pro distribuci těchto souborů - Internet. Pokud jste připojeni, tak je AVG schopno si automaticky stahovat své aktualizace. Druhým způsobem aktualizace je skutečný zásah do vlastních programů, obvykle ve větším rozsahu. Pro detekci nových, moderních virů je nutné do programu zapracovat zcela nové techniky a vyhledávací algoritmy, nebo stávající funkce podstatně přepracovat. Aktualizace touto formou je pak nejčastěji nabízena uživateli jako přechod na novou verzi - UpGrade za poplatek.
Buďte pozorní Všímejte si změn chování svého počítače. Přítomnost viru v systému se může (ovšem nemusí) projevit celou řadou maličkostí.
Nebojte se zeptat Když získáte pocit, že se na vašem počítači děje něco, co by se dít nemělo, tak se nebojte zeptat někoho znalejšího. Nemít detailní znalosti dnešních PC není žádná ostuda.
Na závěr Přečtěte si dokumentaci. Pokud tak neučiníte u svého oblíbeného textového editoru, tak nanejvýš riskujete, že některé operace budete provádět zbytečně pracně. Ignorování dokumentace antivirového programu vás může stát přece jenom o něco více. Vzhledem k tomu, že právě čtete tento odstavec, tak ovšem nezbývá, než vás pochválit.
50