Sebeobrana viru

Pasivní obrana

Viry se snaží zabránit svému odhalení různým způsobem. Pasivní ochranou je použití takových programových konstrukcí, které znesnadní analýzu viru a ochrání ho před některými technikami hledání.

Příkladem podobné ochrany jsou polymorfní viry, které vlastně vznikly jako reakce na scannery vyhledávající konstantní kousky virového kódu.

Čas pokročil a antivirové systémy jsou schopny obecně analyzovat polymorfní kód a vyhledávat své virové identifikátory až v dekryptovaném těle viru.

Reakcí ze strany virových pisálků je snaha o vytvoření tak komplikovaných dekryptovacích funkcí, aby je antivirový systém nedokázal vůbec projít nebo je považoval za korektní kód zdravého programu a analýzu ukončil.

Dalším významným pokrokem v antivirových technikách je heuristická analýza, která dovoluje s vysokou účinností odhalit i viry, které nejsou v dané době autorům antivirového systému známy.

Proto se dnes stále častěji setkáváme s více či méně úspěšnými pokusy o vytvoření takového kódu, který heuristická analýza "nepochopí", nebo který jí bude připadat zcela korektní.

Aktivní obrana

Aktivní metody sebeobrany spočívají především v ochraně vlastního kódu viru a v pokusech o likvidaci nebo poškození antivirového systému a jeho částí. Nejjednodušší viry se snaží alespoň vyhledat a zničit databáze informací, které si antivirový systém vytvořil, případně jej celý smazat.

Chytřejší rezidentní viry používají stealth techniky a zjistí–li přístup k infikovaným souborům tak je dočasně vyléčí nebo předstírají, že jsou v pořádku. Mohou také sledovat spouštění programů a reagovat tak na spuštění antivirového programu. Rejstřík reakcí je bohatý a fantazii se meze nekladou. Obvyklé bývá odmítnutí spuštění programu nebo jeho smazání (doprovázeno nějakým stupidním chybovým hlášením), případně dočasné pozastavení všech aktivit viru.

Občas se vyskytují i viry extrémně chytré, které modifikují kód antiviru a pokoušejí se tak vypnout některé jeho funkce.

Naštěstí ojedinělé jsou viry považující spuštění antivirového systému za hrubou provokaci vyžadující odvetný úder – třeba okamžité formátování disku.

Past

Past představuje nejzlomyslnější formu sebeobrany viru. Model je jednoduchý – spokojeně žijete s virem a vše zdánlivě funguje správně. Odhalíte jeho přítomnost, odstraníte jej a najednou je všechno špatně, soubory už nejsou co bývaly, disk vůbec není přístupný nebo je dokonce počítač v takovém stavu, že pokus o start z čisté systémové diskety skončí jeho "zatuhnutím".

Jednou z nejznámějších pastí je průběžné šifrování obsahu disku, které provádí multipartitní virus One_Half. Pokud jeho odstranění z Partition tabulky není doprovázeno dekódováním disku, tak některé adresáře neuvidíte, obsah jiných adresářů bude prapodivný a část souborů nebude k poznání. Tento stav je sice velmi špatný, ale stále ještě řešitelný.

Jestliže ale v této situaci požádáte nějakou disk–repair utilitu (NDD, SCANDISK) o "opravu" disku tak tím vaše data končí definitivně. Problém je v tom, že utilita určená pro řešení běžných (a obvykle relativně malých) problémů na disku najde místo poškozeného obsahu totální nesmyly, pokusí se je vzít vážně a na základě těchto (díky šifrovací funkci vlastně náhodných) dat provést opravu.

Kvalita výsledku pak bohužel odpovídá kvalitě dat, která měla utilita k dispozici.