Antivirus
Un antivirus è un software atto a rilevare ed eliminare virus informatici o altri programmi dannosi (malware) come worm, trojan e dialer.
[modifica] 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 (codice) che possono essere viste come una stringa di byte, il programma non fa altro che cercare se questa sequenza è presente all'interno dei file o in memoria). Uno schema viene anche detto "firma del virus". 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.
Esiste anche un'altra tecnica di riconoscimento detta "ricerca euristica" che 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 ricercare piccole varianti di virus già conosciuti (variando una o più istruzioni è possibile ottenere lo stesso risultato con un programma leggermente differente).
[modifica] Parti che compongono l'antivirus
Con il termine antivirus in realtà si intendono più parti differenti, alcune indipendenti tra di loro:
- il file (o i file) delle firme: file che contiene tutte le firme dei virus conosciuti. Questa parte è fondamentale ed essenziale per il funzionamento corretto di qualsiasi altro componente
- il binario in grado di ricercare il virus all'interno dell'elaboratore. Questo componente è l'antivirus vero e proprio
- il binario che rimane residente e 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 binario che effettua gli update (aggiornamento) del file delle firme e di tutti i binari dell'antivirus
Nota: alcuni software antivirus possono essere sprovvisti di una o di entrambe le parti 3 e 4
[modifica] Limiti di un antivirus
Bisogna ricordare che l'antivirus è in grado di eliminare prima di tutto soltanto i virus che riconosce, quindi tutti i nuovi virus (per nuovi si intende sia virus che il proprio antivirus non riconosce, sia quelli che non sono ancora stati scoperti) possono passare completamente inosservati ed agire senza che l'antivirus intervenga. Inoltre l'antivirus riesce ad intercettare il virus soltanto quando questo è entrato all'interno del computer e quindi ha già infettato un file o la memoria; a questo punto, a seconda del virus, può "disinfettare" il file o la memoria eliminando completamente il virus o in alcuni casi è costretto a mettere in "quarantena" il file contagiato ed eliminarlo per l'impossibilità di recuperare il file originario.
Occorre aggiornare continuamente il proprio antivirus per evitare che malware già riconosciuti (cioè già immessi nella lista del database online del software) non siano riconosciuti e quindi possano infettare il proprio PC.
L'antivirus inoltre è un grande utilizzatore delle risorse del computer e se viene avviato in background ogni volta che viene acceso il computer può comportare un forte rallentamento soprattutto nelle fasi iniziali (perché controlla prima tutta la memoria e poi tutti i file, che rientrano nella ricerca selezionata durante la fase configurazione, su disco); tale rallentamento è presente anche in tutte le fasi in cui si scrive su disco, benché ciò possa risultare più trascurabile. Per tali motivi l'antivirus accelera l'obsolescenza del proprio computer, creando la necessità di aggiornarne alcune parti o prenderne uno nuovo per ottenere delle prestazioni che siano accettabili per l'utente.
La scelta di un antivirus è una cosa molto complessa, anche perché antivirus diversi possono riuscire a rintracciare e quindi a controllare i nuovi virus prima di altri.
La scoperta di un nuovo virus dipende molto da quanto è "infettivo": più un virus si propaga velocemente, più veloce e semplice risulta essere la sua identificazione e quindi l'aggiornamento delle firme; se invece il virus tende ad essere molto poco "infettivo" ed a rimanere localizzato soltanto in una certa area, può passare molto tempo prima che venga intercettato e aggiunto alle firme.
Succede più volte che un antivirus consideri dei file o programmi come virali anche se in realtà non lo siano (falso positivo). Questo è dovuto al fatto che un insieme di istruzioni che compongono un virus (o una sua parte) può essere presente anche in programmi e file "normali" o possono essere ottenuti come combinazione casuale in un file di dati salvati non in formato testo. Il problema principale è che si può non riuscire ad eseguire questo programma od aprire il file rilevato come infetto se prima non si disabilita l'antivirus, sempre che l'antivirus non lo abbia cancellato o rovinato in modo irreparabile nel frattempo.
Ci sono numerosi metodi per criptare e compattare un codice malware rendendolo così non rintracciabile da un antivirus; su questo fronte molti antivirus non sono attrezzati e riescono a fare ben poco, ma anche gli altri possono non essere in grado di rilevare un file infetto se non quando questo entra in esecuzione: il virus viene scompattato in RAM per essere eseguito e solo in questo momento l'antivirus sarà in grado di rintracciarlo.
Infine le compagnie che creano i software antivirus possono avere un incentivo finanziario molto forte a far sì che nuovi virus vengano creati continuamente e che il panico nel pubblico generi un continuo ricorso all'aggiornamento dei loro software. Questa è una delle accuse avanzate da varie parti ai produttori di antivirus, benché in realtà non vi sia attualmente alcuna prova che convalidi tale tesi.
[modifica] Tecnologia euristica
La tecnologia euristica è un componente di alcuni antivirus che consente di rilevare alcuni programmi maligni non noti all'antivirus, cioè non contenuti nel suo database dei malware.
Questa tecnologia non sempre è presente all'interno di un antivirus e non sempre garantisce buoni risultati.
[modifica] Modi per implementare la tecnologia euristica
La tecnologia euristica può essere implementata in più modi, anche operanti in contemporanea. I metodi più utilizzati sono, in ordine crescente di efficacia:
- Analisi dei file: 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. Se impostata ad un livello troppo sensibile, questo tipo di euristica può causare riconoscimenti errati di file "puliti" come pericolosi ("falsi positivi"). Allo stesso modo se impostata ad un livello troppo permissivo può rivelarsi pressoché inutile. Questo approccio è utilizzato praticamente da tutti gli antivirus moderni.
- Analisi comportamentale: Ogni processo eseguito nel computer viene monitorato e si segnalano all'utente le azioni potenzialmente pericolose, come gli accessi al registro di sistema dei computer Windows o le comunicazioni con altri processi. Questo approccio è utilizzato da vari antivirus e firewall.
- Sand-Box: Gli antivirus che utilizzano questa tecnica eseguono ogni processo del computer all'interno di un'area protetta, chiamata Sand-Box, e monitorano il comportamento del programma: se non vengono effettuate azioni pericolose il processo viene eseguito sulla macchina fisica, altrimenti il processo viene terminato e il relativo file eliminato o messo in quarantena. Questo approccio viene utilizzato da pochi antivirus in quanto degrada molto le prestazioni del computer ma garantisce i risultati migliori.
[modifica] Il firewall: ulteriore protezione contro i virus
Per quello che si è detto si capisce che per avere un sistema sicuro l'antivirus non è affatto sufficiente, occorre una protezione ulteriore: il firewall. Un firewall permette, se ben configurato ed usato correttamente, di bloccare i virus, anche se non conosciuti, prima che questi entrino all'interno del proprio computer e volendo permette anche di bloccare all'interno alcuni virus presenti nel proprio computer evitando così che essi possano infettare la rete a cui si è collegati. Un firewall quindi può essere uno strumento aggiuntivo che impedisce ad un virus di infettare la macchina prima che possa essere individuato dall'antivirus (con la possibile perdita del file infetto). Inoltre permette di nascondere parzialmente o totalmente la macchina sulla rete evitando attacchi dei cracker o degli stessi virus.
[modifica] Aggiornamenti automatici Live-Update
Una delle funzionalità aggiuntive dei software AntiVirus, che ultimamente sta prendendo sempre più piede, è il modulo degli aggiornamenti automatici Live-Update. Con tale modulo il software AntiVirus si aggiornerà automaticamente non appena sia 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 rilasciata). Il primo software AntiVirus ad introdurre gli aggiornamenti automatici Live-Update è stato Norton Antivirus della Symantec.
[modifica] Antivirus e Sistemi Operativi
Con l'avvento di internet l'antivirus è diventato uno strumento quasi indispensabile e quasi esclusivo per i sistemi operativi rilasciati da Microsoft, mentre gli altri sistemi risultano quasi immuni 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 attivita 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.
[modifica] Antivirus e programmi
I programmi che maggiormente permettono la diffusione dei virus sono i client di posta elettronica ed i browser, questo perché questi due programmi sono l'accesso diretto a due funzionalità indispensabili in internet: la posta e la navigazione web.
Un'altra tipologia di software informatico molto colpito dai virus è quella composta dai file di dati ricavati con Microsoft Office. Con questa suite è possibile creare all'interno dei file delle istruzioni (macro) che eseguono date funzionalità in modo automatico o sulla pressione di una determinata combinazione di tasti. Molti virus writer sfruttano questa potenzialità per allegare delle macro che sono in realtà dei virus.
In generale i virus sfruttano delle 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).
[modifica] 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, per esempio, 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.
[modifica] 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[1] soprattutto se si fanno delle transazioni a rischio (per esempio se si accede al proprio conto corrente).
[modifica] 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.
[modifica] Possibile strategia per limitare al minimo i rischi di contagio
La strategia che si può suggerire può essere suddivisa nei seguenti punti:
- informarsi su cosa è un virus, un antivirus ed un firewall; consultare vari manuali reperibili anche on-line per capire abbastanza a fondo il problema
- informarsi su come funziona il proprio sistema operativo, il proprio client di posta ed il proprio browser in caso di "attacco" di virus, per poter capire quali sono le operazioni che permettono di limitare al minimo i rischi di contagio
- quando si naviga in internet evitare di scaricare file eseguibili e soprattutto di eseguirli senza avere la certezza assoluta che la fonte sia attendibile. Se l'antivirus dichiara che non ha rilevato nessun virus sul binario scaricato, questo non vuol dire che non è contagiato, ma semplicemente che l'antivirus non ne ha rilevato nessuno: infatti potrebbe contenere un nuovo virus o magari il vostro antivirus non è aggiornato
- quando si naviga su internet evitare di scaricare add-on ai propri programmi di navigazione se non si è più che sicuri della fonte
- quando si naviga in internet evitare di andare su siti che soprattutto offrono gratis cose che in realtà sono a pagamento, perché molte volte queste pagine cercano di sfruttare buchi presenti nel proprio browser per: installarvi un virus, reperire informazioni salvate sul vostro PC (esempio la carta di pagamento se fate acquisti on-line) o semplicemente permettere al cracker che ha costruito quel sito di prendere possesso da remoto del vostro computer
- quando si riceve una e-mail da uno sconosciuto, soprattutto se ha un allegato, è sempre meglio eliminarla e mai aprire l'allegato od eseguirlo; se la mail arriva da un vostro conoscente ed ha un allegato non previsto o inaspettato magari chiedere conferma se l'ha spedito effettivamente lui
- quando si ricevono mail con file eseguibili, magari spedite da un proprio conoscente, conviene sempre evitare di eseguirli. È meglio perdersi un filmato od un giochino divertente che vedere il proprio computer compromesso e doverlo reinstallare o far reinstallare da zero, magari perdendo tutti i lavori in esso contenuti
- quando si spediscono e-mail evitare di includere messaggi in formato ms-office, ma spedirli in formato testo o altro formato non contenente macro; richiedere che anche i propri conoscenti facciano lo stesso quando spediscono delle mail a voi
- abilitare, in ms-office, la richiesta per l'esecuzione delle macro; in questo modo sarà possibile sapere se il file contiene delle macro ed impedirne l'esecuzione.
- evitare di eseguire programmi non originali o per cui non è possibile controllarne la non compromissione (per esempio per tutti i file è possibile associare vari codici di protezione che permettono di identificare se il pacchetto è stato modificato da altri. Il più semplice di questi è l'MD5)
- informarsi di quali sono i prodotti che nella storia recente hanno mostrato maggiori falle e permesso un più semplice contagio da parte degli ultimi virus e se possibile sostituirli all'interno del proprio elaboratore con programmi simili, ma che risultano più sicuri
- controllare costantemente gli aggiornamenti di sicurezza per tutti i prodotti che si affacciano direttamente alla rete (sistema operativo, browser, client di posta, client irc, ...)
- mantenere sempre aggiornati antivirus, firewall ed altri programmi per la sicurezza.
[modifica] Elenco di programmi antivirus
[modifica] Compagnie produttrici di prodotti antivirus
- Questa lista è soggetta a frequenti variazioni e potrebbe non essere aggiornata.
- AVAST Software - avast!
- AVG - AVG AntiVirus
- Avira - Avira Antivirus
- aVtomic
- BullGuard - BullGuard Antivirus
- ClamAV
- Comodo - Comodo Antivirus
- Computer Associates (CA)
- Emsisoft Anti-Malware
- Eset - NOD32
- Frisk Software
- F-Secure
- G Data Software AG
- GeCAD
- Grisoft - AVG
- Hauri
- H+BEDV
- Kaspersky
- McAfee
- Microsoft - Microsoft Security Essentials
- Mks
- Norman
- Panda Software - Panda (antivirus)
- PC Tools
- Quick Heal
- SafeNet - eSafe, Aladdin Knowledge Systems
- SOFTWIN - BitDefender
- SOIM Srl - aVtomic AntiVirus
- Sophos
- Symantec - Norton Antivirus
- TG Soft - VirIT eXplorer
- Trend Micro
- Vipre
- VirusBlokAda - VBA32 ANTI-VIRUS
- ZoneAlarm - ZoneAlarm AntiVirus
[modifica] Organizzazioni che forniscono test
Queste organizzazioni pubblicano test comparativi tra i più diffusi e conosciuti software antivirus.
Alcune consentono la scansione di virus e programmi correlati. Esse hanno diversi livelli che indicano la protezione che il software installato fornisce al sistema.
- Questa lista è soggetta a frequenti variazioni e potrebbe non essere aggiornata.
[modifica] Note
[modifica] Altri progetti
Wikimedia Commons contiene file multimediali su Antivirus
[modifica] Collegamenti esterni
- centro di coordinazione CERT di Carnegie Mellon
- eicar - Istituto Europeo per la ricerca degli Antivirus per Computer
|
|