Do všech počítačů se dobývá nežádoucí mikroflóra

Počítačové viry jsou jedním z populárních fenoménů této doby a informace o nich se stále častěji objevují také ...


Počítačové viry jsou jedním z populárních fenoménů této doby a informace o nich
se stále častěji objevují také v běžných (nepočítačových) médiích. Za dobu
jejich existence se kolem počítačových virů objevilo mnoho mýtů, pověr a
nepravd. V tomto TECH-Tipu se zaměříme na vlastnosti počítačových virů,
možnosti jejich detekce a jejich odstraňování.
Je třeba si uvědomit, že v organizacích je ochrana proti virům jen součástí
jejich bezpečnostní politiky. Nemá proto valný význam, pokud antivirovým
programem zabezpečení organizace končí. Naopak ostatní bezpečnostní mechanismy
by měly antivirovou ochranu podporovat a částečně také zabraňovat infiltraci
virů, případně jejich škodění.
Co je to virus?
Nejdříve formulujme definici počítačového viru. Za počítačový virus považujeme
část programového kódu, která se bez vědomí uživatele sama replikuje. Není však
třeba, aby každá replika vypadala stejně stačí, když má stejnou funkci. Virus
je obvykle uživateli skryt tj. nedává o svojí existenci žádné zprávy. Nutnou
vlastností virů naopak není škodlivá činnost ta u velké části virů není ani
úmyslem.
V této souvislosti se přímo nabízí otázka, kolik virů v současné době existuje.
Odpověď není jednoznačná, neboť záleží na tom, jestli každou (byť jen nepatrně)
obměněnou variantu považujeme za nový virus. Některé "populární" viry se totiž
dočkaly několika desítek variant, které vznikly přepracováním původního viru.
Též je nutné si uvědomit, že většina virů přežívá jen ve virových laboratořích
antivirových firem. Virů, které skutečně kolují po světě je v polovině roku
1999 (dle seznamu "In The Wild") cca 400, což je cca 1-4 % z jejich celkového
počtu (ovšem podle toho, z jakého "celkového počtu" vycházíme).
Tento seznam lze nalézt na Webu na adrese http://www.wild list.org/. Z toho
vyplývá, že vybírat si antivirový program podle toho, jaký počet virů uvádí
výrobce na reklamním letáku, je nesmysl. Taktéž bych rád upozornil, že názvy
virů nejsou u jednotlivých antivirových programů jednotné zejména u těch virů,
které se běžně nevyskytují.

