Antivirus e antimalware: cosa sono, come funzionano, come sceglierli

Come funzionano gli antivirus? E soprattutto, quanto servono? Gli antivirus rappresentano la prima linea di difesa dei nostri computer. Capire quello che fanno è utile anche per comprenderne i limiti e per scegliere quello più adatto alle proprie esigenze.

I primi antivirus commerciali risalgono al 1987, la prima a proporli fu l’azienda tedesca G Data e successivamente John McAfee. In quegli anni Internet quasi non esisteva (o era agli albori) e nella maggior parte dei casi i virus erano veicolati attraverso i floppy disk, che in quei tempi rappresentavano il principale mezzo per lo scambio dei dati.

Negli anni successivi, con l’evoluzione dell’informatica e soprattutto con la diffusione di Internet, sia i virus sia gli antivirus si sono enormemente evoluti.

Ma fin da allora fu subito chiaro che sarebbe stato impossibile per qualsiasi antivirus riuscire a riconoscere tutti i possibili virus che continuamente nascevano e si modificavano.

Oggi il termine antivirus è spesso sostituito da quello di antimalware, che è sostanzialmente un suo sinonimo in quanto il termine malware (crasi delle parole “malicious software”) include in modo estensivo qualunque tipo di software dannoso, tra cui anche i virus.

Antivirus e antimalware sono in pratica software finalizzati alla rilevazione e alla successiva eliminazione dei vari tipi di codici malevoli.

Come funzionano gli antivirus

I primi antivirus eseguivano un controllo sostanzialmente “meccanico” basato sul controllo della firma dei virus (si definiscono appunto “signature-based”). La “signature” (firma) viene generata attraverso un algoritmo di hash e, per la sua univocità, è paragonabile ad un’impronta digitale che individua in modo univoco un file. Si parla infatti di “fingerprint”.

Con questo funzionamento erano in grado di rilevare i virus noti, perché già presenti nel loro database delle definizioni dei virus, ma non potevano intercettare i nuovi attacchi, perché non ancora classificati.

Ogni nuovo virus deve essere prima individuato e analizzato al fine di determinarne la firma e quindi aggiunto all’elenco dei virus noti. Gli aggiornamenti dei database vengono inviati agli utenti, con una frequenza che – a seconda del fornitore – può essere giornaliera o addirittura di più volte al giorno.

Questa metodologia di rilevazione è inevitabilmente in ritardo, perché ci sarà sempre una finestra temporale (magari anche di un solo giorno…) entro la quale l’antivirus non sarà in grado di riconoscere il malware.

Questo problema è ulteriormente aggravato dal fenomeno del polimorfismo, ampiamente utilizzato dagli attaccanti. A questi non occorre costruire un malware ex novo, basta modificare la firma di quello esistente. Un malware polimorfo è in grado di cifrare la propria firma ogni volta in un modo diverso, così da risultare diverso in ogni attacco.

A causa del polimorfismo, l’efficacia degli antivirus si riduce in misura importante: secondo uno studio di Malwarebytes (2017) un antivirus tradizionale non riesce a proteggere l’utente in circa il 40% degli attacchi malware.

L’analisi euristica

 Nel caso degli antivirus, l’euristica è una funzionalità da utilizzare in aggiunta a quella basata sulle firme virali, allo scopo di riuscire ad individuare agenti malevoli (malware) non noti o solo parzialmente noti. 

L’analisi euristica utilizzata dagli antivirus consente di effettuare una scansione di un file eseguibile per analizzarne la struttura, il comportamento e gli attributi.

Con questa modalità l’euristica riesce ad essere molto efficace per identificare nuove minacce (che l’antivirus classico non riuscirebbe a riconoscere), ma può produrre falsi positivi bloccando un codice innocuo, o viceversa far passare un codice malevolo se non adeguatamente impostata.

Questo problema non è presente (o lo è in misura molto minore) negli antivirus basati sulle firme, che hanno un comportamento di tipo on/off, quindi molto più automatico.

L’evoluzione degli antivirus: l’analisi comportamentale

