# Antivirus

Un antivirus è un software finalizzato a prevenire, rilevare ed eventualmente rendere inoffensivi codici dannosi e malware per un computer come virus, adware, backdoor, BHO, dialer, fraudtool, hijacker, keylogger, LSP, rootkit, spyware, trojan, worm o ransomware.
Generalmente tale tipo di programma non è in grado di proteggere totalmente un computer da tutte le minacce informatiche esistenti - attacchi cibernetici, Advanced Persistent Threat (APT), botnet, DDoS attack, phishing, scam, social engineering o spam - e quindi la sicurezza è generalmente offerta da prodotti compositi e servizi offerti dalle aziende produttrici di software.

## Storia
### Gli studi di John Newman

I virus informatici furono teorizzati per la prima volta nel 1949 da John von Neumann il quale ipotizzò la creazione di programmi capaci di auto-replicarsi copiando il proprio codice. La prima apparizione di un software scritto con questo intento fu Creeper, creato da Bob Thomas presso la Bolt Beranek and Newman, un'azienda del Massachusetts - in seguito divenuta BBN Technologies - dove si svilupparono tecnologie per lo scambio di pacchetti di dati nelle reti di computer, riprese poi da Arpanet. Newman stava lavorando allo sviluppo di TENEX, un sistema operativo time-sharing che girava su PDP-10 ed ebbe l'idea di scrivere un codice capace di poter passare da un computer a un altro mentre era in esecuzione. Ray Tomlinson, un collega di Newman, elaborò il codice creando ciò che venne poi considerato il primo worm della storia: una versione che non era solo in grado di spostarsi da un sistema a un altro ma che riusciva a duplicarsi riproducendo copie di se stesso sui computer con i quali veniva in contatto. Questo portò al problema principale derivante da questo genere di software: come fermarne la diffusione. Perciò, parallelamente fu creato Reaper, scritto per il solo scopo di controllare se Creeper fosse in esecuzione su una determinata macchina ed eventualmente eliminarlo e divenendo difatti il primo programma antivirus della storia.

### I primi esperimenti

Il primo virus propriamente detto comparve nel 1982 e si trattava di un programma, Elk Cloner, scritto nel 1982 da Rich Skrenta per il sistema operativo Apple DOS del personal computer Apple II. Il virus si replicava infettando il settore di avvio dei floppy disk e veniva perciò caricato in memoria insieme al sistema operativo e ogni volta che l'utente chiedeva l'elenco dei file del disco, il virus si copiava sul disco in quel momento presente nel lettore.
Nel 1984 comparve poi la prima definizione del terminologia - virus per computer - in un documento scritto da Fred Cohen, dove lo descriveva come un programma che «colpisce gli altri programmi del computer modificandoli in modo da includere una copia (possibilmente evoluta) di se stesso».
Il primo virus per sistemi MS-DOS fu Brain, risalente al 1986 e noto anche come Pakistani Brain perché fu scritto da due fratelli pakistani. Non è chiaro se nacque come sistema anticopia o come virus vero e proprio ma sta di fatto che fu il primo virus a farsi conoscere a livello mondiale, tanto che per la sua diffusione fu definito «l'influenza pakistana» dalla rivista BusinessWeek. A Brain ne seguirono altri con una larga diffusione ma la loro relativa innocuità (in generale si limitavano a far apparire dei messaggi a video) non fece sentire la necessità di software capaci di contrastarli. Le cose cambiarono velocemente quando i virus iniziarono a compromettere i dati dei computer che colpivano. Nel 1987, l'hacker tedesco Bernd Fix scrisse un programma, che venne poi considerato il primo antivirus, per debellare il virus Vienna da un computer.
Sempre nel 1987, G Data rilasciò G Data AntiVirusKit, considerato il primo antivirus commerciale, scritto per sistemi Atari ST. Alla fine dello stesso anno esordì Ultimate Virus Killer (UVK) 2000, un altro antivirus per l'Atari ST,, McAfee VirusScan, scritto da John McAfee (che in seguito avrebbe fondato la McAfee), e NOD32, scritto da due programmatori slovacchi che, grazie al suo successo, in seguito avrebbero fondato la ESET.
Fred Cohen analizzò la proliferazione dei virus e la sempre più pressante necessità dei software antivirus arrivando a scrivere che «non c'è nessun algoritmo che può riconoscere perfettamente tutti i possibili virus per computer». Infatti, molti virus venivano derivati da altri cambiando piccole porzioni di codice per cui era fondamentale tenere aggiornato l'archivio delle firme dei virus ma ciò era molto difficoltoso in un periodo in cui lo scambio dei dati avveniva per mezzo di supporti come i floppy disk. Fu per questo che comparvero alcuni antivirus basati su una nuova tecnologia di analisi, l'euristica, i cui algoritmi di analisi lavoravano cercando di capire se un codice potesse essere ritenuto malevolo oppure no; in questo modo gli antivirus potevano identificare anche nuovi virus le cui firme non erano ancora presenti nei loro archivi. I primi antivirus euristici a comparire furono FluShot Plus di Ross Greenberg e Anti4us di Erwin Lanting, entrambi del 1987.