Druhy virů a mechanismy jejich šíření
Pro účely tohoto článku budeme viry dělit podle toho, kam ukládají svůj vlastní
kód, neboť z tohoto dělení nejlépe vyplývají vlastnosti virů. Viry je ale možné
dělit i podle jiných kritérií.
Bootviry: Bootviry se obvykle ukládají do bootsektoru diskety nebo do MBR
(Master Boot Recordu) pevného disku. Bootvirus ale může být uložen i v
bootsektoru pevného disku. Tyto viry jsou zavedeny do paměti ještě před
operačním systémem a od tohoto okamžiku mohou provádět svoji škodlivou činnost
i množení. Do počítače obvykle pronikají tak, že před bootováním zapomenete v
disketové mechanice infikovanou disketu. Jelikož současné počítače obvykle
upřednostňují bootování z pevného disku, jsou tyto viry pomalu ale jistě na
ústupu.
Programové viry: Programové viry ukládají svůj kód do běžných programových
souborů (typicky exe nebo com). Tyto viry jsou zavedeny do paměti spuštěním
infikovaného programu. Množení nebo škodlivou činnost mohou provést v tuto
chvíli, anebo se mohou uložit do operační paměti a tyto činnosti vykonávat
kdykoliv později. Infiltrace těchto virů je možná, pokud si přinesete
infikované programové soubory, které spustíte na vašem počítači. Naprostá
většina programových virů je určena pro operační systém DOS. Pro systémy
Windows (3.1, 95 a 98), které používají jiné formáty programových souborů, je
virů výrazně méně. V prostředí Windows NT sice také existují viry, ale je jich
jen velmi malý počet. Je to proto, že tento operační systém není doposud tolik
rozšířen (a proto není pro tvůrce virů zajímavý), a také proto, že Windows NT
mají mechanismy, které tvorbu a šíření programových virů trochu znepříjemňují.
Makroviry: Ačkoliv jsou makroviry poměrně novou skupinou virů, patří dnes mezi
nejrozšířenější a nejnebezpečnější. Makrojazyky byly původně určeny k
automatizaci operací v kancelářských aplikacích. Možnosti těchto makrojazyků
ale umožňují vytvořit programový kód, který je schopen reprodukovat sám sebe. V
současnosti jsou makroviry téměř výhradně tvořeny v jazyce "Visual Basic for
Applications", který je součástí kancelářského balíku Microsoft Office a jiných
velkých kancelářských softwarů. Velkou roli v rozšíření těchto virů hrál i
fakt, že jejich význam dlouhou dobu ignorovali výrobci softwaru (a zejména
Microsoft). Tyto viry mohou infiltrovat do vašeho počítače prostým otevřením
infikovaného dokumentu. Jde o podobný mechanismus jako u programových virů, ale
je třeba si uvědomit, že oběh dokumentů je mnohonásobně větší než oběh
programových souborů. Některé z těchto virů také umí samy sebe poslat
elektronickou poštou (obvykle na adresy z vašeho seznamu adres), čímž je jejich
šíření významně urychleno. Velkým problémem také je, že antivirovou ochranu,
která byla implementována v novějších verzích Microsoft Office, je stále možné
obejít.
Podle kritéria umístění můžeme vyčlenit také další skupiny virů, které ale
nejsou příliš časté a obvykle obsahují jen několik kousků. Příkladem takových
virů mohou být doprovodné viry, které vytvářejí k souborům exe stejnojmenný
soubor com (který je při obvyklém stylu práce v DOSu spuštěn dříve než soubor
exe, a tím je zajištěna aktivace viru). Jiným příkladem mohou být clusterové
viry, které upravují FAT tabulku pevného disku tak, aby ukazatel do každého
souboru ukazoval místo do souboru na virus. Primitivní virus je dokonce možné
vytvořit pomocí dávkových souborů.
Poslední dobou se také stále častěji můžete setkat s pojmem "Hoax". Tímto
pojmem se označují různé poplašné zprávy o "nových, neuvěřitelně nebezpečných
virech", které se pravidelně šíří po Internetu. Nejčastěji se tato poplašná
zpráva odkazuje na virus "Bad Times", ale kolují také mnohé jiné. Takovéto
zprávy pak obvykle na svém konci obsahují něco ve smyslu "ihned rozešlete tuto
zprávu co nejvíce uživatelům". Vystrašených uživatelů, kteří začnou tuto
poplašnou zprávu bezhlavě rozesílat na všechny strany, se najde vždy dost, a
tak se "Hoaxy" staly moderní formou řetězových dopisů. Pokud tedy dostanete
elektronickou poštou varování o výskytu nějakého viru, je třeba pečlivě
rozlišit, zda jde o skutečné nebezpečí, anebo jen o nemístný žert.
Některé viry se mohou ukládat (dle tohoto členění) více způsoby. Takové viry
označujeme za multipartitní. V zásadě se všechny multipartitní viry ukládají na
pevný disk do MBR a na diskety do programových souborů. Je na ně možné pohlížet
podle toho, jakým způsobem jsou zrovna uloženy.

Metody detekce virů
Metody detekce virů lze rozdělit na metody detekce konkrétních virů a metody
obecné detekce virů. Metody konkrétní detekce jsou obvykle spolehlivější, ale
metody obecné detekce odhalují neznámé (nové) viry a mohou zachytit i jiné
bezpečnostní problémy, které nemusejí souviset s činností virů.

Vyhledávání známých virů
Vyhledávání známých virů patří mezi nejstarší a zároveň také nejdůležitější
techniky. Tato metoda spočívá ve vyhledávání známých virů v souborech na
základě vyhledávání určitých charakteristických sekvencí. Od dob polymorfních
virů však již není možné tyto sekvence vyhledávat prostým porovnáváním.
Výhodou této metody je poměrně nízké riziko falešných poplachů, rozumná
rychlost a velmi vysoká spolehlivost. Mezi největší nevýhody naopak patří, že
tato technika je omezena pouze na známé viry a že databáze informací o virech
se musí velice často aktualizovat (rozumná doba je jednou za měsíc). Touto
technikou je možné nalézt všechny druhy virů.
Mezi obvyklé funkce antivirů patří kontrola virů v interně komprimovaných
programech pro DOS anebo v komprimovaných archivech (zip, arj apod.).
Tento test je možné provádět také rezidentně, kdy antivirový program
automaticky kontroluje každý spouštěný program, každý otevíraný dokument a
případně i bootsektor každé vkládané diskety.

