Počítačová havěť pod lupou

11. 4. 2005
Doba čtení: 5 minut

Sdílet

Klikaté cesty informační dálnice často poskytují úrodnou půdu pro programy, které nás svou přítomností nepotěší. Jedním z nejstarších fenoménů škodlivých kódů jsou bezesporu počítačové viry, s nimiž se alespoň jednou tváří v tvář setkal snad každý počítačový fanda. Kromě virů existují ale i jiné nepříjemné programy, třeba spyware nebo trojští koně.
Za první virus pro osobní počítače IBM kompatibilní se považuje Brain, který napadal boot sektor disket. Od jeho vzniku a let největší „slávy“ již uplynulo hodně paketů, nicméně stal se inspirací pro budoucí a sofistikovanější generace elektronických parazitů.

Počítačový virus není nic jiného než programový kód, který dokáže kopírovat sebe sama bez vědomí uživatele. Samozřejmě se přitom ve většině případů snaží uživateli nějak uškodit, takže například maže soubory, formátuje disk apod. Do kategorie klasických počítačových virů nespadají například trojské koně, protože ty se nesnaží o automatickou reprodukci. Podobně také skupina spyware a podobných záškodnických aplikací leží mimo obecné chápání pojmu viru. Na nižší vrstvě síťového modelu pracují červi, kteří svou hrozbu nepřenáší v podobě souborů, ale berou si na mušku přímo pakety. Postupem času se ovšem termínu červ začalo používat také pro viry šířící se pomocí e-mailu.

Boot viry představují nejstarší druh počítačových virů vůbec a základní kámen pro jejich vývoj položil právě Brain, výtvor pakistánských bratrů Basida a Amjada Farooq Alviových. Terčem útoku boot virů se stávají boot sektory disket a MBR (master boot record) pevných disků, díky čemuž se virus zavede do paměti už při startu systému. Původní boot sektor si virus uloží na jiné místo na disku, a pokud při tom přepíše některou ze systémových oblastí, může dojít ke ztrátě dat. Pokud chcete do tajů boot virů proniknout hlouběji, můžete tak učinit například na stránkách antivirového programu AVP v sekci Boot viruses.

Souborové viry se oproti boot virům nezaměřují na zavedení do paměti ihned při startu systému pomocí boot sektoru nebo MBR, ale ukrývají se ve spustitelných souborech rozličných typů. Cílem může být kterýkoliv soubor, jehož spuštěním se virus aktivuje a rozmnoží, tedy napadne další soubory. Také o technikách souborových virů se můžete dočíst na stránkách programu AVP, tentokráte v sekci File viruses.

S nástupem podpory maker v kancelářském balíku MS Office začala vznikat zajímavá skupina virů, takzvaných makrovirů. Ty využívají možností moderních maker, která dovolují pracovat nejen s daty uloženými v odpovídajícím dokumentu, ale také se soubory na disku. Vzhledem k tomu, že dokumenty vytvořené v aplikacích balíku MS Office jsou v současné době snadno zpracovatelné také na jiných systémech než MS Windows, lze nákazu s úspěchem přenášet mezi různými platformami. Dobrým zdrojem detailnějších informací o makrovirech může být například článek Macro-Viruses: Genesis, Truth about the Threat and Methods of Protection.

E-mailem se šikovné viry dokáží šířit takřka rychlostí blesku a stále existuje nepřeberné množství uživatelů, kteří si nedovolí nespustit lákavou přílohu typu vtip.exe. Aby vir mohl navštívit další oběť, vyhledává na disku právě infikovaného počítače e-mailové adresy. Dobrým zdrojem jsou například nešifrované soubory poštovního klienta nebo přímo jeho části – složky odeslaná/doru­čená/smazaná/ro­zepsaná pošta.

Postupem času se viry začaly bránit odhalení nebo odstranění pomocí různých metod. Obsáhlou skupinu představují takzvané stealth viry. Jak již samo původní anglické označení napovídá (stealth = tajný, kradmý), snaží se stealth viry rozličnými způsoby maskovat svou přítomnost v systému. Stealth techniky prožívaly zlatou éru v dobách operačního systému MS-DOS a svou existenci stealth viry utajovaly například tím, že zachytávaly systémová volání a upravovaly výsledek tak, aby nevyšla najevo například změněná velikost napadeného souboru. Zajímavý úskočný manévr dále představuje takzvaný polymorfismus (případně metamorfismus), který spočívá ve změně kódu při replikaci. V okamžiku, kdy se virus začne reprodukovat, vkládá do své nové kopie další instrukce nebo zaměňuje jejich pořadí (samozřejmě pouze na těch místech, kde je to možné), takže právě vzniknuvší kopie má jinou strukturu a nemusí být zachytitelná antivirovým programem, který porovnává sekvence.

