Charakteristické okamžiky infekce virem

Okamžik, kdy virus napadne spustitelný soubor, je závislý na povaze virů. Existují dvě základní koncepce:

Rychlá infikace

Za rychlý infektor je pokládán virus, který napadá nejenom všechny spouštěné, vytvářené či modifikované porgramy, ale i programy pouze otevírané (např. při antivirové kontrole). Nejrychlejší infektory napadají soubory již při zachycení volání funkcí DOSu "Najdi první soubor" a "Najdi další soubor".

Pomalá infikace

Pomalým infektorem je virus, který většinou napadá pouze programy nově vytvářené nebo modifikované. Principem je, že virus se "sveze" s legálním požadavkem na zápis, v rámci něhož provede svoji replikaci. Tím odpadá virům řada problémů, nemusí např. ani obsluhovat kritickou chybu DOSu. V operačním systému MS-DOS navíc existují samo-modifikující se programy, které se mohou stát ideálním terčem pomalé a velice nenápadné infikace (např. program SETVER.EXE pro zajištění kompatibility programů mezi různými verzemi operačního systému).

Občasná infikace

Občasná infikace je variantní formou pomalé infikace. Podstatou je splnění určité logické podmínky, např. infikace každého dvacátého spouštěného programu, infikace pouze v určité hodiny, infikace programů splňujících definovaný rozsah délky apod. Podle pojetí konkrétní podmínky mohou být občasné infektory rychlostí svého rozšíření buď rychlejší nebo pomalejší než infektory pomalé.

Rozdíl v pojetí je zřejmý. Rychlý infektor způsobuje nejrychlejší možné rozšíření viru v operačním systému a dostupném okolí, což však nutně vede k jeho brzkému odhalení. Pomalý infektor se snaží v rozumné míře najít kompromis mezi rychlostí rozšíření a dobou odhalení. Velice pomalý občasný infektor je nejnenápadnější, a tedy nejnebezpečnější variantou počítačového viru.

Okamžiky infikace souborovým virem se de-facto odvíjejí od potřeby viru znát jméno programu pro jeho napadnutí:

Klidový stav

Okamžik infikace charakteristický pro nerezidentní viry. Napadený program je vybrán použitím služeb volání DOSu 4eh - "Najdi první soubor" resp. 4fh - "Najdi další soubor". Při volání těchto služeb virus definuje masku souborů, které chce infikovat. Nejčastěji se pochopitelně jedná o masky "*.COM" a "*.EXE", specifikující hlavní varianty spustitelných souborů.
Zajímavý je pro některé viry i výše uvedený okamžik volání služeb 11h - "Najdi první soubor přes FCB" a 12h - "Najdi další soubor přes FCB". Jedná se o starší služby volání DOSu, které používá např. příkazový interpret COMMAND.COM při interpretaci příkazu dir. Vzhledem k častému použití příkazu dir je tento mechanismus užíván velice rychlými infektory. Představitelem je např. virus Little Red.
Je potřeba si uvědomit, že uvedený popis je pouze popisem infikace programu virem, který je již aktivní v paměti. Jedná se tedy o replikaci viru; v žádném případě se nejedná o možnost aktivace viru použitím příkazu dir na adresář, ve kterém se eventuálně zavirovaný program nachází. Tato nereálná možnost bývá častým mýtem i v souvislosti s bootovacími viry, kdy se nezasvěcení lidé mylně domnívají, že bootovací virus může napadnout počítač již v okamžiku přepnutí na zavirovanou disketu.

Spuštění programu

Typický okamžik infikace většiny souborových virů. Rezidentní virus hlídá volání DOSu službou 4bh - "EXEC - Proveď nebo nahrej program", kdy přímo získá jméno spouštěného programu pro zavirování.

Otevření či vytvoření programu

Obdobná situace jako v případě spuštění programu s jediným rozdílem, že v tomto případě virus monitoruje službu 3dh - "Otevři soubor". Jelikož u této služby virus neví, jaký soubor je otevírán, musí nejprve otestovat, zdali jméno otevíraného souboru obsahuje spustitelnou příponu. Synonymní je v podstatě i služba 3ch - "Vytvoř soubor".

Ukončení programu

Okrajová možnost infikace zejména COM programů prostřednictvím přerušení int 20h. Při vyvolání tohoto přerušení platí pro COM soubory, že segmentová hodnota CS=PSP (Program Segment Prefix). Tím má virus možnost zjistit adresu segmentu datové oblasti prostředí DOSu (DOS Environment) a odtud jméno ukončovaného programu.

Přístup na disketu nechráněnou proti zápisu

Okamžik infikace výhradně bootovacích virů. Virus obsluhuje přerušení diskových vstupních / výstupních operací (int 13h) a kontroluje požadavky na práci s disketou. Pro vyloučení možnosti případného prozrazení testují bootovací viry, zda ještě běží motor disketové jednotky. Pokud již motor neběží, virus se dále nesnaží o zavirování vložené diskety, neboť pak by se musel motor znovu rozběhnout, což by mohlo být uživateli, vzhledem k indikaci LED diodou, nápadné.
Následuje ukázka vybraná z viru Aragon. Údaj na adrese 0000:043f poskytuje informaci, které motory diskových jednotek jsou v běhu. Nultý bit reprezentuje mechaniku A:, první bit mechaniku B: atd.

xor	ax, ax			; vynulovani registru AX
mov	ds, ax			; DS=0, systemovy datovy segment
test	byte ptr ds:[43fh], 01	; bezi motor mechaniky A: ?
jz 	nebezi			; pokus o infikaci nebude