Kontrola integrity
Kontrola integrity patří mezi nejstarší obecné antivirové techniky. Vznikla v
okamžiku, kdy si autoři antivirových programů uvědomili, že nové viry budou
vznikat stále častěji a uživatelé se mohou setkat i s neznámými viry.
Tato technika spočívá v uložení důležitých informací o souborech, bootsektorech
a MBR do speciální databáze. MBR a bootsektory se obvykle do databáze ukládají
celé, u souborů se ukládá jejich délka, datum a čas, atributy a také nějaké
kontrolní součty. Později je možné porovnat data z této databáze s aktuálním
stavem pevného disku. Jakékoliv rozdíly je třeba dále analyzovat, zda jde o
přítomnost viru, nebo o instalaci nového programu.
Výhodou této metody je, že je schopna detekovat prakticky každý virus, který
infiltroval do systému. Mezi její nevýhody patří, že je schopna zachytit virus
teprve po jeho infiltraci a že způsobuje poměrně mnoho falešných poplachů. Z
těchto důvodů je tato technika, ačkoliv je dnes stále jedna z
nejpoužívanějších, podrobována ostré kritice. Tuto techniku je navíc třeba
začít používat ještě před tím, než je systém virem infikován poté už je zcela
bezcenná. Informace z databáze je také možné poměrně dobře použít k
odstraňování virů.
Tato metoda je použitelná proti bootvirům a programovým virům, avšak je
prakticky nepoužitelná pro vyhledávání makrovirů dokumenty se bohužel mění
příliš často.

Heuristická analýza
Heuristická analýza je poměrně novou obecnou antivirovou technikou. Tato
technika je odpovědí antivirových firem na lavinu nových virů, která se na nás
valí od poloviny 90. let. Technika spočívá v procházení programového kódu (jeho
emulování) a vyhledávání podezřelých činností např. vyhledávání souborů,
instalace rezidentní rutiny apod. Takto se obvykle prochází určitý úsek od
počátku programu.
Viry se této technice často brání tak, že obsahují určité části kódu, které
není jednoduché emulovat např. cykly, které se při emulaci jeví jako nekonečné.
Problémy také dělají viry psané ve vyšších programovacích jazycích, neboť ty s
sebou přinášejí také velké množství relativně zbytečného kódu. Heuristickou
analýzu je možné uplatnit i na MBR, boot sektory, na obsah paměti (zejména na
oblasti, kam směřují vektory přerušení), programy a dokumenty.
Tato metoda je schopna najít viry jak známé, tak neznámé. Velkým problémem této
techniky je, že není schopna nalézt všechny viry a že občas způsobuje plané
poplachy. I velmi optimistické odhady udávají, že heuristická analýza je
schopna najít 80 % nových virů. S postupem času se tato technika stává
propracovanější a lépe splňuje požadavky uživatelů.
U této techniky je velice důležité její přesné vyladění, jak má být citlivá a
do jaké hloubky má programový kód procházet. Citlivost techniky (tj. jak
významné činnosti má již hlásit) je třeba také volit podle zkušeností
uživatele. Hloubka procházení by měla být dostatečně velká, aby program stačil
projít tělo viru, ale ne zas příliš velká, aby nehlásil často falešné poplachy
a aby procházení netrvalo dlouho.
Heuristickou analýzu je jako předchozí techniky samozřejmě možné provádět také
rezidentně.

Monitorování podezřelých činností
Monitorování podezřelých činností je poměrně důležitou obecnou antivirovou
technikou. Tato technika spočívá v průběžném monitorování operací, které by
normální programy neměly používat a které jsou naopak typické pro viry.
Příkladem takových činností může být pokus o zápis do programových souborů,
pokus o formátování, pokus o mazání a přejmenovávání programových souborů a
případně také další činnosti.
Pokud antivirový program nějakou takovou činnost zachytí, je třeba, aby se před
provedením takové akce zeptal uživatele, zda je tato akce korektní a zda ji smí
povolit. Je však třeba si uvědomit, že ačkoliv tyto činnosti nejsou obvyklé,
nemusejí nutně znamenat přítomnost viru. Typicky se antivirový program
používající tuto techniku rozkřičí při instalaci nových programů.
Výhodou této techniky je, že zachytí nejen známé i neznámé viry, ale také mnoho
jiných nekorektních operací. Výhodou také je, že virus může být odhalen ještě
před jeho infiltrací do systému. Nevýhodou naopak, že běžný uživatel může jen
obtížně určit, zda je požadovaná akce korektní, či nikoliv. U této techniky je
také velice důležité "citlivé nastavení". Pokud bude toto monitorování
nastaveno příliš přísně, budou zbytečné varovné hlášky uživatele rozptylovat a
uživatel jim nebude věnovat dostatečnou pozornost. Tato technika také není
účinná proti makrovirům, neboť lze jen těžko varovat uživatele při každé
modifikaci dokumentu.

