Le caratteristiche elencate nella sezione “Scelta della soluzione antivirus” vengono di fatto implementate in maniera diversa nei vari prodotti antivirus; occorre tuttavia rilevare come questi ultimi non sempre presentino un livello qualitativo e tecnologico soddisfacente, in grado di assicurare un’adeguata protezione nei confronti delle minacce IT. Non esistono ad ogni caso soluzioni antivirus capaci di filtrare al cento per cento i programmi nocivi attualmente in circolazione. La “corsa agli armamenti tecnologici” tra vendor di prodotti antivirus e cybercriminali si intensifica e si inasprisce di anno in anno; la maggior parte dei software antivirus non è quindi in grado di poter fornire una protezione infallibile nei confronti del malware. Una situazione del genere potrebbe di fatto essere descritta come una sorta di crisi dell’industria antivirus, associata alle varie problematiche che si manifestano nel cercare di garantire un efficace livello di protezione degli utenti.
Capacità di rilevamento del malware
Si tratta, indubbiamente, dell’indice principale riguardo all’effettiva qualità della protezione. Un software antivirus deve essere in grado di rilevare il maggior numero possibile di programmi dannosi (in teoria tutto il malware esistente): è questo il compito essenziale al quale esso è adibito. La soluzione di sicurezza IT deve essere pertanto in grado di individuare nuove mutazioni di virus informatici, worm e programmi trojan, rilevare il software malevolo contenuto in file compressi, vale a dire file eseguibili modificati per mezzo di apposite utility di archiviazione, quindi eseguire la scansione del contenuto degli archivi e dei pacchetti di installazione.
Quali sono, tuttavia, le problematiche che possono sorgere relativamente ai programmi antivirus, a parte – ovviamente – l’abituale competizione che si genera spontaneamente sul mercato tra prodotti rilasciati da vendor diversi? Lo scenario è piuttosto semplice: da un lato esistono i virus informatici, dall’altro lato vi sono gli antivirus preposti a combattere il malware. Apparentemente, i software antivirus sono da tempo divenuti un abituale prodotto di consumo; a prima vista, le varie soluzioni anti-malware sembrerebbero non presentare particolari differenze tra di loro, se non quelle dettate dal design più o meno attraente, dal modo in cui il prodotto viene reclamizzato, oppure da altri elementi di natura tutt’altro che tecnica. Sulla base di tali circostanze, un prodotto antivirus potrebbe essere quindi considerato alla stregua di altre “commodity” di largo consumo, quali i detergenti, gli spazzolini da denti o, magari, le autovetture.
In realtà, non è affatto così: una soluzione antivirus è ben più di un normale prodotto di consumo. La scelta del prodotto antivirus deve essere quindi effettuata non in base a criteri piuttosto irrilevanti, come il design o una pubblicità particolarmente riuscita, bensì sulla base delle effettive caratteristiche tecniche possedute dal software di sicurezza e delle performance che esso è in grado di realizzare. Da questo punto di vista, i vari prodotti antivirus si differenziano in maniera considerevole tra di loro. Le questioni fondamentali sono le seguenti: nei confronti di quali specifiche minacce IT il prodotto è in grado di assicurare protezione? La soluzione antivirus prescelta è davvero adeguata dal punto di vista tecnico e qualitativo?
Il software antivirus deve essere in grado di proteggere l’utente contro tutte le tipologie di malware esistenti; migliore è il modo in cui tale compito viene svolto, minori saranno le preoccupazioni da parte dell’utente o dell’amministratore di sistema. Coloro che non comprendono tale premessa teorica debbono purtroppo confrontarsi molto spesso con seri problemi pratici: il furto di significative somme di denaro dal proprio conto bancario, numerose telefonate non richieste fatte dal computer verso numeri sconosciuti, aumento repentino del traffico web in uscita, senza alcun apparente motivo.
Se un prodotto antivirus X è in grado di rilevare, supponiamo, il 50% dei virus attivi in Internet in un determinato momento, mentre il prodotto Y ne rileva il 90% e il prodotto Z il 99,9%, non risulta affatto difficile poter calcolare le probabilità esistenti riguardo al fatto che il vostro computer possa rimanere intatto dopo un certo numero N di attacchi informatici subiti. Se il computer è stato ad esempio attaccato dal malware per 10 volte, esso verrà quasi sicuramente infettato nel caso del prodotto X (99,9% di probabilità di contagio informatico); per il caso Y l’infezione sarà più che probabile (65%), mentre la stessa risulterà alquanto improbabile (solo 1% di probabilità effettive) nel caso Z.
Purtroppo, pochi prodotti o servizi antivirus, disponibili in Rete o sugli scaffali dei negozi specializzati, offrono un livello di protezione prossimo al 100%. In effetti, la maggior parte dei prodotti attualmente sul mercato non raggiunge nemmeno un livello di sicurezza pari al 90%. È indubbiamente questo, al giorno d’oggi, il principale problema evidenziato dai programmi antivirus.
Problema №1. Sia il numero che la varietà dei programmi malware crescono costantemente di anno in anno. Ne consegue che numerose società produttrici di soluzioni antivirus non sembrano essere in grado di stare al passo con la rapida evoluzione del malware. Tali fornitori stanno, in effetti, perdendo la “corsa agli armamenti” contro il software dannoso, pertanto i loro clienti sono ben lungi dall’essere completamente protetti contro tutte le odierne minacce informatiche. Purtroppo, non tutti i prodotti rilasciati dalle società antivirus (anzi, solo una parte di tali software) possono essere propriamente definiti con l’appellativo di “antivirus”.
Aggiornamenti regolari e frequenti
È essenziale che la soluzione antivirus prescelta venga regolarmente aggiornata, visto che, anno dopo anno, i cybercriminali divengono sempre più attivi ed appaiono continuamente, sulla scena del malware, nuovi e sempre più sofisticati software dannosi, in numero sempre maggiore. Non sempre, purtroppo, gli antivirus sono in grado di neutralizzare i nuovi virus e i nuovi Trojan avvalendosi degli abituali metodi proattivi. È per tale motivo che un software antivirus deve essere in grado di reagire prontamente al rilascio di nuovi programmi malware; senza aggiornamenti regolari e frequenti è improbabile che ciò possa avvenire.
Soltanto cinque o dieci anni fa, si poteva ancora affermare che non era necessario proteggersi nei confronti di tutti i nuovi virus e Trojan, visto che la maggior parte di essi veniva scritta da studenti e giovani (spesso teenager) al solo scopo di accrescere la propria autostima, o al massimo per soddisfare la propria curiosità, senza il preciso intento di danneggiare i computer degli utenti, sottrarre denaro o addirittura distribuire il malware creato. La protezione era quindi richiesta solo per un numero relativamente esiguo di programmi malware, effettivamente in circolazione. Inoltre, molti di questi software dannosi non rappresentavano un grave rischio. Oggi non è più così. La stragrande maggioranza dei programmi malevoli (oltre il 75%, secondo i dati raccolti da Kaspersky Lab) viene attualmente creata da temibili cybercriminali che si prefiggono di infettare un elevato numero di computer; ogni giorno, peraltro, si registra la comparsa di centinaia di nuovi virus informatici e programmi trojan.
Cosa significa tutto ciò? In sostanza, le probabilità di veder infettato il proprio computer – durante la navigazione in Rete – da qualche nuovo malware di natura decisamente “criminale”, risultano ben superiori allo zero; e non è per nulla escluso che, nel frattempo, i computer di decine, centinaia, forse migliaia di utenti, siano stati già contagiati dallo stesso identico malware. Se poi il nuovo sample di malware in circolazione è costituito da un worm di rete, il numero degli utenti-vittima può essere addirittura contato a milioni. Come è noto, Internet è un ambiente in cui gli eventi si manifestano in rapida successione. Ciò significa che i vendor di prodotti antivirus debbono rilasciare i necessari aggiornamenti con estrema rapidità, in maniera tale da impedire la diffusione dei nuovi virus e dei nuovi programmi trojan individuati. Il secondo problema, di fatto, consiste proprio in questo.
Problema №2. La rapidità con cui si diffondono gli attuali programmi malware obbliga le società produttrici di soluzioni antivirus a fornire gli indispensabili aggiornamenti con la maggior frequenza possibile, in modo tale da riuscire a proteggere quasi istantaneamente i propri utenti nei confronti delle nuove minacce informatiche. Purtroppo, alcuni vendor di antivirus non sono così veloci e pronti nel rilasciare gli update. Spesso, in effetti, gli aggiornamenti forniti da queste società raggiungono l’utente quando ormai è troppo tardi.
Corretta rimozione del codice dannoso e delle conseguenze provocate dall’infezione informatica
Supponiamo che un virus, nonostante tutti i filtri installati, sia riuscito a penetrare nel computer-vittima e ad insediarsi, quindi, al suo interno, mentre il software antivirus adibito alla protezione del sistema, non particolarmente efficace, non ha rilevato nulla di sospetto. Supponiamo, in alternativa, che l’utente o l’amministratore di sistema non particolarmente attento, non si sia preoccupato di scaricare gli ultimi update rilasciati per eseguire l’aggiornamento del database antivirus. Prima o poi, tali update raggiungeranno il computer in questione ed il virus verrà così rilevato; prima di cantare vittoria, tuttavia, l’utente o l’amministratore dovrà accertarsi che i file infetti siano stati accuratamente rimossi dal sistema. Nella circostanza, la parola chiave è proprio “accuratamente”; sorge, a questo punto, un ulteriore problema.
Problema №3. Rimozione del codice dannoso rilevato nel sistema infetto. Spesso, virus informatici e programmi trojan si avvalgono di tecniche speciali per nascondere la propria presenza nel sistema, oppure si insinuano così in profondità, all’interno di quest’ultimo, al punto che, talvolta, si rivela un compito tutt’altro che facile poterli scovare e “sradicare”. Purtroppo, alcuni programmi antivirus potrebbero non essere in grado di rimuovere il software nocivo in maniera tale da garantire il perfetto ripristino delle normali condizioni operative del computer.
Il giusto equilibrio tra protezione del computer e prestazioni
Il tema successivo, nell’ambito della discussione che stiamo affrontando, è il seguente: qualsiasi software in esecuzione rappresenta, ovviamente, un carico per le risorse del computer; il software antivirus non rappresenta, di fatto, un’eccezione a tale regola. Per proteggere il vostro computer, il programma antivirus deve necessariamente eseguire una vasta gamma di operazioni, tra cui: aprire i file, leggere i dati in essi contenuti, decomprimere gli archivi, eseguire la scansione dei file per rilevare l’eventuale presenza di codice dannoso, e via dicendo. Tanto più accurato è il controllo eseguito sui file, maggiore sarà la capacità di elaborazione del computer utilizzata (nella circostanza, una similitudine che calza a pennello è quella della porta di ferro: tanto più la porta è spessa, maggiore sarà la protezione da essa offerta, anche se le manovre di apertura-chiusura della stessa diverranno tanto più complesse e faticose quante più tonnellate di metallo saranno state impiegate per la sua fabbricazione). Si presenta quindi un ulteriore problema: trovare il giusto equilibrio tra protezione IT offerta e prestazioni del computer.
Problema №4. Convenienza e appropriatezza riguardo al consumo delle risorse della CPU. Si tratta di un problema in fondo privo di effettive soluzioni; la pratica dimostra come tutti i programmi antivirus più veloci non forniscano un livello di protezione adeguato, e lascino quindi “passare” il malware così come un colabrodo lascia passare il liquido attraverso di esso. Anche l’esatto contrario, però, non si dimostra vero: un antivirus lento, in effetti, non garantisce necessariamente una protezione IT appropriata.
Problemi di compatibilità nell’utilizzo simultaneo di due soluzioni antivirus
Per poter eseguire la scansione dei file “on the fly” e proteggere al meglio il computer sul quale è installato, il programma antivirus deve necessariamente penetrare piuttosto in profondità all’interno del kernel del sistema. In termini tecnici, un antivirus provvede ad installare “in profondità” – nel sistema da proteggere – appositi intercettori degli eventi di sistema, per poi trasferire i dati così ottenuti al motore antivirus, per l’opportuna analisi, in maniera tale da poter effettuare la scansione dei file in precedenza intercettati, dei pacchetti di rete e di altri oggetti potenzialmente pericolosi.
Purtroppo, per praticare una singola incisione non possono essere utilizzati due bisturi. Se vi sono due programmi antivirus in esecuzione su un singolo computer, questi ultimi cercheranno, di fatto, di installare due intercettori nella stessa zona del kernel del sistema operativo. È pertanto possibile che ciò dia luogo a evidenti conflitti fra i “monitor” antivirus, con una delle seguenti conseguenze: uno dei due programmi antivirus non sarà in grado di intercettare gli eventi di sistema; il tentativo di ciascun programma antivirus di installare intercettori paralleli causerà un arresto anomalo dell’intero sistema.
Questa è l’ultima, ma di sicuro non la meno importante, delle varie problematiche relative alla protezione antivirus.
Problema №5. Due programmi antivirus non possono essere eseguiti simultaneamente sullo stesso computer. Nella stragrande maggioranza dei casi (le eccezioni sono davvero rare) risulta tecnicamente impossibile poter installare due diverse soluzioni antivirus sulla stessa macchina (nell’intento di fornire una doppia protezione); i due software antivirus, semplicemente, “non andranno d’accordo” tra di loro.
Peculiarità delle nuove tecnologie: le differenze rispetto alle soluzioni antivirus tradizionali
In aggiunta ai metodi tradizionali utilizzati per rilevare i programmi malware già noti – quali la “ricerca” delle firme dei virus (realizzata comparando le “maschere” dei virus) – esiste un’intera gamma di nuove tecnologie di rilevamento dei software nocivi, in grado di riconoscere i programmi malevoli di più recente apparizione, di fatto ancora sconosciuti. L’effettiva qualità di queste nuove tecnologie contribuisce sensibilmente ad accrescere il livello complessivo di sicurezza IT assicurato da ogni singolo prodotto antivirus. Tali tecnologie comprendono sia i metodi euristici di rilevamento del codice dannoso, sia i cosiddetti “behavior blocker” (adibiti a bloccare i comportamenti sospetti); si tratta, in pratica, di metodi di difesa proattiva.
Tutti i produttori di software antivirus, ovviamente, nutrono il desiderio di “inventare” una tecnologia completamente innovativa, che permetta loro di poter risolvere, di colpo, tutte le problematiche descritte nella precedente sezione, una sorta di panacea in grado di proteggere ogni computer da ogni possibile tipologia di attacco malevolo, una volta per tutte. Lo scenario ideale, per essi, sarebbe quello di poter proteggere “proattivamente” tutti gli utenti, ovvero essere in grado di rilevare e neutralizzare virus ed altri programmi malware addirittura prima che gli stessi vengano creati e diffusi in Rete dai malfattori.
Questi buoni propositi, purtroppo, sono destinati a rimanere incompiuti. Una soluzione universale può essere applicata solo a problemi di carattere generale; i virus informatici, da parte loro, non possono essere ricondotti a simili regole. Questi ultimi, difatti, non sono il prodotto di un processo ben documentato, ma vengono generati dalla mente di hacker spesso sofisticati. I virus informatici seguono costantemente percorsi variabili e imprevedibili, i quali dipendono, in larga parte, dagli intenti e dagli scopi che si prefiggono di raggiungere quei malintenzionati che popolano il lato oscuro del mondo digitale.
Esaminiamo, adesso, in cosa differisce un behavior blocker, nelle metodologie di rilevamento del malware, rispetto alle più tradizionali soluzioni antivirus, basate sulle firme del malware. Si tratta di due approcci ben diversi tra loro, il cui intento, tuttavia, è quello di giungere allo stesso risultato. Il rilevamento tramite firme dei virus, in sostanza, compara il codice di un determinato programma con il codice di cui si compongono i virus già conosciuti, cercando di individuare i “match” positivi. Un behavior blocker, da parte sua, provvede a monitorare il lancio ed il funzionamento del programma, per verificarne la conformità rispetto a regole e criteri ben definiti; il programma viene quindi bloccato nel caso in cui esso manifesti un comportamento sospetto o malevolo. Entrambi i metodi presentano vantaggi e svantaggi.
Il lato positivo della scansione basata sull’analisi delle firme dei virus è rappresentato dal fatto che tale metodo permette di “catturare” tutte le “belve” riconosciute. Il lato negativo, invece, è che con il metodo tradizionale non si riesce a rilevare il malware ancora sconosciuto. Un altro evidente svantaggio è costituito dall’esistenza di innumerevoli database antivirus; questo può generare un maggior consumo delle risorse del sistema. Da parte loro, i behavior blocker presentano l’innegabile vantaggio di poter rilevare e neutralizzare i programmi maligni non ancora conosciuti. Essi, tuttavia, possono non individuare varianti di malware già note da tempo, visto che il comportamento dei virus e dei programmi trojan attualmente in circolazione è talmente vario ed imprevedibile, al punto che un unico insieme di regole, in grado di abbracciare la totalità del malware, si rivela semplicemente irrealistico. Un’ulteriore problematica legata all’utilizzo dei behavior blocker è rappresentata dal fatto che, di tanto in tanto, questi ultimi possono generare dei falsi positivi (rilevamento di malware in un file “pulito”), visto che persino i programmi del tutto legittimi possono talvolta assumere un comportamento inatteso, in qualche modo “sospetto”. Può succedere, occasionalmente, che un behavior blocker non rilevi un programma nocivo, e blocchi, invece, il funzionamento di un software legittimo.
Altro inconveniente: un behavior blocker può a volte rivelarsi incapace di contrastare alcuni dei nuovi virus che compaiono regolarmente sulla scena del malware. Facciamo un esempio: supponiamo che una Società X abbia sviluppato un programma behavior blocker, denominato AVX, in grado di rilevare il 100% dell’attuale malware in circolazione. Quale sarebbe la reazione degli hacker, nella circostanza? Di sicuro essi si inventerebbero un metodo del tutto diverso per poter infettare i computer-vittima, invisibile per AVX. A questo punto, l’antivirus AVX avrebbe bisogno di veder urgentemente aggiornate le proprie regole di riconoscimento dei comportamenti. La Società X rilascia quindi i necessari update. E poi ancora ulteriori aggiornamenti, ed altri ancora, visto che hacker e virus writer riescono costantemente a trovare nuovi metodi per eludere l’azione protettiva degli update. Si finirà, inevitabilmente, con il riprodurre la stessa situazione che si presenta con la scansione delle firme; nella circostanza, le firme dei virus assumerebbero la forma di “comportamenti”, anziché di “frammenti di codice”.
Un simile scenario riguarda, allo stesso modo, anche l’analizzatore euristico, un ulteriore metodo di difesa proattiva volto a monitorare l’avvio ed il comportamento operativo del programma analizzato, per poi bloccare il funzionamento di quest’ultimo qualora lo stesso appaia malevolo. Non appena queste tecnologie antivirus iniziano a contrastare efficacemente l’attività degli hacker, impedendo ai malintenzionati di attaccare i potenziali computer-vittima, compare subito sulla scena qualche nuovo set di tecnologie maligne, appositamente progettate per “bypassare” le metodologie di protezione euristica. In sostanza, non appena un prodotto dotato di avanzate tecnologie euristiche e sofisticati behavior blocker – diviene popolare, essendo largamente utilizzato, le tecnologie in questione non risultano più efficaci.
Quindi, le nuove tecnologie proattive tendono a presentare un “ciclo di vita” piuttosto limitato. Mentre gli hacker non professionisti possono impiegare settimane o mesi per bypassare le tecnologie proattive di recente implementazione, gli hacker più esperti possono invece trovare il modo di riuscire a far ciò nel giro di poche ore, se non addirittura di pochi minuti. Di conseguenza, un programma behavior blocker, o un analizzatore euristico, per essere davvero efficace, richiede l’apporto di costanti migliorie e aggiornamenti. Occorre ricordare, a tal proposito, che l’aggiunta di una nuova firma ad un database antivirus richiede solo qualche minuto di tempo, mentre il perfezionamento delle tecnologie di difesa proattiva, oltre alla conduzione dei necessari test, richiede tempi ben più lunghi. In molti casi, di fatto, la rapidità con cui le nuove firme dei virus possono essere aggiunte al relativo database, essendo rilasciate sotto forma di aggiornamenti, supera di gran lunga la velocità con la quale possono essere rilasciati gli analoghi update per le tecnologie proattive. Questo è stato più volte dimostrato nella pratica, sia nel caso di varie epidemie informatiche causate da worm di posta elettronica o worm di rete, sia in relazione agli spyware o ad altri software di natura criminale.
Tutto questo non significa, di certo, che i metodi di difesa proattiva siano inutili. Essi svolgono un ottimo “lavoro” e sono perfettamente in grado di bloccare e neutralizzare un considerevole numero di programmi malware non particolarmente sofisticati, sviluppati da hacker relativamente abili. Per tale motivo, i metodi proattivi possono essere considerati come un valido complemento ai tradizionali “scanner” delle firme dei virus; non risulta tuttavia possibile fare esclusivamente affidamento su di essi.