2. Virus e malware

Definiamo meglio il problema, ne abbiamo bisogno per capire le implicazioni e le motivazioni di quello che andiamo a dire.

2.1. Cos'è un malware

Al di là dell'origine del termine, contrazione dei termini malicious e software (software malevolo), occorre definire cosa renda un qualsiasi pezzo di software dannoso.

Possiamo considerare malevolo un qualsiasi programma che, all'insaputa del legittimo proprietario del computer, mette in pericolo l'esistenza, la riservatezza e la correttezza dei dati in esso contenuti o impiega per fini propri le risorse disponibili, intese come capacità di elaborazione, spazio di memorizzazione e connessione in Internet.

Questa definizione comprende praticamente tutte le categorie di malware in circolazione, dai semplici virus il cui scopo è la propagazione indiscriminata (come il noto Sapphire), agli spyware, passando per i botnet agent e gli spambot (il primo è un programma che, una volta attivato nel computer bersaglio, è in grado di eseguire parecchi compiti agli ordini di chi ha creato il programma stesso, che in un certo senso prende il controllo del computer colpito; il secondo invece trasforma il computer vittima in un generatore di spam, posta spazzatura).

Ma al di là di quale sia lo scopo, rimane il fatto che ogni malware è un programma che deve riuscire a penetrare nel computer bersaglio ed essere mandato in esecuzione per attivarsi. Una cosa deve rimanere ben chiara: tutti i malware in circolazione sono predatori automatici con un limitato numero di risposte e di possibilità di offesa. Se invece di un semplice automa, chi attacca è un essere umano con una buona competenza, il pericolo è infinitamente maggiore, e non è più una questione di sistema operativo. Quanto diremo deve essere strettamente limitato agli attacchi automatizzati da parte di malware e non da parte di un individuo preparato e motivato che ha un solo singolo obbiettivo. In questo secondo caso non c'è da scherzare, e non si può sperare di mettersi tranquilli con un antivirus ed un firewall.

2.2. Come entra nel computer

Possiamo fare un parallelo con i virus biologici: ognuno ha un particolare metodo di infilarsi nel nostro corpo, chiamato vettore di infezione, cioè cosa lo trasporta fino a depositarlo dove poi si attiverà.

Per i malware i vettori sono molteplici, ma in definitiva sono fondati su due soli metodi: sfruttare un problema nel software o contare sul nostro aiuto.

Ogni software ha i suoi bug, anche i migliori ed i più controllati, è implicito nella natura del software stesso. Alcuni di questi errori possono essere sfruttati per far compiere operazioni impreviste dal programmatore, che non portano al blocco del programma o alla cancellazione di dati, ma all'esecuzione di codice estraneo al programma stesso, iniettato dal malware. Altra possibilità è quella offerta da programmi configurati in maniera errata o con un livello di accesso troppo elevato, per cui un malware può infilarsi sfruttando porte lasciate aperte e senza sorveglianza. In entrambi questi casi tutto avviene in modo completamente incontrollabile dalla persona che sta operando il quel momento, spesso addirittura senza che ci sia qualcuno che usa il computer. Questo succedeva proprio con Sapphire, il malware che mise in ginocchio Internet per qualche giorno nel 2003: il programma colpito riceveva un blocco di dati troppo lungo, non previsto dal programmatore, ed andava ad eseguire i dati ricevuti come parte del suo codice. Il tutto in pochi cicli di clock del processore.

Ma il metodo più efficace in assoluto, che implica il minimo sforzo tecnologico da parte del creatore del virus, è l'inganno. Per quanto possa sembrare strano, il principale bersaglio siamo noi utilizzatori del computer: e-mail truccate che spingono ad aprire l'allegato; siti web che promettono qualcosa per indurre a cliccare su un link; programmi offerti per la soluzione di problemi inesistenti.

Cosa spinge a scegliere un metodo piuttosto che un altro? La risposta non è così semplice come sembra: il vettore dei software con problemi funziona indipendentemente dalle capacità e dalla presenza di un utente, ma ha una contromisura efficace e definitiva, ossia la correzione del problema, che chiude definitivamente la porta a tutti i virus che sfruttino quel particolare buco in quel preciso programma. Il metodo dell'inganno, di contro, richiede che un utente agisca per aprire la porta al malware, ma non ha soluzione definitiva, perché è sempre possibile ingannare qualcuno. Vuoi per inesperienza, per leggerezza o per incoscienza, il numero di persone che aprono allegati senza farsi domande o che visitano siti di dubbia fama senza porsi problemi è altissimo. Intendiamoci: non è questione di colpe. Se persone come i miei genitori, con pochissima esperienza di computer e nessuna di Internet, dovessero trovare nella casella di posta elettronica un messaggio confezionato per ingannare, aprirebbero l'allegato senza pensarci. Io mi porrei qualche domanda, ma ci lavoro da anni, loro no. Tutto qui.

