Heuristisk analys är en metod för att upptäcka virus genom att undersöka kod efter misstänkta egenskaper.
Traditionella metoder för virusupptäckt innebär att vi identifierar skadlig programvara genom att jämföra kod i ett program med kod från kända virustyper som redan har upptäckts, analyserats och registrerats i en databas – så kallad signaturidentifiering.
Även om den är användbar och fortfarande används har signaturidentifieringsmetoden också blivit mer begränsad, på grund av utvecklingen av nya hot som fullkomligt exploderade runt sekelskiftet och pågår hela tiden.
För att motverka detta problem har den heuristiska modellen utformats speciellt för att upptäcka misstänkta egenskaper som återfinns i nya, okända virus och modifierade versioner av befintliga hot samt känd skadlig programvara.
Cyberbrottslingarna utvecklar ständigt nya hot och heuristisk analys är en av de enda metoder som används för att hantera den stora mängd nya hotbilder som vi ser dagligen.
Heuristisk analys är också en av de få metoder som kan bekämpa polymorfa virus — en term för skadlig kod som ständigt förändras och anpassar sig. Heuristisk analys är införlivad i avancerade säkerhetslösningar som erbjuds av företag som Kaspersky Labs för att identifiera nya hot innan de orsakar skada, utan behov av en specifik signatur.
Hur fungerar heuristisk analys?
Heuristisk analys kan tillämpa ett antal olika tekniker. En heuristisk metod, så kallad statisk heuristisk analys, omfattar dekompilering av ett misstänkt program och undersökning av dess källkod. Den här koden jämförs sedan med redan kända virus som finns i den heuristiska databasen. Om en viss procentandel av källkoden matchar någonting i den heuristiska databasen flaggas koden som ett möjligt hot.
En annan metod kallas dynamisk heuristik. När forskare vill analysera något misstänkt utan att försätta människor i fara behåller de ämnet i en kontrollerad miljö som ett säkert labb och genomför tester. Processen i heuristisk analys är något liknande – men i en virtuell värld.
Det misstänkta programmet eller koden isoleras i en specialiserad virtuell maskin – eller sandlåda – som ger virusprogrammet chansen att testa koden och simulera vad som skulle hända om den misstänkta filen fick köras. Man undersöker varje kommando när det aktiveras och letar efter eventuella misstänkta beteenden, till exempel självreplikering, överskrivning av filer och andra åtgärder som är gemensamma för virus.
Potentiella problem
Heuristisk analys är perfekt för att identifiera nya hot, men för att vara effektiv måste heuristiken finjusteras så att den ger bästa möjliga upptäckt av nya hot utan att generera falska positiva utslag på helt oskyldig kod.
Av den anledningen är heuristiska verktyg ofta bara ett av vapnen i en sofistikerad antivirusarsenal. De distribueras vanligen tillsammans med andra metoder för virusidentifiering, t.ex. signaturanalys och andra proaktiva tekniker.
Relaterade artiklar:
- Vad är annonsprogram?
- Vad är en trojan?
- Fakta och vanliga frågor om virus och skadlig programvara
- Skräppost och nätfiske