### I virus polimorfi e la nascita degli antivirus

Per controbattere a questo meccanismo di identificazione, gli autori dei virus iniziarono a scrivere virus polimorfi, capaci di mutare codice in modo da ingannare gli antivirus durante l'analisi. Ogni volta che il virus infettava un file, lo faceva con un codice leggermente differente dal suo e quindi ogni nuova copia era diversa. Il primo virus a basarsi su questa tecnica fu 1260, del 1990. Un famoso virus polimorfo fu Dark Avenger, il cui autore distribuì anche un software per creare virus polimorfi, denominato Dark Avenger Mutation Engine. Per identificare questa nuova categoria di virus, vennero ideati degli algoritmi euristici differenti come il F-Prot, del 1991.
Tra la fine degli anni ottanta e l'inizio degli anni novanta si ebbe la nascita di numerose società dedite esclusivamente allo sviluppo di antivirus che produssero software come Avira, del 1988, Avast, del 1988, Panda Antivirus, del 1990; Norton, del 1991, AVG e F-Secure, del 1992.

## Caratteristiche

Un antivirus da solo, per quanto affidabile ed efficiente, non è una protezione totale contro la totalità dei virus informatici esistenti al mondo. Inoltre, un antivirus si basa su determinate regole e algoritmi scritti da esseri umani, e pertanto queste possono portare a errori come i falsi positivi, ossia file riconosciuti come infetti quando non lo sono, e falsi negativi, il caso opposto, oppure a decisioni sbagliate. Dal punto di vista tecnico ci sono svariati metodi che si possono utilizzare per prevenire e individuare malware. Un'ulteriore limitazione è dovuta al fatto che un virus potrebbe essere ancora non abbastanza diffuso, e quindi non essere ancora stato studiato da tutti i produttori di antivirus.
In generale, questi metodi possono essere suddivisi in tecniche di analisi statica, che si basano esclusivamente sull'analisi di codice e dati dei file binari (quali: signatures, analisi telemetriche e data mining), e analisi dinamica (quali: sandbox e honeypot), che si basano sull'esecuzione dinamica di un file per capire se è maligno o meno. Tuttavia, queste ultime tecniche sono raramente utilizzate nei prodotti antivirus destinati agli utenti finali ma sono generalmente utilizzate solamente all'interno dei laboratori delle aziende produttrici di software antivirus, al fine di aiutare i ricercatori a studiare i campioni malware. Questo è per via dei forti limiti dell'analisi dinamica, quali un alto overhead e il fatto che non può "vedere" tutto ciò che riguarda il programma. Tuttavia, esistono alcuni prodotti antivirus che effettivamente implementano queste tecniche.

### Componenti