Další metody
Mezi moje oblíbené metody patří test pomocí "udiček". Tento test spočívá v tom,
že se snažíte virus vyprovokovat k infikování podstrčeného souboru (nebo
bootsektoru diskety). Tento typ testu je účinný na bootviry, na programové viry
a někdy i na makroviry. Se souborem (nebo disketou) se provádějí různé operace,
které by mohly virus vyprovokovat k rozmnožení. Po těchto operacích je třeba
porovnat výsledný soubor (bootsektor) s původním. Pokud se nějak liší, je
velice pravděpodobné, že na testovaném systému je přítomen virus.
Tento test je obecný a je tedy schopen odhalit známé i neznámé viry. Tato
technika je však účinná pouze na rezidentní viry.
Výhodou tohoto testu je, že jej můžete v nouzi provést i ručně např. v případě,
že nemáte k dispozici žádný antivirový program. Bohužel na základě tohoto testu
můžete usuzovat pouze na přítomnost viru nikoliv na nepřítomnost (to, že se na
udičku nic nenalepilo, neznamená, že virus v systému není).
Některé antivirové programy používají jako udičku samy sebe. Před každým
spuštěním se zkontrolují, zda nebyly modifikovány. Bohužel, tato metoda není
nejlepší, neboť chytřejší viry nenapadají antivirové programy.

Další funkce antivirových programů
Poměrně užitečnou funkcí pro správu může být automatické upozornění
administrátora o nalezeném viru (např. elektronickou poštou) a vedení deníku
(logu), do kterého se zapisují všechny zjištěné problémy.
Podobně jako u jiných programů se u antivirových řešení v dnešní době čím dál
tím více prosazuje centrální správa a možnost zamezení konfigurace antivirového
systému běžným uživatelům na pracovních stanicích.
S poměrně užitečnou funkcí přišel Norton Antivirus. Ten umožňuje přenést
infikované soubory do speciální databáze tzv. "karantény". Tato funkce je
vhodná zejména v případě, že antivirový program vysloví pouze podezření z
virové infekce. Zde může soubor setrvat do doby, než někdo odpovědný rozhodne,
zda je opravdu infikovaný, či nikoliv.

Odstraňování virů
Odstraňování virů není ve skutečnosti tak důležité, jak se může na první pohled
zdát. U antivirových systémů je důležitá především prevence. Odstraňování virů
z infikovaného systému je vždy až krajní řešení, ke kterému by nemělo docházet.
Odstraňování virů by měl provádět kvalifikovaný systémový administrátor, neboť
vyplašený uživatel často při odstraňování viru nadělá v porovnání s vlastním
virem mnohem více škody. Pro běžného uživatele by mělo platit, že správný
postup při odstraňování je zavolat kvalifikovaného pracovníka. Pokud není k
zastižení, tak je třeba korektně ukončit všechny aplikace, uložit všechny
dokumenty a počítač vypnout.
Odstraňování virů je v zásadě možné provádět třemi způsoby:
Na základě obecných znalostí o viru: Snaha odstranit virus jen na základě
znalostí o viru samém je sice uživatelsky lákavá, ale má bohužel svá úskalí
soubor může být po odstranění viru poškozen. Z tohoto důvodu doporučuji tento
způsob odstraňování virů jen pro bootviry a makroviry, kde ostatně mnoho jiných
možností nezbývá (a které je vesměs možné odstranit relativně korektně). U
klasických programových virů doporučuji obnovu příslušných souborů ze záložních
kopií. Tento přístup je poněkud paranoidní, ale opatrnosti nikdy nezbývá.
Na základě předchozích informací: Odstraňování virů na základě znalosti
informací o předchozím stavu bootsektoru nebo programového souboru je oproti
tomu vcelku spolehlivá metoda. Poměrně často je tímto způsobem možné virus
zcela odstranit a soubor (bootsektor) uvést do původníku stavu. Obvykle jsou
pro obnovování souborů používány stejné informace jako pro kontrolu integrity
popisovanou výše. Pro odstraňování makrovirů však tato technika není vhodná,
neboť makroviry poměrně značně mění strukturu dokumentu, a proto obvykle není
možné dokument do původního stavu obnovit. Ostatně, u dokumentů, které se často
mění, obvykle nejsou k dispozici ani informace o jejich posledním stavu.
Heuristické odstraňování: Obecné (heuristické) odstraňování virů je poměrně
zajímavou technikou. Odstraňovací program se snaží odhadnout, jaká část kódu
patří k viru, a tu se snaží eliminovat. Tyto algoritmy se používají pro
odstraňování programových virů a makrovirů. U programových virů zatím tyto
techniky nepracují zcela optimálně, ale mohou mít ještě velikou budoucnost.
Zatím bych ale jejich použití (zejména na programové soubory) příliš
nedoporučoval, neboť také nejsou schopny vrátit program do původního stavu.
Při nalezení viru je rovněž vhodné zjistit si podrobnější informace o jeho
chování. Tyto informace je možné nalézt v některé z virových encyklopedií. Na
Webu je zdarma k dispozici encyklopedie spravovaná firmou Symantec (Symantec
Antivirus Research Center) na adrese http:// www.sarc.com/. Zde můžete najít,
jak se virus šíří, jaké soubory napadá, jakou škodlivou činnost provádí a
případně také další informace, které mohou být důležité při jeho odstraňování.

