# Melissa (informatica)

Melissa è un macrovirus creato dal programmatore statunitense David Smith. Diffuso il 26 marzo 1999, ha causato danni per circa 1,3 miliardi di euro ed è considerato il virus con la più alta diffusione di sempre.

## Funzionamento

Melissa è un macrovirus, vale a dire un virus scritto ricorrendo ad un macro linguaggio, un linguaggio specifico utilizzato da altri programmi per creare elenchi di operazioni eseguibili da quel particolare software. Più precisamente, Melissa è stato scritto ricorrendo al macrolinguaggio Visual Basic for Applications (VBA) integrato in Microsoft Office.
L'infezione colpisce i sistemi operativi Microsoft Windows 95, Windows 98 e Windows NT con installata la suite Microsoft Office 97 oppure Microsoft Office 2000. Il virus arriva come allegato di un messaggio e-mail: l'allegato si chiama "LIST.DOC" e contiene un elenco di siti pornografici con le credenziali per l'accesso all'area a pagamento degli stessi. Se l'utente apre l'allegato, il sistema esegue il codice del virus usando l'interprete VBA della suite Office. Per primo, il virus controlla se nel file di registro è presente la chiave HKEY_CURRENT_USERSoftwareMicrosoftOffice"Melissa?"="...by Kwyjibo": in caso negativo disattiva le protezioni che evitano l'esecuzione delle macro e poi modifica il file "Normal.dot" usato da Office come modello per tutti i documenti scritti con Microsoft Word, inserendovi il suo codice: da quel momento in poi tutti i file salvati con questo programma di videoscrittura risulteranno infetti.
Il virus controlla poi se sul sistema è presente Microsoft Outlook: in caso affermativo, spedisce una copia di sé stesso ai primi 50 nominativi presenti nella rubrica dei contatti. Il virus non può spedire le e-mail se è presente Outlook Express (nonostante il nome simile, sono due programmi differenti).
Melissa può anche aggiungere del testo ai documenti .DOC se l'utente sta adoperando Word in un determinato momento della giornata, che dipende dal giorno del mese: il virus altera i documenti quando i minuti dell'orario corrispondono al numero del giorno. Ad esempio, se è l'11 aprile e l'utente sta aprendo o salvando un documento con Word all'undicesimo minuto di una qualunque ora di quel giorno (ad esempio le 14:11), il virus introduce nel testo la frase «Twenty-two points, plus triple-word-score, plus fifty points for using all my letters. Game's over. I'm outta here», che è un riferimento all'episodio "Bart the genius" (intitolato in italiano "Bart il genio") della serie di cartoni animati The Simpson.

## Varianti

Il virus ha visto nascere alcune varianti. La prima è stata battezzata Melissa.I: rispetto alla versione originale, che ha preso il nome di Melissa.A, le e-mail che crea hanno il soggetto ed il corpo del messaggio estratti a caso tra una serie di differenti voci. Essa usa inoltre un differente valore ("Empirical") per la chiave del registro di sistema che viene utilizzata per controllare se l'invio dei messaggi infetti è già stato effettuato. Melissa.I inoltre verifica se nell'orario il numero dei minuti corrisponde a quello delle ore: in caso affermativo, inserisce il testo «All empires fall, you just have to know where to push.» nel documento attivo e poi resetta la chiave di registro per permettere un nuovo invio di e-mail.
Melissa.O invia le e-mail infette ai primi 100 contatti della rubrica. L'e-mail contiene il soggetto «Duhalde Presidente Body: Programa de gobierno 1999 - 2004.».
Melissa.U è una variante più distruttiva. Spedisce le e-mail solo a 4 contatti ma, per contro, cancella alcuni file di sistema:
* c:\command.com
* c:\io.sys
* d:\command.com
* d:\io.sys
* c:\Ntdetect.com
* c:\Suhdlog.dat
* d:\Suhdlog.dat
Melissa.V è simile a Melissa.U rispetto alla quale si differenzia per il fatto che invia 40 e-mail. Fatto questo, essa cancella tutti i file presenti nella cartella radice dei dischi corrispondenti alle unità logiche M/N/O/P/Q/s/f/I/x/z/H/L e poi visualizza una finestra di dialogo contenente il testo «Hint: Get Norton 2000 not McAfee 4.02».
Melissa.W non disattiva le impostazioni relative all'esecuzione delle macro in Office 2000. Per il resto è identica a Melissa.A.
Melissa.AO invia un messaggio con un testo differente rispetto a quello di Melissa.A nonché inserisce il testo «Worm! Let's We Enjoy» nel documento aperto alle ore 10 di ogni giorno 10 del mese.

