Curiosità informatiche
Animal e Pervade



Ecco una storia che merita di essere raccontata: come un nuovo sistema di distribuzione di un software divenne qualcosa di simile a un virus.
La nostra storia comincia nel gennaio 1975, quando un giovane programmatore di nome John Walker decise di trovare un canale per distribuire efficacemente un gioco didattico di sua invenzione chiamato Animal. Il gioco era basato sul presupposto che il giocatore pensasse a un animale; di seguito il software gli avrebbe posto una serie di domande cercando di “indovinare” di che animale si trattasse. Era un gioco piuttosto evoluto¹, dal momento che faceva riferimento a un database che si sviluppava grazie alla partecipazione dei giocatori. La piattaforma sulla quale il programma veniva eseguito era il sistema operativo multiutente Exec-8, su calcolatore Univac 110/42. Quanto di meglio, all'epoca, fosse in circolazione. Il gioco ebbe subito fortuna, e cominciò la sua circolazione; ai tempi, però, non esisteva ancora la trasmissione dei dati su scala globale, e inviare un programma o dei dati significava registrare un nastro magnetico e spedirlo per posta.
Walker decise di incorporare nel codice di Animal una routine che permettesse una rapida diffusione del programma all'interno di un sistema multiutente su Univac: e chiamò questa routine Pervade. Grazie alle directory condivise, Pervade permise una veloce diffusione del software nel sistema della compagnia presso la quale Walker lavorava: esaminando tutte le directory del sistema, identificava tutte quelle che non contenevano Animal o ne contenevano una versione non aggiornata, e vi copiava l'ultima versione del gioco. In questo modo tutti gli utenti si ritrovavano a disporre, in tutte le directory a cui avevano accesso dai loro terminali, di una copia aggiornata del gioco. E poiché gli utenti collegati al sistema erano davvero tanti, Animal proliferò velocemente. Si diffuse inoltre su altri sistemi della compagnia, quindi su altri sistemi Univac. E velocemente raggiunse altre città e altri stati.
È bene notare che Animal, pur presentando comportamenti virali, era un software piuttosto discreto: ogni volta che creava una nuova copia di sé sovrascriveva la vecchia versione, e in nessun caso danneggiò i dati presenti nelle directory sulle quali si copiava. Conteneva anzi una subroutine che non gli permetteva di scrivere una copia di sé nemmeno su un file che avesse il suo stesso nome: non poteva in nessun caso essere classificato come un software malevolo. Cionondimeno, con il tempo la vicenda assunse la forma di una vera e propria leggenda metropolitana: si cominciò ad affermare che Animal fosse stato un programma estremamente invasivo che faceva collassare interi sistemi gettando nella disperazione le compagnie che ne erano colpite: la storia insomma fu ingigantita, ad opera di piú o meno ingenui diffusori che ne erano a conoscenza grazie a bene informati amici di amici.
Circolò pure la voce che Animal fosse stato eradicato grazie alla creazione di una sua versione piú aggressiva che sostituí tutte le copie in circolazione del gioco per poi scomparire, dopo qualche tempo, grazie a una routine autodistruttiva incorporata. Solo una leggenda appunto, che lo stesso John Walker ha smentito. A parte il fatto che la procedura in questione sarebbe stata inefficace per eliminare ogni copia del software autoreplicante, in verità non vi fu alcun bisogno di eradicare il gioco: nel 1976 fu rilasciata una nuova versione del sistema operativo, con la quale Pervade non era compatibile: Animal poteva ancora essere eseguito, ma non aveva la capacità di autoreplicarsi nel nuovo ambiente.
  1. Per farsi un'idea del valore del programmatore, basterà ricordare che il gioco era stato interamente scritto in linguaggio Assembly. Chiunque abbia una certa familiarità con i linguaggi di programmazione sa bene che valore abbia un lavoro di questo genere.
  2. Chi volesse leggere il resoconto in lingua inglese della vicenda, scritto da John Walker può trovarlo qui.

1 dicembre 2014


Questo testo è proprietà intellettuale dell'autore, Ferruccio Sardu. La sua riproposizione, anche parziale, implica la citazione della fonte.


← Precedente     Successiva →


linea

Torna al menu delle Curiosità Informatiche