|
Antivirussoftware zijn computerprogramma's die proberen om computervirussen en andere kwaadaardige software (malware) te identificeren, tegen te houden en te verwijderen.
Antivirussoftware gebruikt daarvoor typisch twee verschillende technieken:
-
Onderzoeken (scannen) van bestanden om te zoeken naar virussen die overeenkomen met de definities uit een lijst van bekende virussen
-
Identificeren van verdacht gedrag door eender welk computerprogramma, wat op een besmetting kan wijzen
De meeste commerciële antivirussoftware gebruikt beide technieken, met de nadruk op de eerste aanpak.
Viruslijst
In de aanpak met viruslijsten, inspecteert de software een bestand en gebruikt daarbij een lijst van bekende virussen die door de makers van de software zijn geïdentificeerd. Wanneer een stuk code in het bestand overeenkomt met een virus uit de lijst, kan de software één van de volgende acties ondernemen (in volgorde waarin de actie verkozen wordt):
-
proberen het bestand te repareren door het virus zelf uit het bestand te verwijderen
-
het bestand in quarantaine plaatsen (zodat het bestand niet meer toegankelijk is voor andere programma's, en het virus zich niet langer kan verspreiden)
-
het geïnfecteerde bestand verwijderen
Opdat deze aanpak op middellange en lange termijn succesvol zou blijven, moeten de virusdefinites regelmatig bijgewerkt worden (meestal online). Wanneer nieuwe virussen "in het wild" geïdentificeerd worden, kunnen gebruikers en technici hun geïnfecteerde bestanden opsturen naar de auteurs van de antivirussoftware, zodat de informatie kan verwerkt worden in toekomstige virusdefinities.
De aanpak met virusdatabases onderzoekt typisch de bestanden wanneer het besturingssysteem deze aanmaakt, opent, sluit of verzendt via e-mail. Op deze manier kan een virus onmiddellijk bij ontvangst herkend worden. Een systeembeheerder kan er ook voor zorgen dat de software op een regelmatig tijdstip alle bestanden op de harde schijf van de gebruiker scant.
Hoewel deze aanpak op een efficiënte manier de uitbraak van een virus kan tegenhouden in de juiste omstandigheden, hebben schrijvers van virussen geprobeerd de software te omzeilen door het schrijven van "oligomorfe", "polymorfe" en meer recent "metamorfe" virussen, die stukken van zichzelf encrypteren of zichzelf op een andere manier aanpassen om zich te camoufleren, zodat ze niet overeenkomen met hun bekende virusdefinities.
Detectie van verdacht gedrag
In tegenstelling tot de vorige methode, probeert deze methode niet om bekende virussen te identificeren; in de plaats daarvan houdt men het gedrag van alle programma's in de gaten. Wanneer bijvoorbeeld een programma probeert gegevens te schrijven naar een ander uitvoerbaar programma, kan de antivirussoftware dit zien als verdacht gedrag, en de gebruiker waarschuwen en om een reactie vragen.
In tegenstelling tot de aanpak met een virusdatabase, kan men zo bescherming bieden tegen splinternieuwe virussen die nog niet in de lijsten voorkomen. Dit zorgt echter ook voor een groot aantal fout-positieven, en gebruikers worden vlug achteloos voor de waarschuwingen. Wanneer een gebruiker elke waarschuwing zomaar wegklikt, heeft de antivirussoftware vanzelfsprekend geen nut meer voor die gebruiker. Dit probleem is enkel erger geworden, aangezien meer ontwerpen van niet kwaadaardige programma's andere .exe-bestanden aanpasten zonder deze fout-positiefkwestie in acht te nemen. Moderne antivirussoftware gebruikt deze techniek daarom steeds minder.
Andere methodes
Sommige antivirussoftware probeert het begin van de code van elk nieuw uitvoerbaar bestand dat het systeem aanroept te emuleren, vooraleer de controle aan het nieuwe bestand zelf wordt overgedragen. Als het programma zelfmodificerende code lijkt te gebruiken of op een andere manier het gedrag van een virus lijkt te vertonen (het zoekt bijvoorbeeld onmiddellijk naar andere uitvoerbare bestanden), kan men veronderstellen dat het bestand door een virus is geïnfecteerd. Ook deze methode resulteert echter in veel fout-positieven.
Bij nog een andere detectiemethode gebruikt men een sandbox. Een sandbox emuleert het besturingssysteem en voert het programma uit binnen deze simulatie. Nadat het programma is beëindigd, analyseert de software de sandbox op wijzigingen die op een virus kunnen wijzen. Vanwege prestatieproblemen vinden zulke detecties normaal gesproken enkel plaats tijdens manueel gestarte scans.
Bron:wikipedia

|