Dělení virů
Dělení podle oblastí, které jsou napadeny
Boot viry - Boot viruses (další informace zde)
Tato první nejstarší skupina virů infikuje části nacházející se v určitých systémových oblastech
disku. Těmito oblastmi mohou být: boot sektory disket, tabulka rozdělení disku (partition table - MBR),
boot sektor pevného disku apod. Napadením nějaké z těchto oblastí si boot virus zajistí svoje
spuštění hned po startu počítače.
Uvedené viry se chovají tak, že obvykle přepíší svým vlastním kódem boot sektor, a původní přepsanou
část boot sektoru uschovají na jiné místo disku. Buď do nějakého jiného sektoru, který je pak v tabulce
FAT označen jako vadný, a nebo využijí běžně nevyužívané 40. stopy. Taková virová infekce
se potom šíří pomocí boot sektorů disket, které přišly do styku s nakaženým systémem. Operační systém DOS
je pro ně totiž velmi výhodným hostitelem vzhledem k malé možnosti jeho kontroly a vzhledem k vysoké
frekvenci používání těch nejjednodušších povelů jako je zápis a čtení z disku, kopírování disket,
prohledávání obsahu adresáře atd.
Bootový virus infikuje systém (tj. instaluje se do paměti a zapíše svoje tělo do tabulky rozdělení disku
- partition table pevného disku) při zavádění systému z infikované diskety. Virus se obvykle nainstaluje
do paměti jako paměťově rezidentní, a jakmile dojde k novému zavádění systému, začne infikovat boot sektor
disket, které nejsou ochráněny proti zápisu, a při tom přijdou do styku se systémem (například při kopírování
na disketu apod).
V obou případech, jak u infekcí tabulky rozdělení nebo boot sektoru pevného disku, tak i u infekcí boot
sektoru diskety, tento typ viru obvykle uloží původní boot sektor nebou tabulku rozdělení disku někam jinam
na disketu či disk, ačkoliv to není vždy pravidlem. Jestliže virus zapíše původní boot sektor do kritické
oblasti disku či diskety, jako je např. sektor obsahující část tabulky FAT, nebo hlavní diskový adresář,
může dojít k tomu, že data na disku jsou navždy ztracena.
Charakteristickým symptomem přitomnosti infekce bootovým virem, který lze zaznamenat i u neznámých boot
virů je skutečnost, že kapacita systémové paměti, oceněná programem chkdsk, je většinou nejméně o 1024 bytů
menší, než jaká je ve skutečnosti paměť instalovaná v systému.
Je třeba si uvědomit, že bootové viry se také mohou šířit pomocí vypouštěcího programu (Dropper) a tento
způsob je pravděpodobně primární.
Dropper je program, který byl navržen s cílem instalovat virus do systému. Podstatné je, že virus je v tomto
programu obsažen tak, že nemůže být detekován virovými skenery. Jinými slovy, dropper není program infikovaný
virem a velmi často jsou jako droppery používány trojské koně. Dropper může svou funkci splnit tím, že virus
instaluje do paměti a nebo přímo infikuje nějakou proveditelnou jednotku při instalaci viru.
Souborové viry - File viruses (další informace zde)
Druhou a zřejmě nejrozšířenější skupinou jsou viry souborové. Jak již z názvu vyplívá, jejich hlavním hostitelem
jsou soubory.
Tyto viry bychom mohli dále třídit podle toho, jaké soubory při infekci napadají - v zásadě jsou to vždy
proveditelné soubory (COM,EXE...), neboť cílem viru je, aby provedením hostitelského kódu došlo k rozmnožení virusového kódu.
Nějčastěji se tedy jedná o soubory spustitelné binární (COM, EXE). Může se též jednat o souborové viry
infikující batové soubory (BAT), ovladače (SYS). Navíc jsou souborové viry zaměřeny na různé operační systémy (Windows 3.x, Windows95/NT, OS/2, Macintosh, Unix...)
Mechanismus činnosti souborových virů je však podobný ve všech případech. Podle metody infekce můžeme souborové viry
rozdělit na několik skupin:
- Overwriting viruses - přepisující viry
Tato metoda infekce je jednoduchá. Virus přepíše obsah cílového spustitelného souboru vlastním kódem (tělem), a tak zníčí původní obsah souboru.
Takto infikovaný soubor je již nefunkční a nemůže být opraven. Po jeho spuštění dojde pouze k aktivaci viru, který se ve většině případů rozmnoží
do dalších spustitelných souborů (COM, EXE...). Snad ve všech případech se jedná o nerezidentní viry (viry přímé akce). Na masové rozšíření nemají
přepisující viry žádnou šanci.
- Parasitic viruses - parazitické viry
Jako parazitické viry jsou označovány ty, které při infekci změní (většinou prodlouží) obsah cílového souboru. Parazitické viry však obsah cílového
souboru nepoškodí (narozdíl od přepisujících virů). Parazitické viry se dokážou umístit před původní program (prepending), nebo za něj (appending). Existují
taky parazitické souborové viry, které se vloží do středu souboru (inserting). Nejčastěji se však parazitické viry připojují na konec souboru.
Detaily k jednotlivým variantám parazitických virů naleznete na stránce "souborové viry - detaily".
- Companion viruses - doprovodné viry
Doprovodné viry jsou typem infekce, která se detekuje
poměrně obtížně proto, že při jejich replikaci nejsou měněny ani soubory, ani systémové oblasti disku.
Virus napadá soubor typu EXE tak, že vytvoří nový soubor se stejným jménem,
ale s příponou COM a do něj umístí jen svoje tělo. Při volání původního souboru se pak
podle dosovských priorit volá při shodnosti jmen jako první vždy soubor s příponou COM - a tím
se vlastně předá řízení přímo viru, aniž dojde ke spuštění žádaného programu.
Druhou metoda je, že virus přejmenuje cílový soubor (například XCOPY.EXE na XCOPY.EXD) a pak sám sebe umístí
do souboru, který nazve po původním jménu (v našem případě XCOPY.EXE). Při spuštění tohoto souboru pak
virus převezme kontrolu jako první a pak nastartuje originální přejmenovaný soubor (XCOPY.EXD). Zajímavostí je,
že tato metoda pracuje i v jiných operačních systémech.
Třetí metodou jsou "Path companion" viry, které při infekci využívají priorit uvedených v proměnné DOS PATH.
Pokud se totiž nachází na disku více souborů se stejným názvem, je nejdříve spuštěn ten, který se nachází v proměnné
PATH jako první. Toho tyto viry využívají, a duplikáty umisťují do počátečních adresářů, uvedených v proměnné PATH.
Multipartitní viry - Multipartite viruses
Jako viry multipartitní jsou označovány ty, které se chovají jako bootové viry, a zároveň jako viry souborové.
Jinými slovy, jsou schopny infikovat různé oblasti disku - většinou je to tabulka rozdělení disku, a současně
některé typy souborů. Díky tomu jsou tyto viry "všestranné". Do této skupiny patří i populární virus OneHalf.
Makro viry - Macro viruses (další informace zde)
Makrovirus je programový kód napsaný v makro jazyce
nějaké aplikace. Mnohé aplikace mají svůj makro jazyk, kterým lze zjednodušit a zautomatizovat
mnoho činností. To, co umožňuje vytvořit virus v takovém makro jazyce, je existence samospouštěcího
makra, které je spouštěno samo jako odezva na určitou událost, a nikoliv na přímý povel uživatele.
Takovou událostí může být např. otevření souboru nebo spuštění aplikace nebo jiné. Jakmile takové
makro běží, může pak provádět celkem cokoliv - zkopírovat samo sebe do jiných dokumentů,
smazat určité soubory atd. Jinými slovy může se chovat jako virus. U makrovirů pro Word se stává přestupným místem
globální šablona normal.dot, po jejíž infekci si makrovirus zajistí dobrou budoucnost. Globální šablona se totiž automaticky
spouští po každém startu Wordu, a pokud je napadena, makrovirus může monitorovat činnosti uživatele.
První makrovirus vzniknul pro produkt Microsoft Word 6.0 v roce 1995 (jmenuje se WM/Concept).
Od té doby se makroviry značně vyvynuly...
Drtivá většina makrovirů se dokáže šířit v aplikacích společnosti Microsoft (jak jinak).
V dnešní době dokážou být makroviry:
- Stealth - tyto makroviry maskují svoje makra, aby se tak bránily proti snadnému odhalení. Běžný makrovirus
lze například jednoduše odhalit pomocí menu Tools/Macro, v němž uvídíme jednotlivé makra viru. Stealth virus
tomu však dokáže zabránit, i když možná ještě podezřelejším způsobem. Menu Tools/Macro totiž úplně odstraní, nebo
ho znefunkční... Jistou vyjímkou jsou makroviry označené jako "Class". Ty svoje tělo ukládají do speciálního modulu ThisDocument,
popřípadě ThisWorkBook a tak se dokážou vyhnout detekci přes menu Tools/Macro i bez použití "stealth" technik.
- Polymorfní - tyto makroviry dokážou modifikovat strukturu vlastního těla. Polymorfní viry pak nelze detekovat podle sekvencí, či
podle klasických kontrolních součtů (CRC).
- Multipartitní - tato skupina makrovirů se dokáže šířit několika způsoby. Například makrovirus Shiver je napsán tak, že se dokáže šířit
jak v programu Word, tak i v programu Excel. Makrovirus však může vypouštět například i souborový viru (WM/Navrhar), čimž se makrovirus stává
opět multipartitním.
- Multiplatformní - některé makroviry se dokážou šířit pod různými systémy, kde se některé produkty, především společnosti Microsoft používají (PC, MAC...).
V dnešní době se vyskytují makroviry těchto typů:
WM/
šíří se pod produktem Microsoft Word 6.0/7.0. Využívají jazyk "WordBasic".
W97M/
šíří se pod produktem Microsoft Word 8.0 (Office 97). Využívají jazyk VBA5.
XM/
šíří se pod produktem Microsoft Excel 5.0/6.0. Využívají jazyk VBA3.
X97M/
šíří se pod produktem Microsoft Excel 8.0 (Office 97). Využívají jazyk VBA5.
A97M/
šíří se pod produktem Microsoft Access 8.0 (Office 97). Využívají jazyk VBA5.
Počet těchto makrovirů je však velmi malý, a nepředstavují větší hrozbu.
P97M/
šiří se pod produktem Microsoft PowerPoint. Z hlediska šířitelnosti nemají tyto makroviry žádné šance.
Autoři těchto makrovirů chtěli spíše pouze upozornit na to, že i pro PowerPoint lze vytvořit makrovirus.
XF/ (Excel Formula)
Ještě před vznikem jazyku VBA byl "Excel Formula" jedinou možností, jak v Excelu něco naprogramovat. Příkazy se zadávají
přímo do buněk sešitu (!). Tyto makroviry se opět vyskytují v minimálním množství...
Nárůst makrovirů v období srpen 1995 až duben 1998:
Adresářové viry - Cluster viruses
Poměrně malou skupinou virů, zastoupenou známým virem Dir II
, jsou tzv. clusterové viry.
Tyto viry modifikují vstupy adresářové tabulky tak, že virus je zaveden do paměti a spuštěn dříve
než program, který uživatel chce spustit. Samotný virus se na disku nachází pouze jednou, kdesi na konci disku.
Léčení tohoto viru je velmi jednoduché (ale zdlouhavé). Stačí pouze "zavirovaný soubor" překopírovat do
jiného adresáře a změnit mu příponu (aby nebyla COM, EXE). První obrázek je situace před napadení virem (data adresáře směřují na první klastry souborů).
Druhý obrázek je situace po infekci adresářovým virem (data adresáře ukazují na virus):
Generické viry - Generic viruses
Jedná se o viry, založené na stejném základě, které jsou velmi podobné. Patří sem především takový "odpad",
jako jsou některé varianty viru Vienna. U těchto virů můžou vznikat problémy při přesné identifikaci varianty a
další při léčení (díky nepřesné analýze). Antivirový program VirusScan používá pojem "Generic" při nalezení
sekvence typické pro virus (například kód na instalaci viru do operační paměti).
Další témata:
Zdroj: O počítačových virech ... a jak na ně ? - (c)1996 Ing.Jiří Mrnuštík, AEC s.r.o.