Detekce založená na podpisu je způsob fungování antivirů a systémů detekce narušení , kdy program při prohlížení souboru nebo balíčku odkazuje na slovník známých virů sestavený autory programu. Pokud se některá část kódu prohlíženého programu shoduje se známým kódem ( signaturou ) viru ve slovníku, antivirový program může provést jednu z následujících akcí:
Pro dosažení dostatečně dlouhodobého úspěchu této metody je nutné pravidelně aktualizovat slovník známých virů o nové definice (hlavně online ). Občansky smýšlející a technicky zdatní uživatelé, kteří objevili nový virus „naživo“, mohou infikovaný soubor poslat vývojářům antivirového softwaru, kteří virus prostudují, extrahují jeho signaturu a přijatou signaturu nového viru pak zahrnou do slovník.
Antivirové programy založené na slovníkové definici virů obvykle skenují soubory, když počítačový systém vytváří, otevírá, zavírá nebo odesílá soubory e-mailem . Viry tak mohou být detekovány ihned poté, co se dostanou do počítače a dříve, než mohou způsobit škodu. Je třeba poznamenat, že správce systému může nastavit plán pro antivirový program, podle kterého lze prohlížet (skenovat) všechny soubory na pevném disku.
Ačkoli antivirové programy založené na slovníkové definici viru mohou být za normálních okolností docela účinné při zastavení počítačových epidemií, autoři virů se snaží zůstat o půl kroku napřed před takovými antivirovými programy vytvářením „oligomorfních“, „ polymorfních “ a nejnovější " metamorfní " » viry, ve kterých jsou části kódu přepsány, upraveny, zašifrovány nebo zkresleny tak, že není možné najít shodu s definicí ve slovníku virů.
Jednou z metod hardwarového skenování je skenování datového toku po cestě pomocí speciálního zařízení zvaného kontextový koprocesor. [jeden]
Antivirové signatury jsou vytvářeny jako výsledek pečlivé analýzy několika kopií souboru patřícího jednomu viru. Podpis by měl obsahovat pouze jedinečné řádky z tohoto souboru, tak specifické, aby byla zaručena minimální možnost falešných poplachů – hlavní priorita každé antivirové společnosti.
Vývoj podpisu je manuální proces, který je obtížné automatizovat. Navzdory mnoha výzkumům v oblasti automatického generování podpisů [1] [2] zvyšující se polymorfismus (a „metamorfismus“) virů a útoků činí syntaktické podpisy bezvýznamné. Antivirové společnosti jsou nuceny uvolňovat velké množství signatur pro všechny varianty stejného viru, a nebýt Moorova zákona , žádný moderní počítač by nebyl schopen dokončit skenování velkého množství souborů s takovým množstvím signatur v jednom rozumný čas. V březnu 2006 tedy antivirový skener Norton znal asi 72 131 virů a databáze programu obsahovala asi 400 000 signatur. [2]
V současné podobě musí být databáze signatur pravidelně aktualizovány, protože většina antivirů není schopna nové viry sama detekovat. Každý vlastník softwaru založeného na signaturách je odsouzen k pravidelné závislosti na aktualizacích signatur, což je základem obchodního modelu dodavatelů antivirů a IDS.
Včasné dodání nových signatur uživatelům je také velkou výzvou pro dodavatele softwaru. Moderní viry a červi se šíří takovou rychlostí, že v době, kdy je signatura uvolněna a doručena do počítačů uživatelů, epidemie již možná dosáhla svého vrcholu a zasáhla celý svět . Podle zveřejněných údajů trvá doručení podpisu 11 až 97 hodin v závislosti na výrobci [3] , přičemž teoreticky může virus ovládnout celý internet za méně než 30 sekund. [3]
Ve většině bezpečnostního softwaru je databáze podpisů jádrem produktu – časově nejnáročnější a nejcennější součástí. To je důvod, proč většina prodejců upřednostňuje ponechat své podpisy v soukromí – ačkoli v této oblasti existuje řada open source softwaru (např . ClamAV ), stejně jako výzkum reverzního inženýrství proprietárních podpisů. [4] Virus Bulletin až do roku 2000 pravidelně publikoval nové signatury virů .
Metoda heuristického skenování je navržena tak, aby zlepšila schopnost skenerů aplikovat signatury a rozpoznat modifikované viry v případech, kdy signatura na 100 % neodpovídá tělu neznámého programu. [4] Tato technologie se však v moderních programech používá velmi opatrně, protože může zvýšit počet falešných poplachů.