## David L. Smith

Il virus fu scritto da David L. Smith, un ex-programmatore di AT&T di Aberdeen, New Jersey (USA) e venne chiamato Melissa per via di una spogliarellista che Smith conosceva a Miami, in Florida. L'autore usò lo pseudonimo di Kwyjibo per firmare il virus. Melissa fu pubblicato il 26 marzo 1999 sul newsgroup alt.sex mediante un falso account e da lì si propagò in pochissimo tempo in tutto il mondo colpendo centinaia di migliaia di computer tanto che nel giro di poche ore dall'inizio dell'infezione la stessa Microsoft fu costretta a sospendere temporaneamente i suoi servizi di posta elettronica per contenere la diffusione di Melissa.
Fino all'arresto di David Smith non fu chiaro chi ci fosse dietro al virus: alcuni esperti di virus informatici ritenevano che i suoi autori fossero stati VicodinES e ALT-F11, che già avevano scritto un paio di macrovirus: a questa errata conclusione erano giunti analizzando il codice di Melissa e trovando delle corrispondenze con il codice dei loro precedenti virus. Inoltre VicodinES aveva in passato utilizzato lo stesso provider di Smith, Monmouth Internet. Smith fu arrestato circa una settimana dopo l'iniziale diffusione di Melissa con l'accusa di essere l'autore del virus: l'arresto fu possibile grazie a un'operazione congiunta tra l'FBI e la polizia di stato del New Jersey con l'aiuto del provider Monmouth Internet che fornì i tabulati degli accessi. Dopo il fermo, in molti si domandarono se Smith fosse l'unico autore del codice di Melissa e se Smith e VicodinES fossero la stessa persona. Le autorità reputarono comunque Smith colpevole della diffusione del virus perché Melissa era stato inviato sul newsgroup da un indirizzo IP che al momento del rilascio era stato assegnato a lui e lo rinviarono a giudizio.
Greg Miller, un consulente di una società di programmazione web, analizzò il codice e trovò due parti distinte di codice: la prima, relativa alla parte del codice che alterava i documenti di Word, era scritta da un programmatore amatoriale mentre la seconda, quella relativa al meccanismo di diffusione via e-mail, era scritta da un programmatore molto più esperto. Miller indicò però Smith come l'autore del solo codice del meccanismo di alterazione dei documenti, un genere di codice non molto diverso da quello già trovato in altri virus in circolazione, ipotizzando che VicodinES fosse quindi l'autore della parte più pericolosa. Secondo Miller, proprio per la secondarietà del codice scritto, Smith aveva una responsabilità molto minore rispetto a quella dell'autore del codice che diffondeva Melissa che, secondo lui, era la parte veramente pericolosa che aveva permesso a Melissa di diffondersi in così brevissimo tempo.
Il 9 dicembre Smith fu condannato a 20 mesi di carcere e a una sanzione di 5.000 dollari, oltre a 100 ore di lavori socialmente utili da scontare nel 2002. All'epoca della condanna la legge prevedeva per il reato di Smith una pena maggiore, ma il giudice aveva tenuto conto del fatto che Smith aveva subito collaborato con le autorità ammettendo le sue colpe ed accettando, in cambio di una riduzione della pena, di svolgere un certo numero di ore lavorative presso gli uffici della FBI stessa come ricercatore di virus e worm.