Antivirový hardware
V dřívějších dobách se často mluvilo o ochraně proti virům na úrovni hardwaru.
Tento způsob se jevil jako univerzální a dostatečně bezpečný. V současné době
je však nutné konstatovat, že řešení problému počítačových virů na úrovni
hardwaru je neefektivní. Mezi hlavní argumenty proti tomuto řešení patří cena a
nedostatečná kompatibilita s jiným hardwarem, operačními systémy a případně i
aplikačním softwarem. Tento hardware také ztratil smysl s příchodem makrovirů.
Většina nových BIOSů též obsahuje ochranný prvek zvaný "Boot Sector Virus
Protection". Tato ochrana chrání uživatele před zápisem do boot sektoru. Jak
konkrétně se BIOS zachová při pokusu o zápis do boot sektoru však závisí na
typu použitého BIOSu. Tuto ochranu je v zásadě možné používat, ale před každým
větším zásahem na disk (např. při instalaci nového operačního systému) je nutné
ji vypnout.

Závěr
Na závěr bych rád připomenul, že hodnotu svých dat dobře poznáte až v okamžiku,
kdy o ně přijdete. A v tomto okamžiku vám již žádný antivirový program
nepomůže. Proto se snažte pokud možno katastrofickým scénářům předejít
pravidelným používáním antivirového programu.

9 1843 / pen

Jak vybírat antivirový systém
Pokusme se shrnout nejdůležitější kritéria, podle kterých si můžete vybírat
vhodný antivirový program. Jak je uvedeno v hlavním textu, nemá smysl vybírat
antivirový program podle počtu virů, které je schopen vyhledat.
Mezi antivirovými programy na trhu nejsou v současnosti příliš velké rozdíly a
v podstatě všechny komerční programy je možné používat. Zákazník by se proto
měl při výběru zaměřit spíše na to, jaké služby bude výrobce dále poskytovat a
co instalace toho kterého programu přinese za problémy se správou celého
systému.
Dnes už je samozřejmostí pravidelná (obvykle měsíční) aktualizace databáze
známých virů. Čím dál tím více se stává obvyklou aktualizace těchto virových
sekvencí přes Internet. Ta je pro uživatele pohodlnější, neboť ji lze provádět
zcela automaticky, a navíc se minimalizují prodlevy od zařazení nových virů po
dodání uživateli.
Některé antivirové firmy také nabízejí zákazníkům analýzu podezřelých souborů z
hlediska obsahu virů. Firma Symantec umožňuje přímo podezřelý soubor odeslat po
Internetu do výzkumného střediska, které vám v co nejkratší době zašle odpověď
a v případě objevení nového viru i aktualizovanou databázi informací o virech,
podle které bude možné virus snadno dohledat a případně i odstranit.
Výhodou pro české uživatele mohou být české firmy, neboť u nich lze
předpokládat rychlejší reakci na situaci na lokální virové scéně. S těmito
firmami bude také snazší komunikace v případě virové infekce.
Antivirové programy se obvykle dodávají ve verzi pro pracovní stanice, pro
souborové servery, pro poštovní servery a pro firewally. Ačkoliv by se mohlo
zdát, že nasazení antivirových programů na pracovní stanice je dostatečné, není
tomu tak. Ukazuje se, že je mnohem efektivnější vyhledávat a odstraňovat viry
přímo na souborových serverech, poštovních serverech a firewallech, než na
klientech. Už z toho důvodu, že se s nimi pak uživatel vůbec nemusí dostat do
styku a že jsou odstraněny kvalifikovaně.









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.