Kontrola integrity
Antivirový program sleduje změny v systému souborů. Využívá toho, že
uložením viru do některého souboru dojde ke změně souboru, kterou je možné
detekovat. Pokud dojde ke změně textového souboru, pravděpodobně se nejedná
o následek činnosti viru, ale pokud dojde ke změně v některém programu nebo
systémovém souboru, je možné, že příčinou je napadení virem.
Antivirový program si nejprve při prvním spuštění vytvoří databázi souborů na disku. Při dalších spuštěních srovnává aktuální stav souborů s příslušnými položkami ve své databázi a zjišťuje, zda se od posledního průchodu nezměnily. Výhodou kontroly integrity je možnost nalezení dosud neznámého viru. Nevýhodou je, že antivirový program nedokáže sdělit, že nalezl vir, ale pouze že došlo ke změně v souboru. Záleží na uživatelově úsudku, zda se jedná o virový útok. Sledování změn také není efektivní ochranou proti makrovirům. Je sice možné zapnout sledování změn v dokumentech. Ty se ale obvykle mění tak často, že výsledkem by asi bylo zahlcení uživatele množstvím hlášení o změnách v souborech.
Kontrola integrity je založena na porovnávání aktuálního stavu důležitých
programů a oblastí na disku s informacemi, které si o nich kontrolní program
uložil při jejich příchodu do systému nebo při své instalaci.
Jestliže se do
takto chráněného počítače dostane vir, tak na sebe zdvořile upozorní změnou
některého z kontrolovaných objektů a je záhy detekován. Takto je možné
spolehlivě zachytit i nové viry, o kterých zatím nic neví skenery a které nemusí
odhalit ani heuristická analýza.
Aby se tato idylka proměnila v realitu je
nutné kontrolu integrity správně nainstalovat. To především znamená zahrnout do
seznamu kontrolovaných objektů pokud možno všechny důležité a často používané
programy. Velmi praktické je kontrolovat všechno, co je zaváděno do paměti při
startu počítače. Tedy ovladače vyjmenované v souboru CONFIG.SYS a programy
spouštěné z dávky AUTOEXEC.BAT. Určitě není špatné kontrolovat také všechny
programy, které jsou součástí MS-DOSu.
Existují ovšem i soubory, jejichž
kontrola nemá smysl. Sem patří některé starší programy, které si svou
konfiguraci zapisují přímo do svého EXE-souboru (například TC.EXE - kompilátor
Turbo C od firmy Borland). Jejich kontrola je samozřejmě také možná, ale při
změně nastavení spustí falešný poplach. Pak už záleží je na znalostech
uživatele, jestli dokáže rozpoznat, o co se jedná.
To ovšem není jediný
problém. Snadno může dojít k této situaci: Na počítač napadený boot virem, je
nainstalována kontrola integrity, která si mimo jiné uschová i kopii boot
sektoru. Po čase je vir nalezen a odstraněn nějakým jiným antivirovým programem.
Při svém dalším spuštění kontrola zjistí, že obsah boot sektoru už není, co
býval. Oznámí to uživateli a dotáže se, zda je vhodné obnovit správný stav.
Pravděpodobně dostane souhlas a s pocitem dobře vykonané práce vrátí vir do boot
sektoru.
Tato situace jistě není příliš milá. Proto jsou většinou i
antivirové systémy založené na kontrole integrity obvykle vybaveny nějakým
skenerem. I tak se ovšem před jejich instalací vyplatí zkontrolovat i disk
nějakým jiným, kvalitním, skenerem.
Viry většinou napadají soubory tak, že
modifikují jejich začátek a za konec se připojí. Na základě odložených informací
o souboru se tak může program pro kontrolu integrity pokusit odstranit, aniž by
o něm cokoliv věděl. A protože si musí už kvůli detekci pamatovat kontrolní
součty celého souboru, může snadno kontrolovat, zda byl jeho pokus o léčení
úspěšný.
Díky tomu patří odstraňování viru programem pro kontrolu integrity k
relativně bezpečným postupům. (Tedy ne že by bylo tak úspěšné, ale program pro
kontrolu integrity je schopen zkontrolovat, jestli se soubor skutečně podařilo
uvést do korektního stavu).
Hlavní výhody a nevýhody kontrolórů
integrity:
lze detekovat známé i neznámé viry | |
lze dezinfikovat známé i neznámé viry | |
větší nároky na uživatele při rozhodování (např. zda je soubor čistý či zavirovaný) | |
kontrolór integrity musí být na počítač instalován v době, kdy není zavirován |