Esiste una 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).
Parti che compongono l'antivirus.
Con il termine antivirus in realtà si intendono più parti differenti, alcune indipendenti tra di loro:
1. 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.
2. Il binario in grado di ricercare il virus all'interno dell'elaboratore. Questo componente è l'antivirus vero e proprio.
3. 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.
4. 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. 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.
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.
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.
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, tra cui ZoneAlarm (Funzionalità "OSFirewall"), Kaspersky ("Difesa Proattiva"), BitDefender ("Protezione Proattiva B-HAVE"), Comodo Internet Security ("Defense+") ecc...
* 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.
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.
Antivirus e sistemi operativi.
Con l'avvento di internet l'antivirus è diventato uno strumento quasi indispensabile per i sistemi operativi rilasciati da Microsoft, mentre altri sistemi risultano quasi immuni da virus; per questo motivo la maggior parte degli antivirus è realizzata per quel sistema operativo. 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.
La causa di una così alta diffusione dei virus su questa piattaforma è dovuta principalmente alla sua diffusione, sia per la più facile proliferazione, sia perché chi vuole creare un virus tende a farlo per il sistema operativo più diffuso[senza fonte]. Inoltre alcuni sistemi operativi non Microsoft sono visti dalla maggior parte degli utenti come più difficili da usare e quindi tendono ad essere usati da utenti più esperti con maggiore dimestichezza nell'affrontare i possibili problemi.
È vero che sui sistemi operativi derivati da UNIX, come Linux o Mac OS, la diffusione dei virus è in linea teorica molto più ostacolata soprattutto dalla gestione delle utenze che tende a far eseguire programmi da utenti con pochi privilegi, limitando dunque i danni che potrebbero scaturire dall'esecuzione di un codice malevolo; risulta quindi molto più difficile che questa operazione causi una compromissione del sistema operativo come invece accade spesso nei sistemi Microsoft.
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).
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 si 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.
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.
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 eseguibilieseguibili 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.
Leggi il contenuto originale su Software Free & Open Source