# Antivirussoftware

Antivirussoftware is programmatuur die probeert om computervirussen te identificeren, tegen te houden en te verwijderen.
Antivirussoftware gebruikt daarvoor 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 antivirusprogramma's gebruiken beide technieken, met de nadruk op de eerste aanpak. Er zijn ook programma's beschikbaar die enkel de eerste techniek gebruiken.
Tegenwoordig komt antivirussoftware op zich nog maar weinig voor, meestal is het samen met antispywarefunctionaliteit in antimalwaresoftware vervat. Dit soort beveiligingssoftware beschermt niet alleen tegen virussen, maar tegen alle vormen van kwaadaardige software (malware).

## Methodes voor virusdetectie
### 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 een 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
Om deze aanpak op middellange en lange termijn succesvol te houden, worden de virusdefinities regelmatig bijgewerkt (meestal online). Bij nieuwe, geïdentificeerde virussen kunnen gebruikers en technici hun geïnfecteerde bestanden opsturen naar de auteurs van de antivirussoftware, om zo de informatie in toekomstige virusdefinities te verwerken.
De aanpak met virusdatabases onderzoekt typisch de bestanden wanneer het besturingssysteem deze aanmaakt, opent, sluit of verzendt via e-mail. Met als opzet om een virus onmiddellijk bij ontvangst te herkennen. 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 tegenhoudt, omzeilen schrijvers van virussen de software door het schrijven van "oligomorfe", "polymorfe" en meer recent "metamorfe" virussen. Deze virussen encrypteren stukken van zichzelf of camoufleren zich zodat ze niet overeenkomen met hun bekende virusdefinities.

### Detectie van verdacht gedrag

In plaats van bekende virussen te identificeren analyseert deze methode het gedrag van programma's. Wanneer bijvoorbeeld een programma gegevens schrijft naar een ander uitvoerbaar programma, kan de antivirussoftware dit als verdacht gedrag zien, de gebruiker waarschuwen en om een reactie vragen.
Deze vorm van antivirussoftware biedt bescherming tegen virussen die nog niet in de databases voorkomen. Dit zorgt voor een aantal fout-positieven, en gebruikers worden vlug achteloos voor de waarschuwingen. Wanneer een gebruiker elke waarschuwing wegklikt, heeft de antivirussoftware geen nut meer voor die gebruiker. Dit is een groeiend probleem, aangezien meer ontwerpen van niet kwaadaardige programma's andere .exe-bestanden aanpassen zonder deze fout-positiefkwestie in acht te nemen. Moderne antivirussoftware gebruikt deze techniek daarom steeds minder.

### Andere methodes

Sommige antivirussoftware emuleren het begin van de code van een nieuw uitvoerbaar bestand dat het systeem aanroept, vooraleer het de controle aan het nieuwe bestand zelf overdraagt. Als het programma een 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), wijst dit op een mogelijke infectie. Ook hier zijn er onschuldige bestanden die als malware aangeduid worden, zogenaamde false positives.
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.

## Aandachtspunten

* De verspreiding van e-mailvirussen (deze horen bij de meest destructieve en verspreide computervirussen) kan op een veel goedkopere en efficiëntere manier tegengegaan worden wanneer bugs in e-mailsoftware zouden hersteld worden, zonder dat de installatie van antivirussoftware nodig is. Deze fouten laten immers toe dat gedownloade code uitgevoerd kan worden, zich kan verspreiden en schade aanrichten.
* Het opleiden van de gebruikers is een meerwaarde boven op de antivirussoftware; de gebruikers wijzen op veilig omgaan met computers (zoals het niet downloaden en uitvoeren van onbekende programma's van het internet) vertraagt de verspreiding van virussen en vermindert de nood aan antivirussoftware.
* Computergebruikers zouden niet altijd hun machine mogen gebruiken als systeembeheerders. Als ze eenvoudigweg zouden werken in gebruikersmodus, zouden veel virustypes zich niet kunnen verspreiden (of hun schade zou minstens beperkt blijven). Dit is een van de verschillende redenen waarom virussen relatief zeldzaam zijn op UNIX-achtige systemen.
* De aanpak met lijsten om virussen te definiëren volstaat niet, wegens de voortdurende aanmaak van nieuwe virussen; maar ook het detecteren van verdacht gedrag werkt niet voldoende wegens het fout-positiefprobleem. Daarom kan de huidige kennis die ingebouwd is in antivirussoftware nooit alle computervirussen bestrijden.
* Er bestaan verschillende methodes om kwaadwillige software te encrypteren en te verpakken, zodat zelfs bekende virussen niet ontdekt kunnen worden door antivirussoftware. Om "gecamoufleerde" virussen op te sporen is een krachtige code nodig om deze bestanden te ontcijferen om later te kunnen onderzoeken. De meeste populaire antivirusprogramma's hebben dit niet en nemen vaak deze virussen niet waar.
* Het voortdurende schrijven en verspreiden van virussen en van de paniek eromheen, maakt dat de verkopers van antivirussoftware baat hebben bij het bestaan van virussen.
* Sommige antivirussoftware vermindert de systeemprestaties aanzienlijk. Gebruikers schakelen vaak de antivirusbescherming uit om dit prestatieverlies tegen te gaan en lopen zo een verhoogd risico op infectie op. Voor maximale bescherming moet de software altijd ingeschakeld zijn, wat vaak tot tragere prestaties leidt (zie ook Software bloat). Sommige antivirussoftware hebben minder invloed op de prestaties.
* Het is soms nodig om de virusbescherming uit te schakelen bij het uitvoeren van belangrijke updates, zoals de Windows Service Packs, of het updaten van de stuurprogramma's van de grafische kaart. Ingeschakelde antivirussoftware kan er tijdens een belangrijke installatie voor zorgen dat de update niet correct verloopt of helemaal niet lukt. Het komt voor dat de virusbescherming bij het installeren van degelijke updates automatisch tijdelijk wordt uitgeschakeld. Dit komt onder andere voor bij Microsoft Security Essentials (in Windows 8 Windows Defender), het antivirusprogramma van Microsoft.

## Antivirussoftwarebedrijven

Enkele voorbeelden van bedrijven die antivirussoftware produceren en/of verkopen:
* Avira uit Duitsland
* AVAST Software uit Tsjechië, maker van avast!
* AVG Technologies makers van AVG Anti-virus uit Tsjechië
* BitDefender uit Roemenië
* Comodo Group uit de VS
* Computer Associates uit de VS
* eScan, gemaakt door MicroWorld uit India
* ESET makers van NOD32 uit Slowakije
* F-Secure uit Finland
* Kaspersky Lab uit Rusland
* McAfee uit de VS
* Microsoft, de makers van Microsoft Security Essentials
* Norton uit de VS
* Symantec makers van Norton AntiVirus/Symantec Antivirus
* Zone Labs de makers van ZoneAlarm

## Testorganisaties

Testorganisaties testen virusscanners en gerelateerde programma's. Voorbeelden hiervan zijn AV-Comparatives, AV-test.org, Virus Bulletin, ICSA Labs, West Coast Labs, GFI Software en EICAR.