Per non parlare poi dei tipici comportamenti a rischio, ben noti ai creatori di malware. Un noto detto dei truffatori di professione è: non si può truffare un uomo onesto. Oppure: se vuoi truffare qualcuno, offri qualcosa in cambio di niente, poi quando la vittima abbocca gli dai niente in cambio di qualcosa.

Questo per dire che un metodo tipico è quello di offrire qualcosa di allettante, meglio se illegale. Poi costringere a fare qualcosa che invece permette di prendere molto di più di quello che si offre. Un esempio lo possiamo vedere in questo articolo che ho scritto qualche tempo fa.

In conclusione, la differenza principale fra i due metodi è che per il primo occorre un notevole sforzo e una elevata competenza nella programmazione, mentre per il secondo spesso è la vittima che fa tutto il lavoro, convinta con l'inganno. Inoltre, il primo metodo ha una efficacia limitata nel tempo, dato che normalmente entro pochi giorni viene rilasciata la correzione per il bug che permette al malware di infilarsi nel computer. Senza considerare che ancora troppo pochi si preoccupano di aggiornare il proprio software o di controllare l'efficacia delle impostazioni di sicurezza del proprio computer.

2.3. Come agisce

Una volta infiltratosi nel computer vittima, il malware si occupa dei passi successivi, che possono essere questi:

  • insediarsi in modo da essere avviato automaticamente alla partenza del computer

  • mettere in atto delle strategie per nascondersi e per impedire la rimozione

  • eseguire i compiti per cui è stato creato

Per il primo compito c'è l'imbarazzo della scelta. Ogni sistema operativo mette a disposizione vari metodi per poter avviare programmi, servizi, driver, tutti legali e necessari per il funzionamento del computer nel suo insieme. Il malware non deve fare altro che scegliere, e spesso viene insediato in più punti, per renderne ancora più complicata la rimozione.

Anche per il secondo punto le strategie disponibili sono innumerevoli. Tanto per fare un esempio, uno dei metodi più utilizzati dai botnet agent è di individuare e terminare programmi come antivirus e personal firewall, impedire l'aggiornamento del database delle firme degli antivirus, intercettare e terminare i programmi di installazione di gran parte degli strumenti antimalware noti.

Stessa cosa per i compiti “di routine”: furto di dati, sfruttamento della connessione a Internet, installazione di programmi aggiuntivi, dirottamento della navigazione in Internet.

Una volta dentro il computer, i moderni malware ne prendono letteralmente il controllo. E possiamo star certi che le operazioni che andranno a compiere difficilmente saranno di alto valore etico...

2.4. Chi ci guadagna?

La questione principale è: chi crea malware cosa guadagna? Qual è il suo ritorno, economico o di altro tipo?

Capire questo ci permette di definire meglio le motivazioni e gli scopi dei creatori di malware, passo fondamentale per conoscere il nemico.

Denaro. Alla fine della fiera si riduce tutto ad una mera questione “numismatica”, come soleva dire un mio conoscente. Fare pubblicità attraverso lo spam, inserire dialer che chiamano numeri a tariffazione maggiorata, rubare informazioni commerciabili, compiere operazioni di phishing su larga scala. Tutti sistemi per fare facilmente soldi alle spalle dei poveri utenti di Internet.

E' finita da un pezzo l'era dei virus creati per la fama, o per dimostrare di essere un grande hacker. Rimanere fermi a questo modello è rischioso, perché fa sottovalutare grandemente la determinazione e la motivazione di questi individui. Il truffatore ha trovato in Internet il suo terreno ideale: i costi sono praticamente nulli, e la possibilità di colpire un grande numero di vittime con sforzo minimo rende le operazioni estremamente remunerative.

Questo ci permette di capire un punto fondamentale per la discussione che segue: nel momento in cui un truffatore deve colpire “nel mucchio” tende a scegliersi il mucchio più grosso, in cui ha maggiori possibilità di far vittime, contando solo sui grandi numeri.

Periodicamente si affacciano ipotesi più o meno fantasiose, come ad esempio che i produttori di antivirus siano direttamente coinvolti nella creazione e nel rilascio di pestilenze per incrementare le vendite dei loro prodotti. Personalmente ritengo che non ce ne sia nessun bisogno: truffatori e criminali sono tranquillamente in grado di generare tutti i malware di cui i produttori di antivirus hanno bisogno per campare. Il Rasoio di Occam in questo caso ci indica che la spiegazione più semplice è la seconda, che implica molti meno assunti non dimostrabili. Ma gli amanti del Grande Complotto non si faranno certo persuadere da queste mie parole. Anche questa è una pericolosa sottovalutazione degli individui che creano malware.

2.5. Riassumendo

Abbiamo ora chiare sia le motivazioni di chi crea malware, come pure i metodi utilizzati per colpire ed il tipo di operazioni che poi vanno a compiere sui computer colpiti. Possiamo ora passare ad esaminare il nocciolo della questione.