Heuristisk analys
Heuristisk analys kan använda ett antal olika tekniker. En heuristisk metod, som kallas statisk heuristisk analys, innebär att man avkompilerar ett misstänkt program och undersöker dess källkod. Denna kod jämförs sedan med virus som redan är kända och finns i den heuristiska databasen. Om en viss procentandel av källkoden matchar något i den heuristiska databasen markeras koden som ett möjligt hot.
En annan metod kallas dynamisk heuristik. När forskare vill analysera något misstänkt utan att utsätta människor för fara, innesluter de ämnet i en kontrollerad miljö som ett säkert labb och utför tester. Processen är liknande för heuristisk analys – men i en virtuell värld.
Det misstänkta programmet eller kodstycket isoleras i en specialiserad virtuell maskin – eller sandlåda – och ger antivirusprogrammet en chans att testa koden och simulera vad som skulle hända om den misstänkta filen tilläts köras. Den undersöker varje kommando när det aktiveras och letar efter misstänkta beteenden, till exempel självreplikering, överskrivning av filer och andra åtgärder som är vanliga för virus.Potentiella problem rapporteras till användaren.
Heuristisk analys är idealisk för att identifiera nya hot, men för att vara effektiv måste heuristiken vara noggrant inställd för att ge bästa möjliga upptäckt av nya hot men utan att generera falska positiva resultat på helt oskyldig kod.
Av denna anledning är heuristiska verktyg ofta typiskt sett bara ett vapen i en sofistikerad antivirusarsenal. De används vanligtvis tillsammans med andra metoder för virusdetektering, t.ex. signaturanalys och annan proaktiv teknik.