Un antivirus è composto da più parti differenti, alcune indipendenti tra di loro; alcuni software antivirus possono essere sprovvisti di una o di entrambe le parti 3 e 4, che sono quelle che lavorano "in tempo reale" e in questo caso, il database delle firme va aggiornato manualmente e l'antivirus non effettua controlli dinamici del sistema, per cui è possibile usarlo solo per effettuare scansioni su richiesta:
* il file (o i file) delle firme: un archivio che contiene tutte le firme dei virus conosciuti, parte fondamentale ed essenziale per il funzionamento corretto di qualsiasi altro componente;
* il file binario: file in grado di ricercare il virus all'interno dei file del PC infettato e permette di eseguire su richiesta una serie di operazioni come sapere in che data è stato aggiornato l'ultima volta il database delle firme o effettuare una scansione completa del sistema su richiesta;
* il file binario che viene caricato in memoria all'avvio del sistema e vi rimane in esecuzione fino a quando non si spegne il PC: questo componente richiama l'antivirus ogni qual volta viene creato/modificato un nuovo file o viene modificata una zona di memoria, per controllare che il computer non sia stato infettato con questa operazione;
* il file binario che effettua gli aggiornamenti del file delle firme e di tutte le altre componenti dell'antivirus e che può far parte del file binario principale o essere un programma separato, la cui esecuzione è pianificata periodicamente.

## Metodi di analisi
### Firme (signatures)

