Il termine virus (veleno in latino) viene usata da sempre in medicina per indicare organismi parassiti relativamente semplici e molto piccoli, rispetto all'organismo che invadono, incapaci di replicarsi autonomamente e che si riproducono penetrando in una cellula ospite per assumere il controllo dei suoi processi metabolici. Una volta infettata la cellula andranno ad infettare le altre con lo stesso processo. Allo stesso modo i virus informatici penetrano nel programma ospite modificandolo, sia per riprodursi sia, in seguito, per danneggiare dati e/o programmi presenti su supporti registrabili. I virus informatici sono dei programmi costituiti da poche centinaia di istruzioni, al massimo un migliaio; ciò consente loro di portare a termine il compito per cui sono stati scritti senza, in genere, far notare la loro presenza all'utente.
Il primo ad usare il termine virus per descrivere qualcosa che infettasse un computer fu David Gerrold nelle sue storie di fantascienza sulla "G.O.D. machine ". Queste storie furono poi messe insieme e fecero parte del libro "When Harlie Was One" [Ger72]. Una parte di quel libro descriveva un programma chiamato virus creato da uno scienziato pazzo. Il computer infettato provava a contattare un altro computer via telefono. Entrava poi in quel sistema e lo infettava con una sua copia. Questo programma si infiltrava nel software di sistema e lo rallentava fino a renderlo inusabile (tranne che per infettare altre macchine). L'inventore aveva pensato di vendere un programma chiamato Vaccine il quale curava il virus e preveniva le infezioni, ma accadde un disastro quando a causa di un disturbo sulla linea telefonica il virus mutò e l'antivirus (Vaccine) non era più in grado di rilevarlo.
Il termine computer virus fu usato per la prima volta, in modo formale, da Fred Cohen
[Cohen] della University of Southern California,
il quale definì il termine per riferirsi a qualcosa che attaccava se stesso ad altro
codice e lo trasformava a sua volta in qualcosa che producesse altri virus; per citare
il suo lavoro: "... a program that can infect other programs by modifing them
to include a possibly evolved copy of itself " ( ... un computer virus é un
programma che può infettare altri programmi, modificandoli in modo da includere una
possibile copia di se stesso). Cohen sostenne che il primo computer virus nacque
il 3 novembre 1983, con fini dimostrativi, nell'ambito di una ricerca finanziata da
una delle principali società costruttrici di computer ed inserita in un progetto
più grande di studio sulla sicurezza dei sistemi informativi. L'obiettivo della ricerca
consisteva nel dimostrare come la possibilità di un attacco al patrimonio informativo di
un'azienda non fosse limitata a quella tradizionalmente presa in esame negli studi sulla
sicurezza fino ad allora svolti. Tale studio aveva incentrato l'attenzione sull'attacco
fisico (come atti terroristici), sulla conoscenza illegittima di password e su modifiche
ai programmi effettuate da personale interno alle aziende. L'esperimento, che riuscì
perfettamente, dimostrò che predisponendo opportunamente il programma aggressore, era
possibile attaccare qualsiasi sistema: il computer virus sperimentale, sviluppato in sole otto ore
da un esperto, impiegava meno di mezzo secondo per replicarsi in un altro programma, che
diventava, a sua volta, portatore del computer virus.
Una descrizione di alcuni tipi di computer virus è la seguente:
un cavallo di Troia è un programma apparentemente legale che contiene istruzioni
che realizzano funzioni non richieste dall'utente o non documentate nella guida utente.
Un esempio di cavallo di troia è il seguente:
nei primi giorni del settembre '86, un pirata informatico, Kevin Mitnick, s'introdusse in un gran numero di computer nella zona di San Francisco invadendo, tra l'altro, nove Università, quindici compagnie della Silicon Valley, nove siti Arpanet e tre laboratori governativi. Il virus sostituiva il programma di accesso alla rete, con una sua copia modificata, in modo tale da restituire al suo autore login e password dell'utente che si stava identificando in quell'istante. In questo modo Mitnick, aveva libero accesso alla rete, con uno sforzo computazionale minimo.
una chain letter è uno script annidato in un e-mail, che quando eseguito,
spedisce copie di se stesso a tutti gli utenti che riesce a reperire dall' elenco dei
contatti dell'utente infetto.
Un esempio di chain letter è il seguente:
nel dicembre '87, un messaggio natalizio, proveniente dalla Germania Ovest, si propagò negli USA attraverso le macchine IBM della rete Bitnet . Il messaggio conteneva un programma che mostrava una immagine di un albero di Natale che, nel frattempo, spediva una copia di se stesso a tutti gli utenti presenti nella mailing list dell'ignaro utente. Questo programma proliferava rapidamente da un utente all'altro della rete una o più volte in modo che il numero di copie cresceva esponenzialmente. La rete Bitnet fu isolata finché tutte le copie furono localizzate e cancellate.
un virus è un programma (sequenza di istruzioni) progettato per inglobarsi e
confondersi tra le istruzioni di altri programmi, modificandoli. Il virus comincia a
compiere l'azione per cui è stato programmato al verificarsi di particolari condizioni,
distruggendo dati e/o programmi presenti su una memoria di massa o semplicemente facendo
comparire un messaggio sul video.
Un esempio di virus è il seguente:
nell'autunno dell '87, fu scoperto un programma che incorporava una sua copia in altri programmi sui personal computer della Hebrew University in Israele. Questo virus, in seguito noto come Friday 13, fu scoperto da uno studente, Yuval Rakavy, il quale si accorse che alcune librerie di programmi incrementavano la loro dimensione senza una ragione apparente. Isolò il codice e scoprì che ogni venerdì, la trentunesima esecuzione di un programma infetto, veniva rallentata dell'80%, e che il giorno venerdì 13 maggio 1988 il virus avrebbe cancellato tutti i file sui computer infetti. La data rappresentava il quarantesimo anniversario dell'ultimo giorno in cui la Palestina era stata un'entità politica indipendente.
un worm è un programma che prolifera sulle reti di computer. Si ricopia da solo
sfruttando, in genere, bug del sistema operativo di rete. Non necessita di un programma
portatore.
Un esempio di worm è il seguente:
intorno alla metà degli anni '70, la rete di computer della Silicon Valley Research Center, veniva occasionalmente infestata da un programma che caricava se stesso su una workstation che era in idle, disabilitava la tastiera, disegnava delle immagini a caso sullo schermo e monitorava la rete alla ricerca di altre workstation in idle da invadere. L'intera rete, e tutte le stazioni, dovevano essere arrestate (shutdown) e poi riavviate per ripristinare il funzionamento normale di tutto il sistema.
Le analogie tra i virus biologici e quelli informatici, non si limitano a una spiccata somiglianza tra le loro attività, ma riguardano anche quello che può essere definito il ciclo di vita di un virus (vedi figura 1).
figura 1: fasi del ciclo vitale
In seguito è spiegato il significato di ogni singola fase:
creazione: è la fase in cui lo sviluppatore (Hacker) di software progetta, programma e diffonde il virus. Il procedimento di creazione è oggi alla portata di molte persone, anche senza competenze, grazie alla sciagurata diffusione di pacchetti software che permettono, anche ad utenti inesperti, di creare virus pericolosissimi. Di solito i virus sono realizzati tramite linguaggi di programmazione a basso livello, che consentono di scrivere un programma con istruzioni simili o, se si preferisce, vicine a quello del linguaggio del microprocessore, quali l'assembler ed, in alcuni casi, il C, in modo tale da ottenere codice virale di pochi centinaia di byte
incubazione: il virus non compie alcuna attività se non controllare che il file o il sistema da infettare sia libero da infezioni
infezione: se l'infezione non è attiva sullo stesso sistema, allora il virus infetta il file e di conseguenza il sistema
attivazione: al verificarsi delle condizioni, previste dall'hacker, il virus può iniziare l'azione dannosa. Il fatto che inizi a funzionare sul serio, non vuol dire che la sua presenza divenga immediatamente avvertibile dall'utente. I virus meglio sviluppati sono quelli caratterizzati da una maggior difficolta di essere individuati.
propagazione: il virus propaga l'infezione, riproducendosi e infettando sia file nella stessa macchina che altri sistemi (tramite scambio di dischi, connessioni via modem o collegamenti in rete)
riconoscimento:
il virus viene riconosciuto come tale e viene individuata la stringa di riconoscimento (è una firma che
contraddistingue ciascun virus)
estirpazione: è l'ultima fase del ciclo vitale del virus (o almeno così si spera) che segue il riconoscimento approntando lo strumento per eliminare il virus dal sistema. E' possibile che gli antivirus riescano ad estirpare completamente e definitivamente almeno i virus più vecchi, così come è successo con alcuni virus biologici, ma, al pari di essi, l'eliminazione non è mai sicura al 100% e il virus potrebbe riapparire improvvisamente da qualche parte.
![]() |