![]() |
![]() |
|
Zjištění přítomnosti viru v souboruPodobně jako v případě vícenásobné instalaci v paměti potřebuje virus vyřešit stejný problém i při infikaci souboru. K odstranění možnosti vícenásobného zavirování programu stejným virem využívající viry pro rozhodnutí, zda daný soubor již je či není jeho tělem infikován, některou z následujících možností: Tradiční podpisová metoda. Virus ve svém těle obsahuje na definovaném místě definovaný řetezec znaků, který slouží k detekci jeho přítomnosti. Jak již bylo výše uvedeno v souvislosti s detekcí virů, např. virus Pojer pro svoji identifikaci používá řetězec "XmY?!&" uložený 12 bajtů před koncem souboru.
Metoda využívající zejména možnosti nastavení času souboru na nesmyslný údaj. Virus Vienna nastavuje položku sekund
času na hodnotu 62. Jde o nastavení data mimo logický rozsah. Virus Tremor nastavuje rok souboru zvětšený o 100.
Komplikovanější způsob indikace přítomnosti viru, který se snaží zamezit nahodilým shodám. Např. virus OneHalf
mění datum a čas souboru podle vzorce (datum mod 1eh)=(čas and 1fh). Netradiční způsob indikace přítomnosti viru. Virus Anthrax zarovnává velikost souboru na hodnotu dělitelnou 16. Pochopitelně, že řada souborů, jejichž nezavirovaná velikost splňuje uvedenou podmínku, nebude virem Anthrax nikdy napadena. Zajímavá možnost využívající přepisu první instrukce či několika prvních instrukcí na instrukce identifikační, tj. na instrukce jejichž výskyt je v úvodu programu nepravděpodobný a který charakterizuje přítomnost viru. Může jít např. o sled nop (90h) instrukcí, či jako v případě viru Seventh Son o instrukci dec BP (4dh). Každopádně vždy se jedná o instrukce nevýznamné pro vlastní běh programu.
Některé infektory EXE souborů používají rozličné variace příznaků vybraných položek EXE hlavičky (headeru):
Test položky kontrolního součtu na konkrétní hodnotu (virus SysLock testuje na hodnout 7cb6h).
Nestandardní signatura EXE souboru (virus Fingers ukládá místo systémové hodnoty 'MZ' hodnotu 'TM').
Definovaná počáteční hodnota registru IP (virus Peach testuje IP na hodnotu 01fch).
Kombinovaný příznak (pro virus Invol je příznakem infikace splnění podmínky SS - SP = 5ch; virus Loren testuje,
zda pro hodnotu kontrolního součtu platí: ChkSum = CS + IP + 01b3h). Všechny uvedené metody jsou pouze příklady virových mechanismů, ne návod k identifikaci přítomnosti virů. V případě, že virus je aktivní v paměti, uživatel nemusí, vzhledem k možné stealth povaze viru, výše uvedené symptomy zjistit. |
||
![]() |
![]() |