Heuristische analyse
Heuristische analyse kan gebruik maken van een aantal verschillende technieken. Eén heuristische methode, bekend als statische heuristische analyse, bestaat uit het de-compileren van een verdacht programma en het onderzoeken van de broncode. Deze code wordt dan vergeleken met reeds bekende virussen die in de heuristische databank zijn opgenomen. Als een bepaald percentage van de broncode overeenkomt met iets in de heuristische database, wordt de code gemarkeerd als een mogelijke bedreiging.
Een andere methode staat bekend als dynamische heuristiek. Wanneer wetenschappers iets verdachts willen analyseren zonder mensen in gevaar te brengen, sluiten ze de stof in een gecontroleerde omgeving in, zoals een beveiligd lab, en voeren ze tests uit. Het proces is vergelijkbaar voor heuristische analyse – maar dan in een virtuele wereld.
Het isoleert het verdachte programma of stuk code in een gespecialiseerde virtuele machine – of sandbox – en geeft het antivirusprogramma de kans om de code te testen en te simuleren wat er zou gebeuren als het verdachte bestand zou worden toegestaan om te draaien. Het onderzoekt elk commando wanneer het wordt geactiveerd en zoekt naar verdacht gedrag, zoals zelfreplicatie, het overschrijven van bestanden en andere acties die vaak door virussen worden uitgevoerd.Potentiële problemen worden aan de gebruiker gemeld.
Heuristische analyse is ideaal voor het identificeren van nieuwe bedreigingen, maar om effectief te zijn moeten heuristieken zorgvuldig worden afgestemd om de best mogelijke detectie van nieuwe bedreigingen te bieden, maar zonder valse positieven te genereren op volkomen onschuldige code.
Om deze reden zijn heuristische tools vaak slechts één wapen in een geavanceerd antivirusarsenaal. Ze worden meestal ingezet samen met andere methoden voor virusdetectie, zoals handtekeninganalyse en andere proactieve technologieën.