Kompletní test

Kompletní test představuje zcela nové spojení heuristické analýzy a srovnávacího testu (testu integrity, který byl u starších verzí k dispozici jako samostatná funkce) do jediného celku.

Hlavním důvodem, který vedl ke vzniku tohoto nového testu byla snaha dát uživateli k dispozici funkci, která provádí kontrolu s maximální spolehlivostí a ušetřit čas, který se při opakovaném testu mnoha stejných objektů zbytečně ztrácí.

První spuštění

První spuštění kompletního testu se prakticky rovná spuštění heuristické analýzy – provede se analýza všech objektů na testovaném zařízení. Kompletní test však navíc vytváří zvláštní datový soubor, nazývaný databáze kompletního testu, nebo také srovnávací databáze.

U každého otestovaného objektu se provede analýza a pokud je objekt označen jako korektní, jsou do databáze o něm uloženy podrobné informace – jméno objektu, atributy, velikost, kontrolní součty, hlavičky souborů, apod.

Opakovaná spouštění

Při dalších spouštěních kompletního testu je však situace zcela jiná. Nejprve se s pomocí databáze testuje, zda se objekt oproti minulému stavu změnil. Pokud k žádné změně nedošlo (a dříve byl objekt označen jako korektní), není důvod znovu provádět heuristickou analýzu – není změna, nemůže být virus.

Jiná situace nastává v případě zjištěné změny. Zde je nutno prověřit, zda změna není způsobena virovou nákazou. Zjištěná změna je v každém případě vypsána jako hlášení do okna zobrazeného během kompletního testu.

Vzápětí je změněný soubor prověřen heuristickou analýzou na virovou čistotu. Pokud nebyl zjištěn žádný virus a žádné podezření na možný výskyt nového neznámého viru, je změněný soubor zařazen do seznamu změn, připravených k automatické aktualizaci – tato akce se vykoná na samotném konci kompletního testu – změněné (a otestované) objekty se zařadí do databáze jako nový standard pro příští testy.

V případě, že v nastavení kompletního testu je nastaven parametr Hlásit změnu jako virus, je zjištěná změna ohlášena mnohem výraznějším způsobem – kromě výpisu hlášení do okna, je nalezená změna oznámena stejným způsobem jako nalezený virus – výrazným hlášením, zastavením testu a vyčkáním na reakci uživatele.

Nové soubory

Podobně jako zjištěné změny, zpracuje kompletní test také nové soubory – ty, které dosud nemají svůj záznam v databázi kompletního testu. Ty jsou také prověřeny heuristickou analýzou a pokud jsou shledány jako korektní – viruprosté, jsou ohlášeny v okně a zařazeny do seznamu změn, připravených k automatické aktualizaci.

Nalezen virus

Heuristická analýza je tedy prováděna pouze u souborů, u nichž byla zjištěna jakákoliv změna, nebo se jedná o soubor nový.

Pokud bude během kompletního testu zjištěn objekt napadený virem, bude reakce kompletního testu zcela shodná s antivirovým testem a heuristickou analýzou – na obrazovce bude vypsáno hlášení a uživateli budou nabídnuty funkce pro odstranění virové nákazy. Soubor napadený virem samozřejmě není zařazen do databáze kompletního testu.

Podrobnější informace o nalezení viru jsou uvedeny v kapitole Nalezen virus.

Výsledek testu

Po otestování všech objektů na zadaném zařízení kompletní test končí – je zobrazen výsledek testu – seznam všech hlášení o nalezených virech, případně o sledovaných souborech (vadné soubory, interně komprimované, archívy – lze nastavit v Obecném nastavení testů). Ve výsledku testu se lze pohybovat a na jednotlivé situace znovu reagovat – např. léčit objekty napadené virem.

Seznam změn

Na přání uživatele je ve zvláštním okně zobrazen seznam zjištěných změn, které byly prověřeny, a které jsou nyní připraveny na automatickou aktualizaci.

Tyto změny jsou označeny – při opuštění kompletního testu se uloží do databáze jako nový standard pro příští testy. Uživatel si může seznam změn prohlédnout a případně může označení některé z nalezených změn zrušit – tyto změny nebudou zařazeny do automatické aktualizace.

Pokud bylo použito nastavení parametru Hlásit změnu jako virus, byla nalezená změna ohlášena uživateli v okamžiku její detekce – pokud v tom okamžiku uživatel rozhodl, že tuto změnu neakceptuje, není tato změna v seznamu označena – není připravena k zařazení do databáze.

Aktualizace databáze

Po opuštění výsledku kompletního testu se provede automatická aktualizace zjištěných změn (pokud některé z nich uživatel z aktualizace nevyloučil). Seznam změn již nebude dále uživateli k dispozici – je možné si opakovaně požádat o výsledek kompletního testu, zobrazeny však již budou pouze hlášení o nalezených virech.

Vezmeme–li v úvahu, že při běžné práci typického uživatele je výskyt změn minimální, omezí se ve většině případů běh kompletního testu na průchod zařízením, porovnáním stavu objektů a jejich kontrolu s databází (tato funkce má téměř minimální časové nároky). Časově náročnější heuristická analýza se spustí pouze na několik málo zjištěných změn. Výsledkem bude mnohonásobné zrychlení testu rozsáhlého disku při zachování spolehlivosti.

Zrušení platnosti databáze

Platnost databáze lze samozřejmě zrušit – to znamená, že při dalším spuštění kompletního testu se budou znovu testovat všechny objekty, nezávisle na tom, zda odpovídají svému obrazu v databázi kompletního testu. Toto zneplatnění databáze může provést sám uživatel a může být také provedeno automaticky v případě, že jej nařídí přímo výrobce prostřednictvím aktualizačních souborů.

Jméno databáze

Na závěr dovolte malou radu. Databáze kompletního testu obsahuje mnoho užitečných informací a je důležitým klíčem k zajištění bezpečnosti počítače. Nelze vyloučit možnost, že virus cíleně tuto databázi zničí – zná její implicitní jméno. Využijte možnosti nastavit vlastní jméno (a umístění) databáze kompletního testu.

Doporučení

Kompletní test byl v systému AVG 5.0 definován jako základní uživatelský test. Většina uživatelů by tedy, při běžně prováděných kontrolách svého počítače, měla dávat přednost kompletnímu testu před heuristickou analýzou, případně před antivirovým testem.

Jiná situace nastává samozřejmě u kontroly objektů získaných z vnějšího světa – z Internetu, na disketách apod. Zde neexistuje žádná informace o nově získaných objektech a kompletní test nemá v podstatě smysl. Zde je vhodné použít přímo heuristickou analýzu.