Il metodo delle signatures, ovvero delle firme, è fra quelli più utilizzati e, sostanzialmente, prevede il confronto del file da analizzare con un archivio in cui sono schedati tutti i malware conosciuti, o meglio le loro firme. L'efficienza di tale metodo si basa sulla completezza dell'archivio, diverso per ogni casa produttrice di software antivirus, e sulla velocità del software nell'eseguire il confronto tra il file e la firma, nonché sulla firma stessa. Una firma di un virus è una sequenza continua di byte che è comune per alcuni modelli di malware. Questo vuol dire che è contenuta all’interno del malware o di un file infetto e non nei file non danneggiati. Al giorno d’oggi, le firme non sono sufficienti per rilevare i file dannosi. I creatori dei malware utilizzano l’offuscazione, utilizzando diverse tecniche per coprire le loro tracce. Ecco perché i prodotti d’antivirus moderni devono utilizzare metodi di rilevamento più avanzati. I database degli antivirus contengono ancora firme (rappresentano oltre metà di tutte le voci del database), ma includono anche voci più sofisticate. L'archivio viene creato analizzando tutti i file presunti dannosi con cui si viene a contatto. Una volta trovato un file presunto dannoso, una casa produttrice di software antivirus, dovrà quindi analizzarlo e, eventualmente, aggiungere la firma di tale file al suo archivio.
Risulta abbastanza chiaro che tutte le vulnerabilità di un sistema operativo - sfruttate nel cosiddetto zero-day - e i malware non ancora scoperti, o semplicemente non ancora analizzati, non possono ovviamente far parte di un determinato archivio. Quindi, di fatto, questo metodo non può portare alla rilevazione totale di tutti i malware esistenti in quanto è presumibile che esisteranno sempre dei malware non ancora scoperti e/o analizzati. Neppure l'utilizzo incrociato di tutti i software antivirus esistenti al mondo potrebbe assicurare la completa inattaccabilità di un computer.
Tuttavia, nonostante questo, il metodo delle signatures rimane uno dei metodi più efficienti e consolidati nell'industria del settore. Questo anche perché non tutti i malware si diffondono con la stessa rapidità e con la stessa intensità. Più un malware è infettivo, infatti, e più è probabile che sia arrivato nelle mani dei ricercatori delle aziende produttrici di software antivirus. Quindi, sebbene il metodo utilizzato non garantisca l'assoluta inviolabilità, garantisce comunque una sicurezza abbastanza elevata dai malware più diffusi. Inoltre, bisogna anche considerare che molti dei malware esistenti non sono più in corso di diffusione, la cui esistenza è limitata ai centri di ricerca antimalware, che li usano per i test interni. Infine, uno dei punti chiave per cui il metodo è ancora quello più utilizzato è il fatto che, se correttamente implementato, garantisce un numero esiguo (teoricamente nullo) di falsi positivi, dipendente da come si estrae la firma in quanto se la firma identifica univocamente il malware analizzato (e.g. hash MD5 dell'intero file), questa stessa firma non potrà mai portare a un falso positivo.
Tuttavia, le aziende produttrici di software antivirus, per migliorare i loro prodotti al fine di rilevare anche programmi maligni non noti all'antivirus, cioè non ancora contenuti nel loro database dei malware, tendono a prendere solamente firme parziali dei malware. In generale, infatti, la signature estratta è rappresentata da un numero variabile (generalmente almeno tre) di sequenze di byte non consecutivi che rappresentano univocamente (con la migliore precisione possibile) il malware. In questo modo non solo diventa possibile la rilevazione di alcuni malware che non fanno ancora parte del database dell'antivirus, ma diventa anche più compatto il database stesso, con il conseguente aumento di velocità dell'antivirus nella scansione. Altri tipi di tecniche utilizzate per estrarre firme parziali sono i cosiddetti wildcards e le espressioni regolari.

### Tecnologie euristiche

La tecnologia euristica è un componente implementato da alcuni antivirus che consente di rilevare alcuni programmi maligni non noti all'antivirus, cioè non contenuti nel suo database dei malware. Viene generalmente utilizzata come tecnologia complementare al metodo delle firme. Vi sono diversi tipi di tecnologie euristiche, quali ad esempio la scansione della memoria o del codice sorgente in cerca di pattern noti come maligni. Altri metodi possono essere il controllo su sezioni con nomi sospetti o con grandezza dell'header irregolare.
Questa tecnologia non sempre è presente all'interno di un antivirus e non sempre garantisce buoni risultati. Infatti, in base a come viene implementata, se impostata ad un livello troppo sensibile, può portare a un maggior numero di falsi positivi e/o di falsi negativi. Allo stesso modo, se impostata ad un livello troppo permissivo, può rivelarsi pressoché inutile. Agli albori, una delle tecniche euristiche più utilizzate riguardava la divisione del file binario in diverse sezioni, come ad esempio la sezione di dati e quella di codice.
Infatti, un file binario legittimo inizia solitamente sempre dalla stessa posizione. I primi virus, invece, riorganizzavano la disposizione delle sezioni, o sovrascrivevano la parte iniziale della sezione per saltare alla fine del file in cui si trovava il codice malevolo. Infine ri-saltavano all'inizio del file per riprendere l'esecuzione del codice originale. Questo, ovviamente, è un pattern ben preciso, che non era utilizzato da software legittimi, e che quindi rappresentava una buona euristica per la rilevazione di file sospetti.

### Analisi telemetriche

Poiché le aziende produttrici di software antivirus hanno molti clienti sparsi in tutto il mondo, al giorno d'oggi, ci sono un sacco di informazioni di telemetria che possono essere usate. Anzi, la maggior parte degli antivirus hanno sensori che salvano remotamente alcune informazioni che possono essere utilizzate per decidere, o per aiutare a decidere, se un binario osservato da un determinato cliente in una determinata posizione geografica è maligno o meno.

### Data mining

Uno dei più recenti metodi per la rilevazione di malware consiste nell'utilizzo di avanzati algoritmi di data mining. Questi algoritmi utilizzano caratteristiche dei file, estratte direttamente dai file binari, per classificare un eseguibile come malevolo o no.

### Sandbox

Alcuni antivirus eseguono i file ritenuti sospetti in una sandbox, ovvero un ambiente di prova chiuso, e tramite l'analisi del loro comportamento capiscono se contengono codice malevolo o meno. Questo metodo, se basato su buoni algoritmi, può essere molto preciso. Ovviamente, però, l'esecuzione all'interno di una sandbox richiede prestazioni e tempi di esecuzione più elevati rispetto ad un metodo basato sulle signatures. Generalmente metodi di analisi dinamica, come quello delle sandbox, sono usati dalle aziende produttrici di software antivirus al fine di analizzare i virus ricevuti ed estrarre automaticamente le firme.

## Funzionamento

Uno dei principali metodi di funzionamento degli antivirus si basa sulla ricerca nella memoria RAM e/o all'interno dei file presenti in un computer di uno schema tipico di ogni virus: in pratica ogni virus è composto da un numero ben preciso di istruzioni, detto codice, che possono essere viste come una stringa di byte, e il programma non fa altro che cercare se questa sequenza è presente all'interno dei file o in memoria. Uno schema di questo tipo viene anche detto virus signature. Il successo di questa tecnica di ricerca si basa sul costante aggiornamento degli schemi che l'antivirus è in grado di riconoscere, aggiornamento effettuato solitamente da un gruppo di persone in seguito alle segnalazioni degli utenti e da gruppi specializzati nell'individuazione di nuovi virus. A sua volta il software antivirus domestico/d'ufficio viene periodicamente aggiornato scaricando dalla Rete i nuovi schemi di virus.
Antivirus con tecnologie euristiche tendono a prendere firme parziali dei virus, in modo da poter identificare anche virus non ancora nel loro database. Un'altra tecnica di riconoscimento consiste nell'analizzare il comportamento dei vari programmi alla ricerca di istruzioni sospette perché tipiche del comportamento dei virus (come la ricerca di file o routine di inserimento all'interno di un altro file) o nel ricercare piccole varianti di virus già conosciuti (variando una o più istruzioni è possibile ottenere lo stesso risultato con un programma leggermente differente).
In antivirus con tecnologie di analisi Real-Time, ogni file a cui l'utente o il sistema fanno accesso viene analizzato per verificare che non abbia una struttura sospetta o contenga istruzioni potenzialmente pericolose. In antivirus che utilizzano analisi comportamentali, ogni processo eseguito nel computer viene monitorato e si segnalano all'utente le azioni potenzialmente pericolose, come gli accessi al registro di sistema dei sistemi Windows o le comunicazioni con altri processi.
Una delle funzionalità aggiuntive dei software antivirus è la possibilità di aggiornamenti automatici per mezzo dei quali software cerca, scarica e installa gli aggiornamenti non appena è disponibile una connessione internet. Gli aggiornamenti possono riguardare le firme di autenticazione dei virus e/o anche i motori di scansione e i motori euristici (funzionalità non sempre resa disponibile). Il primo software AntiVirus a introdurre gli aggiornamenti automatici Live-Update è stato Norton Antivirus della Symantec.
La protezione del sistema può poi essere integrata con un firewall il quale permette di bloccare virus, anche non conosciuti, prima che questi entrino all'interno del computer, e volendo permette anche di bloccare all'interno alcuni virus presenti nel computer evitando così che possano infettare la rete cui si è collegati. Un firewall quindi può essere uno strumento aggiuntivo che impedisce a un virus di infettare la macchina prima che venga individuato dall'antivirus (con possibile perdita del file infetto). Inoltre permette di nascondere parzialmente o totalmente la macchina sulla rete evitando attacchi da parte di cracker o degli stessi virus.

## Diffusione del contagio

Con l'avvento di internet l'antivirus è diventato uno strumento quasi indispensabile e quasi esclusivo solo per quanto riguarda i sistemi operativi della Microsoft, mentre gli altri sistemi risultano meno attaccati da virus; per questo motivo la maggior parte degli antivirus è realizzata per i sistemi operativi Microsoft. Negli ultimi anni sono stati prodotti antivirus anche per altri sistemi, di solito usati come server, per poter controllare il flusso di dati, soprattutto e-mail, che poi finiranno sui computer desktop degli utenti che usano prodotti Microsoft.
Con altri sistemi operativi basati Linux e Mac OS, la diffusione dei virus è molto più ostacolata soprattutto dalla diversa politica gestionale; i programmi utenti hanno attività più strettamente specificate e soprattutto con privilegi molto ridotti, così sono molto difficili le attività dei virus, e sono altrettanto limitati i danni che da questi potrebbero scaturire nell'esecuzione; risulta quindi molto difficile causare una compromissione del sistema operativo, come invece accade spesso nei sistemi Microsoft.I programmi che maggiormente permettono la diffusione dei virus sono i client di posta elettronica e i browser, questo perché questi due programmi rappresentano l'accesso diretto a due funzionalità indispensabili in internet: la posta e la navigazione web; un'altra tipologia di software molto colpito è quella costituita dai file di dati ricavati con il pacchetto Office della Microsoft; con questa suite è possibile creare all'interno dei file delle istruzioni (dette macro) che eseguono determinate funzionalità - in modo automatico o in seguito alla pressione di una determinata combinazione di tasti - che è possibile sfruttare per allegare ai file delle macro che sono in realtà dei virus.
In generale i virus sfruttano le vulnerabilità nei sistemi informatici, usando a volte - in modo automatico - tecniche di penetrazione sviluppate dai cracker. Diverse organizzazioni, oltre ai produttori di software antivirus, si occupano di raccogliere le segnalazioni di vulnerabilità o attacchi, e renderle pubblicamente disponibili; tali organizzazioni sono normalmente note con l'acronimo di CERT ("Computer Emergency Response Team", squadra di risposta alle emergenze informatiche).

### Client di posta

Tra i client di posta spicca l'uso di Outlook Express, preinstallato, nella versione base, su tutti i sistemi operativi Microsoft; naturalmente anche altri client di posta, se funzionanti su sistema Microsoft, non sono immuni o totalmente immuni dall'essere un veicolo usato dai virus. Outlook Express unito all'inesperienza dell'utente, è forse la prima forma di diffusione di alcuni tipi di malware. Outlook Express per default memorizza tutti gli indirizzi E-Mail dai contatti prelevati in modo automatico da tutte le mail ricevute o spedite, questo fa sì che se un utente si iscrive, per esempio, ad una mailing list può alla fine avere un insieme di indirizzi di dimensioni considerevoli; questa base di dati viene sfruttata dai virus per spedire delle mail e per cercare di espandere l'infezione.
I virus di ultima generazione sfruttano questi elenchi di indirizzi per nascondere il vero mittente, prendendo a caso due indirizzi, uno da usare come destinatario e l'altro da far risultare come mittente. Il problema di base è dovuto all'utente che apre ed esegue gli allegati anche di mail che sono palesemente portatrici di virus, ma anche i buchi presenti in questi software hanno la loro parte. Per esempio, Outlook Express ha sofferto di svariati buchi molto critici che permettevano l'esecuzione del virus appena la mail era ricevuta all'interno del proprio client (quindi senza aprirla) o appena la si apriva (nella firma è possibile inserire delle istruzioni, istruzioni usate per attivare il virus). La prima causa di diffusione dei virus tramite i client di posta è l'esecuzione degli allegati e qui non esiste un client di posta che possa impedire la diffusione del virus se l'antivirus non riesce ad intercettarlo prima.

### Browser

Anche i browser possono essere un veicolo per l'infezione, basta che vi sia un buco di sicurezza (vulnerabilità) sfruttato da un sito WEB che si visita. Come per i client di posta si ha che su tutti i sistemi operativi di Microsoft l'utente si trova installato Internet Explorer e, anche a causa della sua diffusione, risulta proprio questo browser il più soggetto a questi tipi di attacchi, tanto che ultimamente è stato consigliato da più fonti di usare altri browser soprattutto se si fanno delle transazioni a rischio (per esempio se si accede al proprio conto corrente).

### Client IRC e IM

I clienti dei sistemi di messaggistica immediata posseggono la capacità di inviare e ricevere file ed inoltre spesso sono dotati di un linguaggio di scripting che è stato spesso sfruttato per diffondere virus, backdoor e dialer.
L'uso di questi programmi deve tenere in gran conto che l'utente che offre un file non corrisponde sempre necessariamente ad una persona reale, dal momento che molti virus si diffondono automaticamente. È consigliabile rifiutare gli invii a meno che non si abbia effettivamente richiesto o si desideri qualcosa da un utente conosciuto e non si abbia la protezione di un antivirus che effettua l'esame dei file, anche compressi, in tempo reale.

## Controversie

Si discute se i software antivirus siano o meno utili. Nel 2012, Imperva, una società di sicurezza informatica, ha pubblicato uno studio nel quale sosteneva che meno del 5% delle soluzioni antivirus erano in grado di rilevare virus precedentemente non catalogati. Questo studio è stato ampiamente criticato non solo da quasi tutte le società produttrici di software antivirus, ma anche dalla maggior parte delle altre compagnie che lavorano nel mondo della sicurezza informatica. La principale critica è legata alle dimensioni del campione di studio. Infatti, il test ha utilizzato solamente 84 campioni su i milioni di malware esistenti per Windows.
Un'altra critica ha riguardato il fatto che lo studio è stato effettuato utilizzando i report di VirusTotal piuttosto che i reali prodotti e, come la stessa VirusTotal ha precisato: «Il servizio non è stato progettato come strumento per eseguire analisi comparative antivirus, ma come uno strumento che controlla campioni sospetti con diverse soluzioni antivirus e aiuta i laboratori antivirus inoltrandogli malware che non riescono a rilevare. Coloro che usano VirusTotal per eseguire analisi comparative antivirus dovrebbero sapere che stanno facendo molti errori impliciti nella loro metodologia, l'essere più ovvio...». Questo è principalmente dovuto al fatto che le compagnie produttrici di software antivirus non forniscono a VirusTotal le esatte configurazioni dei prodotti reali. Inoltre, VirusTotal non esegue i malware con i prodotti già installati. Questo significa che tutte le tecnologie euristiche e comportamentali e la scansione della memoria non sono utilizzate. E così i risultati del rilevamento sono scarsi rispetto ai prodotti completi. Un altro aspetto che è stato criticato è stata la "rilevanza" dei campioni. Infatti, il set di campioni dovrebbe includere solo campioni che sono stati verificati infettivi. Valutare la protezione degli antivirus utilizzando campioni di prova che non rappresentano alcun pericolo non ha alcun senso. Per questa, e altre ragioni, la Anti-Malware Testing Standards Organization (AMTSO) fornisce linee guida per il testing di prodotti AntiMalware.
Nel 2017, il computer di un consulente della National Security Agency è stato violato attraverso l'antivirus, regolarmente installato ed aggiornato. Si è ipotizzato che la singola installazione sia stata manipolata da un operatore della casa madre del software, in modo tale da permettere l'attacco da parte di un soggetto remoto, considerato che la società ha fornito il codice del programma alle autorità governative e che queste non hanno rilevato la presenza di backdoor. Uno dei fattori di rischio è il fatto che gli antivirus sono programmi a sorgente chiuso e proprietario, tali che sottraggono al singolo acquirente il pieno controllo della propria macchina, per cederne le chiavi di accesso a uno più soggetti terzi.

### Virus Bulletin VB100

Il VB100 è un premio dato da Virus Bulletin e rappresenta uno dei più famosi riconoscimenti per i software AntiVirus. Stando a quanto pubblicato da Virus Bulletin le uniche società di cui almeno uno dei loro prodotti è stato iscritto al test per almeno tre volte e ha sempre ottenuto il VB100 per la categoria di Windows 7 sono:
* Avira
* BullGuard
* ESET
* Frisk
* G Data
* Kaspersky
* F-Secure
* Panda Security
* Sophos
Curiosamente, non è mai esistito un antivirus che non abbia fallito il test almeno una volta nella categoria di Windows XP.
Per le categorie di Red Hat Enterprise Linux e di Ubuntu Linux Server Edition, invece, le società sono:
* Avira
* Panda Security
* Sophos

### Questioni giuridiche

Una delle principali battaglie e delle lamentele dell'industria degli antivirus è quella relativa alla creazione di una regolamentazione unificata e globale, una base di regole comuni per contrastare legalmente i crimini informatici. Infatti, ancora oggi, anche se una società produttrice di antivirus dovesse riuscire a scoprire chi è il criminale informatico dietro alla creazione di un particolare virus o di un malware, spesso le autorità locali non possono comunque agire. Questo è principalmente dovuto al fatto che praticamente ogni stato ha una sua propria regolamentazione, differente da quella degli altri stati.
«[I virus informatici] passano da un paese a un altro, da una giurisdizione all'altra – si spostano in tutto il mondo, sfruttando il fatto che non siamo in grado di eseguire globalmente operazioni di polizia come questa. Quindi Internet è come se qualcuno [avesse] dato biglietti aerei gratuiti a tutti i criminali online del mondo.» (Mikko Hyppönen)
La Commissione europea ha deciso di fondare l'EC3 (European Cybercrime Centre) il quale è attivo dal primo gennaio 2013 e si focalizza nella lotta della UE contro i crimini informatici.

## Organizzazioni di ricerca antivirus

* Anti-Malware Testing Standards Organization
* AVAR (Association of antiVirus Asia Researchers)
* CARO (Computer Antivirus Research Organization)
* EICAR (European Institute for Computer Antivirus Research)