VIRUS INFORMATICI
Sommario:
Un virus informatico è
simile ad un virus biologico: si tratta di un piccolo programma, che contiene
una sequenza di istruzioni di cui alcune sono deputate alla replicazione
dell'intero programma.
Dopo la fase "riproduttiva", i virus informatici
iniziano a svolgere attività di varia natura: distruttive e/o di
ostruzionismo.
I virus informatici, come quelli biologici, sono pericolosi
per la tendenza che hanno a dare delle epidemie.
Si diffondono tramite
il trasferimento di files infetti da un computer ad un altro e, cosa
ancor più grave, possono attaccare computers collegati fra loro in rete.
Mentre i virus della prima generazione attaccavano soltanto i file
eseguibili (che nel sistema operativo DOS sono riconoscibili in quanto hanno
un estensione .COM o .EXE), i virus attuali sono in grado di
inquinare molti altri tipi di files e sono anche in grado di cambiare le
istruzioni del BIOS caricate in RAM, di diffondersi attraverso gli stessi
supporti fisici contenuti nel PC e di danneggiare fisicamente, persino
l'hardware.
I virus informatici della prima generazione erano in grado di diffondersi,
autoreplicandosi per mezzo degli stessi programmi che essi inquinavano.
Tipicamente essi svolgevano due funzioni:
- inizialmente copiavano se stessi in programmi non infettati;
- in seguito, dopo un prestabilito numero di esecuzioni, eseguivano le loro
istruzioni specifiche che consistevano nella visualizzazione di messaggi,
nella cancellazione o nella alterazione di files, fino alla cancellazione del
contenuto dell'intero hard disk, nella peggiore delle ipotesi.
In
questi virus, la sequenza di istruzioni che si attaccava al programma sano era
sempre la stessa.
I programmi antivirus riuscirono a contrastare tale
tipo di infezione definendo al loro interno delle "librerie" contenenti
le stringhe (sequenze di caratteri) di riconoscimento per i diversi
virus.
Tali stringhe si riferivano ad alcune sequenze di istruzioni
caratteristiche dei vari virus che via via venivano scoperti.
In questo modo
gli antivirus potevano neutralizzare l'infezione, ma era necessario il loro
continuo aggiornamento allo scopo di ampliare il contenuto delle librerie.
Un sostanziale passo in avanti nello sviluppo dei virus fu rappresentato ai
cosiddetti Virus TSR (Terminate and Stay Resident).
Si trattava
di virus che, una volta eseguiti insieme ad un programma infetto, rimanevano
residenti nella memoria labile (memoria RAM) del computer e infettavano in
maniera non obbligatoria altri programmi, solo qualora essi avessero particolari
caratteristiche.
La contromossa delle case produttrici fu di dotare tali
programmi della capacità di "marcare" (vaccinare) i programmi sani in modo di
poter riconoscere immediatamente un'eventuale variazione a loro carico.
Il successivo passo nell'escalation dei virus fu la creazione dei Virus
della Boot Area, cioè del primo settore dell'Hard Disk o dei diskette che,
semplificando, è è quella parte del disco che è deputata al mantenimento delle
conoscenze riguardanti l'organizzazione logica del contenuto del disco
stesso.
I nuovi antivirus dovettero quindi provvedere a controllare la
presenza di virus anche in queste aree critiche dei dischi.
Tutto il sistema di riconoscimento dei virus a mezzo di stringhe è è venuto
meno con la recente comparsa dei cosiddetti Virus Multipartiti o Mutanti,
la cui peculiarità risiede nel fatto che possono cambiare fino a milioni di
volte il loro codice eseguibile, cioè la sequenza di istruzioni contenuta
nei virus stessi. In alcuni casi cambiano le istruzioni, ma il comportamento
rimane lo stesso; in altri casi cambiano anche le azioni che il virus compie. A
tale famiglia di virus possono essere assimilati anche i cosiddetti Virus
Extra Traccia che collocano una parte del loro codice sulle tracce dei
dischi che loro stessi creano.
In tutti questi casi, ovviamente, il
riconoscimento per stringhe specifiche perde gran parte del suo significato.
Per contrastare tali tipi di virus sono stati creati degli antivirus che
effettuano ricerche euristiche, o che effettuano un controllo
runtime.
La ricerca euristica si basa sul seguente assunto: ogni
virus, quando entra in funzione, usa delle specifiche sequenze di istruzioni
per:
- Nascondersi
- Assumere il controllo del PC
- Modificare i programmi eseguibili ecc...
Avendo a disposizione una
libreria delle funzioni impiegate dai vari virus si può pensare di
intercettare anche virus sconosciuti purchè per attivarsi utilizzino tali
funzioni.
Il problema che si pone in questo caso è che i virus possono impiegare delle
routine di funzionamento perfettamente legali, utilizzate anche dai
normali progammi.
Conseguentemente si rischia di creare degli antivirus
"troppo sensibili" che riconoscono come virus anche dei programmi
normali, o degli antivirus "troppo poco sensibili" che consentono ad
alcuni virus di agire indisturbati.
Una ulteriore e fondamentale questione è relativa al fatto che chi, per
primo, fra virus ed antivirus, riesce a prendere il controllo del PC, ha
ovviamente le maggior possiblita' di risultare vincitore.
Lo stesso tipo di problema si pone con i cosiddetti sistemi di rilevamento
runtime (trappole intelligenti) che agiscono con diverse modalità ma che,
in definitiva, hanno anch'essi efficacia solo qualora prendano il controllo del
PC prima dei virus.
Ad aggravare la situazione sono comparsi due altri tipi di virus:
- Virus dell'I/O<
- Virus delle directory
In questi casi il livello di azione del
virus è estremamente sofisticato in quanto essi riescono ad assumere il
controllo del PC indipendentemente dal sistema operativo impiegato
intervenendo a livello del BIOS.
Da non molto tempo sono infine comparsi dei nuovi tipi di virus, i cosiddetti
Virus delle Macro che si appiccicano a files documento generati per
esempio con Microsoft Word per Windows, Microsoft Excel ecc...
Bisogna prestare particolare attenzione a questi virus in quanto essi si
possono facilmente trasmettere mediante lo scambio di files di tipo
"documento" (es. posta elettronica), anche fra sistemi operativi diversi
(MacOS e DOS/Windows, magari passando per Unix).
Questi virus si pongono in memoria quando viene caricato il documento infetto
che li contiene e quando vengono compiute determinate operazioni (salvataggio
automatico, ricerca e sostituzione di parti di testo ecc...) essi prendono il
controllo del programma in questione, in barba ad eventuali antivirus che non
possono/debbono interferire con le normali attività del programma. Così può
capitare che al momento del salvataggio finale, sparisca dal disco fisso
un'intera directory per effetto di un ordine di cancellazione (perfettamente
lecito dal punto di vista funzionale) impartito dal virus stesso. Ovviamente il
documento infetto trasmetterà l'infezione a qualunque altro documento dello
stesso tipo aperto durante la medesima sessione di lavoro e questo, a sua volta,
se aperto in un altro PC trasmetterà a sua volta l'infezione ad altri documenti
presenti in un altro PC.
I virus delle macro possono manifestarsi con una molteplicità di problemi
quali:
- Possibilità di salvare il documento solo in formato .txt
- Cancellazione di icone
- Occupazione eccessiva di memoria fino al blocco totale del sistema
- Cancellazione di intere directory di files dati ecc...
Contro
questi virus sono attivi solo gli antivirus più recenti.
Tutte le considerazioni fatte fin qui e la continua evoluzione dei virus
consente di affermare che:
- Non esiste un antivirus migliore degli altri
- I migliori antivirus in circolazione, in media, mancano il bersaglio nei
confronti del 10-12% dei virus presenti nel territorio in un certo momento
- Non e' dotandosi di 5-6 antivirus che si risolve il problema della
prevenzione e/o della disinfestazione.
In conclusione molto dipende
dall'uso che un utente fa del proprio PC e in funzione di ciò vanno prese
opportune misure.
Esiste una serie di misure di prevenzione che comunque conviene adottare e
che rendono più difficili le infezioni o più facile il ripristino della
situazione.
Si possono ipotizzare due situazioni:
- DANNO GIA' AVVENUTO
- INFEZIONE SCOPERTA IN TEMPO
Nel primo caso l'utente si
accorge della presenza del virus in quanto, per esempio, è avvenuta una
formattazione a basso livello dell'Hard Disk. L'unica cosa da fare, in questi
casi, è ripristinare il contenuto dell'HD con i dati di un recente
backup, dopo opportuna opera di disinfestazione.
Accanto all'importanza di disporre di un backup c'è anche da rilevare
l'importanza di possedere i diskette originali del sistema operativo e dei
singoli programmi, protetti in scrittura e quindi sicuramente non
infetti.
La procedura di disinfezione nei casi più gravi comporta:
- Formattazione dell'HD, definizione delle partizioni e reinstallazione
del Sistema Operativo.
- Reinstallazione dei programmi a partire dai diskettes originali,
protetti in scrittura e sicuramente non infetti.
- Effettuzione di un RESTORE dei soli dati a partire da una copia di
backup recente.
NESSUN PROGRAMMA ESEGUIBILE DOVRA' ESSERE RIPRESO DALLE
COPIE DI BACKUP: potrebbe essere infetto.
- Se si sospetta un virus delle macro, prima di aprire i documenti sarà
opportuno controllarli con dei programmi antivirus per verificare che non
siano infetti.
Se l'infezione è invece scoperta in tempo, prima
che provochi danni irreparabili, si possono fare numerose cose:
- Spegnere il computer e riaccenderlo lanciando il sistema operativo dal
drive A, con un floppy protetto in scrittura.
- Eseguire dei controlli con antivirus atti a verificare la presenza
del/dei virus.
- Fare un backup dei SOLI DATI delle applicazioni di uso corrente.
- Formattare l'Hard Disk, dopodichè si è ricondotti al caso del danno già
avvenuto.
E' da sconsigliare in linea generale la semplice
disinfezione con i programmi appositi: spesso essi nel tentativo di eliminare il
virus alterano in maniera definitiva il programma disinfettato che, pertanto,
deve essere, comunque, reinstallato.
Qualora si verifichi un'infezione, è NECESSARIO controllare tutti i
diskettes di cui si dispone con un programma di scansione, perchè
l'infezione potrebbe ripetersi. Si perderà del tempo nel controllo, ma sarà
tempo speso bene!!!
Per qualche tempo dopo l'infezione conviene "vigliare" nei confronti di nuove
infezioni: qualche diskette infetto può essere stato dimenticato e non esser
stato sottoposto all'opera di controllo.
- Limitare lo scambio di diskettes contenenti files .EXE, .COM, .OVR,
.OVL, .SYS, .DOC, .XLS fra computers.
Per principio sottoporre a controllo
(scansionare) qualsiasi diskette di provenienza sospetta prima di eseguire uno
qualsiasi dei files in esso contenuti.
- Ridurre l'uso di programmi shareware e di pubblico dominio se non se ne
conosce la provenienza.
- Non inserire il proprio "disco sistema" in un altro computer se non in
condizione di "protezione in scrittura".
- Proteggere in"scrittura" tutti i propri diskette di sistema o
contenenti programmi eseguibili.
- Se si utilizza un computer che necessita di un "bootstrap" da floppy,
usare un floppy disk protetto in scrittura.
- Non attivare mai da floppy un sistema basato su hard disk a meno di
utilizzare un disco di sistema, protetto in scrittura e sicuramente non
infetto.
- Non eseguire mai programmi di origine sconosciuta. Se proprio lo si
dovesse fare, avvalersi di un programma antivirus di "SCANSIONE" che esamini
il contenuto del diskette in modo di rilevare la eventuale presenza di
virus.
- Limitare la trasmissione di files eseguibili (.COM, .EXE, .OVL, .OVR) e
di sistema (.SYS) tra computers in rete.
- Non utilizzare i file server di rete come stazioni di lavoro.
- Non aggiungere mai dati o files ai floppy contenenti programmi
originali.
Un virus informatico può
diffondersi rapidamente in una rete locale o in un computer senza che nessuno se
ne accorga; pertanto conviene adottare delle norme di sicurezza:
- Sviluppare una cultura della sicurezza come prerequisito per l'utilizzo
del computer.
- Diminuire il più possibile i rischi di "infezione" da sorgenti interne
e/o esterne.
- Sapere come recuperare i dati e i programmi dopo un'infezione
virale.
- Effettuare frequenti BACKUP dei dati e programmi "critici".
- Effettuare CONTROLLI PERIODICI con programmi "antivirus".
- Sviluppare procedure per contenere un'infezione quando incontrata.
- Tutelare i settori più delicati dell'disco fisso (Boot area e Master
Boot Record).