Nonostante siano un passo avanti, anche i software di analisi euristica senza firme si sono dimostrati insufficienti ad arginare le minacce informatiche sempre più evolute. Lo dimostra  l’esplosione dei ransomware a partire dagli anni 2012-2013, tra cui il famoso WannaCry del maggio 2017.

Per superare i limiti sopra descritti, le tecniche di difesa si stanno evolvendo verso sistemi più evoluti che analizzano i comportamenti dell’endpoint (e quindi dell’utente) utilizzando tecniche di intelligenza artificiale (AI) e di machine learning (apprendimento automatico, ML).

“Se miagola come un gatto, fa le fusa come un gatto e caccia i topi come un gatto, allora… probabilmente è un gatto”.
Questa semplice frase ci spiega la teoria secondo la quale è possibile identificare un soggetto attraverso i suoi comportamenti, per induzione sulla base della tipicità dei comportamenti stessi.
I sistemi di analisi comportamentale degli utenti (User Behavior Analytics) si fondano proprio su questo principio.
Alla base c’è la distinzione tra tutto ciò che sembra normale attività dell’utente e quello che sembra un comportamento anomalo. Questo viene fatto appunto attraverso algoritmi di “machine learning” che monitorano il comportamento degli utenti, raccolgono dati e da questi dati creano modelli comportamentali (pattern) per distinguere un “comportamento normale” da uno anomalo e quindi sospetto.

Il machine learning è in grado di riconoscere comportamenti e pattern nuovi in modo da classificarli per “insegnarli” al sistema di difesa, che diventerà sempre più evoluto. Durante l’implementazione, necessitano perciò di un tempo di apprendimento iniziale, per capire il comportamento tipico dell’utente.
In questo modo sono in grado di determinare, per esempio, se un account è stato compromesso e se il traffico generato da questo account è lecito oppure è “sospetto”.

Queste tecnologie rappresentano il futuro (ormai già il presente, in realtà) e sono la soluzione ideali per la sicurezza informatica, soprattutto perché i metodi basati su firma o altri metodi manuali non sono in grado di gestire il numero e la varietà di nuove minacce che continuamente nascono.

Non è neppure corretto ridurli alla categoria degli “antivirus”, essendo sistemi di sicurezza complessi, definiti più correttamente  IDS (Intrusion Detection System) che ho trattato anche in questo articolo.

Come scegliere l’antivirus

Per chi non vuole installare sistemi di protezione IDS, che richiedono investimenti non trascurabili e sono implementabili solo in presenza di sistemi con architettura client-server, l’installazione di un programma antivirus rappresenta comunque una prassi di sicurezza necessaria, soprattutto in ambiente Windows.

L’offerta del mercato è molto ampia e con alcune caratteristiche comuni: nella quasi totalità dei casi i vendor offrono un software base gratuito con funzionalità limitate e pacchetti a pagamento variamente configurabili con scelta di opzioni più avanzate.

La valutazione e comparazione delle differenti offerte può essere complicata, riteniamo perciò utile fare riferimento ad un’organizzazione terza ed autorevole qual è Virus Bullettin.

Virus Bulletin non produce antivirus, ma è un portale sulla sicurezza con una rivista (Bulletin, le cui pubblicazioni vanno avanti dal 1989) nella quale i principali ricercatori in materia di sicurezza pubblicano le ultime ricerche sulle minacce più recenti, i nuovi sviluppi e le nuove tecniche nel panorama della sicurezza.

Per maggiori approfondimenti (per esempio sull’utilità dell’antivirus per il Mac e su alcuni utili tool per difendersi dai ransomware), rimando al testo completo dell’articolo “Antivirus e antimalware: cosa sono, come funzionano, come scegliere quello giusto”, scritto per CYBERSECURITY360, la testata del Network Digital 360 specializzata nella Cybersecurity, con la quale collaboro sin dalla sua nascita.


© Copyright 2019 Giorgio Sbaraglia
All rights reserved.

Quest’opera è distribuita con Licenza Creative Commons Attribuzione – Non commerciale – Non opere derivate 4.0 Internazionale.

Lascia un commento