Il gioco del guardia e ladri informatico dura ormai da quasi vent’anni, e chissà se avrà mai fine. Per la verità il concetto di virus informatico risale addirittura agli anni ’70, ma si deve attendere l’avvento dei personal computer, e del PC IBM in particolare, perché i virus possano diffondersi a dismisura e costituire una vera e propria piaga nel mondo dei computer.
Se per buona parte dello scorso ventennio il mezzo di propagazione ideale dei virus era costituito dal famigerato floppy disk, da qualche anno a questa parte il veicolo d’infezione numero uno è diventata la rete, ultimamente soprattutto attraverso la posta elettronica.
In termini economici il problema dei virus non è certo cosa trascurabile, basti vedere il nutrito numero di marche di antivirus in circolazione: è stato stimato che ogni anno, in tutto il mondo, nel settore informatico vengono spesi ben 25 miliardi di dollari per prevenire e curare le infezioni dei computer.
Gli utenti di oggi sono senz’altro più consapevoli dei rischi che corrono quando frequentano zone dell’underground di Internet, ricevono file via IRC o aprono allegati di posta elettronica. Eppure questo non è bastato a impedire che cavalli di Troia come Happy99 e Melissa dilagassero in tutto il mondo attraverso “simpatici” allegati di posta elettronica.
Le tecnologie che stanno dietro ai motori di rilevamento dei virus non sono cambiate moltissimo in questi anni: si sono certamente evolute, affinate, ma nessuna grande rivoluzione. Oggi però la battaglia sta assumendo connotati del tutto nuovi e sta spostando il suo campo verso quella terra di nessuno che è la rete, una sorta di macroorganismo dove al suo interno qualcuno sta cercando di replicare una battaglia che nel corpo umano dura da millenni e che vede scontrarsi agenti patogeni contro anticorpi: nasce l’Artificial Immunology.
Il termine Artificial Immunology lo si deve ad una coppia di ricercatori dell’Università del Nuovo Messico, Stephanie Forrest e Steven Hofmeyr. I due hanno cercato di applicare alle reti di computer quelle leggi fondamentali che regolano il nostro sistema immunologico, dove virus ed altri agenti estranei (antigeni) vengono combattuti dagli anticorpi: in informatica a tutto questo si è dato il nome di Artificial Immune System (AIS).
Un AIS è dunque costituito da una porzione di rete dove ogni pacchetto dati che la percorre viene esaminato alla ricerca di stringhe “sospette”. Questa altro non è che un’evoluzione delle tecniche di ricerca “euristiche” che già troviamo implementate praticamente in tutti i principali antivirus in commercio. La differenza sostanziale è che il cuore degli agenti di ricerca di un AIS è, per l’appunto, la rete, ed è qui dove vengono focalizzati gli sforzi per contrastare il diffondersi dei virus e di altri programmi “maliziosi”.
Per riconoscere stringhe che potenzialmente potrebbero far parte di un virus Forrest e Hofmeyr hanno studiato a lungo le interazioni fra programmi e sistema operativo e per ogni macchina sono in grado di identificare una “trama” di segnali, o bit, che costituisce quello che loro definiscono il “computer’s self”, ovvero il “sé stesso” di un computer. Tutto ciò che si distanzia da questo modello, da questo “pattern”, viene considerato codice potenzialmente pericoloso e come tale bloccato da speciali agenti software, gli “anticorpi digitali”. Forrest sta inoltre lavorando affinché i falsi allarmi siano ridotti al minimo e gli anticorpi digitali possano accettare, senza generare falsi allarmi e senza nulla cedere alla sicurezza, l’ingresso di nuovi software all’interno di un AIS.
In base al modello appena descritto ogni macchina collegata alla rete potrà disporre di una propria squadra di anticorpi, ognuna forte delle esperienze passate: per questo un virus che riuscisse a insinuarsi fra le maglie di un AIS e raggiungere un computer, potrebbe invece essere fermato presso un altro nodo della rete. Gli anticorpi potranno imparare dai loro sbagli, trasmettersi fra loro “esperienze” e aggiornare il proprio database dei virus.
Questo sistema risulta molto più efficace dei tradizionali antivirus, sia per la rapidità d’intervento sia per la migliore efficacia dei punti di controllo: i virus non verranno più fermati quando già hanno raggiunto la memoria di un computer, ma all’interno dei cosiddetti “entry point”, le “dogane informatiche” costituite dagli ingressi fisici e logici di una rete: uno dei più importanti è il punto d’entrata sui server della posta elettronica, un servizio i cui messaggi potrebbero venir “ripuliti” da eventuali virus ancor prima di arrivare nella mailbox degli utenti.
Basato sul modello lanciato da Forrest e Hofmeyr, IBM e Symantec qualche anno fa hanno unito le forze per commercializzare un prodotto antivirus dal nome Digital Immune System (DIS).
I due principali fautori del DIS sono i ricercatori IBM Jeffrey Kephart e Steve White, due studiosi da sempre affascinati dalle analogie fra sistemi decentralizzati di computer e sistemi biologici. Il loro obiettivo era quello di trovare un modo per rendere la diffusione della cura (gli aggiornamenti antivirus) più veloce del male (i virus). Torna quindi il concetto di anticorpo, un agente software che è in grado di controllare quello che circola in rete tramite algoritmi euristici.
Gli anticorpi di Kephart e White sono senz’altro molto somiglianti a quelli che abbiamo visto implementati nell’AIS, ma certamente meno sofisticati: essi basano infatti le loro capacità di riconoscimento dei virus su di un classico database di firme virali e non su complessi pattern generati attraverso lo studio delle interazioni di ogni macchina con il proprio software, come avviene nell’AIS.
Una firma virale altro non è che una porzione di codice caratteristica di un virus o di un’intera famiglia di virus: IBM è riuscita a ridurre i tempi di scansione dei pacchetti ottimizzando al massimo la lunghezza minima delle firme virali utilizzate per riconoscere ceppi conosciuti di virus.
Quando nel DIS un anticorpo viene in contatto con un codice potenzialmente malizioso, si incarica di spedire immediatamente una copia del file sospetto ad un laboratorio centrale, prevedibilmente il Symantec Antivirus Research Center (SARC), per la sua analisi. Il file verrà utilizzato dai ricercatori del laboratorio per infettare un network di prova ed effettuare tutta una lunga serie di test automatici, fra i quali cambi di data, di lingua, di ambiente operativo, ecc. In base ai risultati dei test, un software di monitoraggio potrà stilare in automatico un rapporto dettagliato del metodo d’infezione, delle conseguenze e della pericolosità del virus. A questo punto i ricercatori potranno sviluppare velocemente l’antidoto e distribuirlo in tempo reale attraverso la funzione auto-update del DIS: in questo modo tutti gli anticorpi appartenenti ai vari DIS sparsi per il globo potranno aggiornare il database delle loro firme e dotarsi dell’antidoto necessario a debellare il nuovo tipo di virus.
E’ facile immaginarsi come tale metodo di aggiornamento risulti assai più efficace ed efficiente di quelli tradizionali e potrebbe davvero far sperare che, per la prima volta, la cura possa diffondersi più velocemente del male. Secondo Whyte questo sarà un requisito fondamentale affinché l’informatica possa continuare il suo progresso: oggi circolano in rete kit “fai-da-te” per la generazione automatica di macro-virus, strumenti che in mano a qualche migliaio di emuli hacker potrebbero seriamente minacciare l’economia digitale.