Podle chování
Stealth a substealth
Neviditelné viry ukrývají modifikace, které na souborech nebo boot sektorech provedly. Monitorují systémové funkce, které používá operační systém pro čtení souborů nebo sektorů z paměťového média, a pak simulují výsledky volání těchto funkcí. Znamená to, že program, který se pokouší číst napadený soubor nebo sektor, vidí místo něj jeho původní, nepozměněný tvar. Antivirový program by tedy nemusel modifikaci objevit. Aby se před detekcí ubránil, musí být takový virus zaveden v průběhu provádění antivirového programu v operační paměti. Dobrý antivirový program by však měl umět rozeznat infekci v okamžiku, když se kód viru zavádí do paměti.
Neviditelné viry mají obvykle schopnost maskovat velikost souborů nebo jejich obsah při čtení. Viry maskující velikost patří do skupiny virů napadajících soubory. Virus se připojí k cílovému programu a replikuje se, čímž velikost souboru vzroste. Virus ovšem maskuje velikost souboru, takže uživatel napadeného počítače si činnost viru v normálním provozu nevšimne.
Odhalit neviditelný virus je poměrně snadné. Většina standardních antivirových programů detekuje neviditelné viry, ovšem za předpokladu, že byl antivirový program spuštěn na "zdravém" systému (bez aktivního viru). Pokud před antivirovou kontrolou nastartujete systém ze zabezpečené čisté systémové diskety zablokované proti zápisu, neviditelné viry by měly být detekovány. Jak jsme se zmínili dříve, neviditelné viry se mohou skrýt jenom pokud jsou rezidentní a aktivní v paměti.
Polymorfní viry
Polymorfní virus své tělo zašifruje, a tak se snaží ukrýt svou signaturu před antivirovým programem. Polymorfní viry - nebo i jiné šifrované viry - se šíří tak, že nejdříve dešifrují zašifrovanou část pomocí speciální dešifrovací rutiny (dešifrovací rutina zkonvertuje šifrovaný soubor zpátky do původního stavu). Dešifrovací rutina polymorfního viru se krátce zmocní řízení počítače, aby dešifrovala tělo viru. Poté předá řízení extrahovanému viru a ten může provádět svou činnost.
První šifrované viry byly nepolymorfní. Jinými slovy, používaly dešifrovací rutiny, které se neměnily z infekce na infekci. Přestože sám virus byl zašifrován a ukryt, antivirový program měl stále možnost virus identifikovat a zneškodnit podle neměnné signatury dešifrovací rutiny.
Rozpoznat polymorfní virus je mnohem těžší, protože při každém napadení souboru vygeneruje úplně novou dešifrovací rutinu, takže se její signatura mění s každou instalací viru. Obecně mění polymorfní virus svou signaturu použitím jednoduchého generátoru strojového kódu, kterému se říká mutátor (Mutation Engine). Mutátor změní signaturu použitím generátoru náhodných čísel a poměrně jednoduchého matematického algoritmu. Pomocí mutátoru může programátor přetvořit jakýkoliv virus na polymorfní. Stačí jednoduchý zásah do zdrojového kódu v assembleru, který způsobí, že virus zavolá mutátor ještě před svým zkopírováním.
I když základní skenovací metody (například srovnávání řetězců kódu) nemohou polymorfní viry odhalit, speciálně konstruované vyhledávací stroje, upravené pro identifikaci šifrovacích schémat, je najít mohou. Polymorfní viry nejsou neporazitelné, učinily však ze skenování virů mnohem těžší a dražší úkol. Většina antivirových programů obsahuje kvůli ochraně před polymorfními viry i mechanizmus vyhledávání šifrování.
Retroviry (odvetné viry)
Retrovirus je počítačový virus, který se pokouší uniknout odhalení nebo zabránit operacím antivirových programů přímým napadením antivirového softwaru. Odborníci říkají někdy retrovirům také anti-antiviry. (Nezaměňujte anti-antiviry s antivirovými viry, jejichž úkolem je zneškodnit jiné viry!)
Vytvořit retrovirus není těžká úloha. Autoři virů mají přirozeně přístup ke všem antivirovým programům na trhu. Jediné, co musí udělat, je prostudovat program, který chtějí porazit, najít v něm nějaké slabé místo a vymyslet způsob, jak ho zneužít. Retrovirus například najde datový soubor, ve kterém si antivirový program uchovává signatury virů, a smaže jej, čímž sníží schopnost antiviru detekovat viry. Sofistikovanější retro virus vyhledá databázi s informacemi o integritě a smaže ji. Odstranění databáze má pro kontrolora integrity stejné důsledky, jako smazání datového souboru pro antivirový program.
Jiné retroviry detekují aktivaci antivirového programu a pak se před ním ukryjí nebo zastaví provádění antivirového programu, případně spustí ještě před svým odhalením destruktivní rutinu. Některé retroviry pozmění výpočetní prostředí způsobem, který ovlivní operace antivirového programu. Jiné využívají specifická slabá místa a zadní vrátka konkrétních antivirových programů, aby oslabily nebo narušily jejich činnost.
Tunelující viry
Tunelující virus vyhledává původní vektory přerušení v DOSu a BIOSu a volá je přímo, čímž obejde aktivitu jakéhokoliv monitorujícího programu, který je případně v systému zaveden, a jako takový by mohl detekovat pokusy o volání těchto vektorů přerušení.
Tyto tunelující techniky jsou někdy využívané i na druhé straně bariéry - některé antivirové programy je používají, aby obešly jakékoliv neznámé nebo nedetekované viry, které mohou být aktivní v době jejich spuštění.
Armored viry
Pancéřové (armored) viry se chrání speciálním programovým kódem, který znesnadňuje trasování, zpětný překlad a pochopení kódu viru. Pancéřový virus se může chránit například "obalovým kódem", který odvrátí pozorovatele od operačního kódu. Další možností je skrýt se pomocí zavádějícího kódu, který se tváří, jako by byl umístěn někde jinde, než skutečně je.
Multipartitní viry
Multipartitní viry napadají jak spustitelné soubory, tak boot sektory disku a někdy také boot sektory disket. Jejich jméno pochází z toho, že se neomezují na specifickou oblast disku nebo jistý typ souboru, ale infikují počítač několikanásobným způsobem. Když spustíte aplikaci napadenou multipartitním virem, virus nakazí boot sektor vašeho stroje. Při příštím zavedení systému se virus aktivuje a infikuje každý vhodný program, který spustíte.