Jiným, často využívaným postupem je zakódování těla vlastního viru a jeho budoucí dekódování. O některých technikách polymorfních virů se lze detailněji dočíst například v materiálu společnosti Symantec Understanding and Managing Polymorphic Viruses.

Pokud nevíte, který antivirový program si vybrat, můžete využít služeb serverů provádějících srovnávací testy – mezi takovéto zdroje patří například AV-Comparatives, česká Igiho stránka o virech nebo Virusy.sk. Techniky, které antivirové programy používají pro detekci virů, lze rozdělit do několika kategorií, z nichž nejdůležitější jsou­:

  • Porovnávání sekvencí. Antivirový program prochází soubory a hledá shodu části jejich obsahu se vzorkem viru, který má uložen ve své databázi. Výhodou této metody je prakticky nulové riziko falešných poplachů, uživatel si však musí zajistit pravidelnou aktualizaci virové databáze.
  • Monitor. Při startu systému se spustí část antivirového systému, která kontroluje práci se soubory, vyhledává viry v reálném čase a kontroluje podezřelé operace.
  • Test integrity. Při tomto druhu testu si antivirový program nejprve vytvoří databázi informací o souborech na disku, obsahující například jejich délku. Při infekci spustitelného souboru se změní jeho velikost, test integrity tuto skutečnost zachytí a informuje uživatele. Nejedná se tedy přímo o vyhledávání jednotlivých virů, ale pouze stop, které zanechaly. Mezi nevýhody patří falešné poplachy způsobené aktualizacemi softwaru.
  • Heuristická analýza. Antivirový software analyzuje činnost kódu testovaného souboru a snaží se podle nastavené citlivosti detekovat „podezřelé“ operace – zápis do jiného spustitelného souboru, přístup do MBR, systémových souborů Windows apod. U heuristické analýzy je důležité správně odhadnout její citlivost – při nízké úrovni mohou některé viry projít bez povšimnutí, na druhou stranu vysoká mez může způsobit bombardování uživatele falešnými poplachy.

Při heuristické analýze lze s výhodou využít emulátoru kódu, který funguje podobně jako jakýkoliv jiný emulátor: vezme příslušný kód nebo jeho segment a spustí jej jako jakýsi „virtuální počítač“. Důležité však je, aby simulace probíhala čistě na úrovni tohoto emulátoru, tedy nevyužívala prostředky skutečného počítače, protože opravdové spuštění viru by zcela jistě nebyla nejbezpečnější technika jeho odhalení. Žádná instrukce tedy není vykonávána přímo procesorem a podobně je tomu také v případě zápisu do paměti. Při takovéto emulaci programu krok po kroku lze úspěšně zachytit například polymorfní viry. Dříve existovala ještě jiná, o poznání méně sofistikovaná technika heuristické analýzy – antivirový program procházel soubor, hledal různé podezřelé operace, a pokud jich nalezl větší množství, označil soubor za pravděpodobně nakažený.

Content Vectoring Protocol

Jedná se o protokol, s jehož pomocí lze přesměrovat firewallem procházející pakety na jiný server, kde dojde k jejich zpracování, tedy například právě otestování výsledného souboru na přítomnost viru. Pokud jsou data v tomto ohledu v pořádku, zašle je server zpět firewallu, a ten je dále nasměruje původně adresovanému příjemci. Přesměrovávání paketů probíhá na aplikační vrstvě a server, na kterém probíhá testování, by měl disponovat rychlými disky, procesorem, dostatkem paměti a být k firewallu připojen přímo.

Co si myslíte o autorech virů?

Autor článku

Autor je zástupcem šéfredaktora časopisu Computer, živě se zajímá o svět Windows, Internetu a nejen síťové bezpečnosti.
Upozorníme vás na články, které by vám neměly uniknout (maximálně 2x týdně).