I Virus Informatici
Come difendersi dai virus WORM
I Virus per spiare.... i TROJAN HORSE (cavallo di troia
LO SPAMMING CHE COS'E'... E COME SI EVITA
In
origine || Cos'è un virus? || Categorie di virus || Come si diffondono
Sintomi di infezione || Virus e Internet || Come
difendersi || Gli antivirus
Le basi concettuali dei virus sono in circolazione da molto più tempo rispetto alla minaccia che essi rappresentano. Gli storici dei virus si trovano in disaccordo su tempi e luoghi specifici, ma in genere si concorda sul fatto che lidea è nata quando il computer erano molto più costosi e di grandi dimensioni, prerogativa di grandi società e strutture governative, non ancora alla portata di tutti. Il termine "virus" è stato utilizzato per la prima volta da Len Adleman, un ricercatore dellUniversità Lehigh in Pennsylvania, che ha paragonato il comportamento di un virus informatico a quello di uno biologico, soprattutto per quanto concerne il propagarsi dellinfezione. In origine questi programmi non furono creati per provocare danni, come fanno la stragrande maggioranza dei virus di oggi, ma il principio si basava su considerazione molto più interessanti: se era possibile creare un programma in grado di autoreplicarsi, era anche possibile fare in modo che questo si sviluppasse. Se nel processo di replicazione si verifica un errore, il codice, ovvero le informazioni in bit che costituiscono il programma, risulta mutante. Così come il codice mutante genetico determina la misura in cui un virus biologico è in grado di sopravvivere e diffondersi, il codice mutante digitale potrebbe determinare la misura in cui un virus informatico è in grado di sopravvivere nel suo ambiente. Come conseguenza logica di tale teoria, trascorso un periodo di tempo sufficiente, un virus informatico potrebbe svilupparsi in qualcosa di simile a unintelligenza artificiale. Oggi, invece, si è passati dallesperimento innocente allattacco doloso, poiché è cambiato anche il genere di persone che scrive tali programmi. Qualunque sia la motivazione, tuttavia, il numero di persone in grado di creare un virus è in aumento. Il primo virus sviluppato in Italia, che ebbe una notevole diffusione in tutto il mondo, fu il cosiddetto virus della pallina - denominato "ping-pong" - che si limitava a far comparire sul video del computer una "faccina sorridente" che si spostava su tutto lo schermo; è quasi certo che tale virus sia stato realizzato per fini di ricerca, nel 1987, da alcuni studenti del politecnico di Torino.
Se in natura i virus possono trovare una giustificazione per la loro esistenza nel settore informatico la loro nascita e diffusione è dovuta solamente alla dabbenaggine di quanti si sono esercitati a creare dei programmi il cui solo scopo è quello di mettere a repentaglio l'integrità dei dati contenuti nelle memorie dei computer, tanto è vero che sia in Italia che in molti paesi del mondo la creazione e diffusione di un virus è assimilata ad un reato punito severamente. All'inizio si trattava di una palestra di esercitazione per programmatori in vena di fare degli scherzi ai colleghi, ma ben presto si è passati a una vera e propria lotta per il primato di chi poteva vantarsi di aver ingannato i sistemi informatici delle aziende o delle società con questi mini-programmi che in pochi bytes racchiudevano le informazioni necessarie a vanificare il lavoro di tante persone. Prima di addentrarci nella definizione di virus informatico, desideriamo tranquillizzare i deboli di cuore dicendo loro che l'azione dei virus contratti dai computer non possono infettare l'uomo! Sembrerebbe una banalità, tuttavia l'azione disinformativa portata avanti dai mass-media tradizionali ha condotto molte persone a crederlo, quindi ci sentiamo in dovere di far tirare un sospiro di sollievo a coloro che hanno tolto il computer dalla camera dei bambini per evitarne l'improbabile contagio. Tranquillizzati gli animi, vediamo di definire un virus informatico come un normalissimo programma, generalmente di piccole dimensioni, che ha la capacità di replicare se stesso su più computers attraverso meccanismi che vedremo in seguito. Benchè la parola virus risvegli recondite paure negli animi dei più, non necessariamente un virus informatico deve produrre dei danni irreparabili al vostro computer, anzi possiamo affermare tranquillamente che nessun virus è in grado di danneggiare l'hardware che state utilizzando, intendendo come hardware il monitor, il disco rigido, l'unità CD-ROM, la stampante, la tastiera e quanto altro concorre a formare una stazione di elaborarione dati comunemente chiamata personal computer. Il termine virus è stato scelto per via delle comuni caratteristiche che ha con i virus biologici; infatti entrambi sono di piccole dimensioni ed entrambi cercano di replicarsi in qualche modo su 'individui' diversi, ma le analogie terminano qui. Come un virus biologico non può assolutamente infettare un computer - concetto di pacifica assimilazione - il contrario è ugualmente impossibile anche se mi sento di aggiungere un consiglio di igiene:... curate la pulizia della vostra tastiera che per forma e utilizzo è quella che maggiormente si presta ad essere ricettacolo di polvere che a lungo andare puo' danneggiare l'integrità dei contatti elettrici dei tasti portando a malfunzionamenti.
Abbiamo detto prima un virus è genericamente un piccolo
programma che replica se stesso su più computers con uno scopo che può andare
dall'inviarvi gli auguri di Natale sullo schermo, alla distruzione dei dati contenuti nel
disco rigido del vostro computer. Sotto questo nome tuttavia si fanno generalmente
rientrare i programmi che in maniera più o meno subdola cercano di creare dei problemi al
vostro amato amico elettronico e ai suoi preziosissimi dati. Addentrandoci nello
specifico, esistono diverse categorie di virus informatici:
Virus di file
Esistono parecchi tipi di virus, ognuno dei quali presenta caratteristiche diverse e
utilizza tecniche differenti per diffondersi e per sfuggire allazione dei software
di rilevazione.
I virus di file aggiungono il proprio codice virale direttamente in fondo ai file dei
programmi, cioè quelli con estensioni .exe o .com e, in generale, a tutti quelli
contenenti istruzioni eseguibili dal processore; talvolta attacca anche i file .ovl o
.sys, che non possono essere eseguiti direttamente ma vengono richiamati da altre
applicazioni. In condizioni normali, lesecuzione di un file comincia in un punto di
ingresso (entry point) definito dal sistema operativo, che contiene informazioni relative
alla struttura del file.
Queste istruzioni costituiscono lintestazione (header) del programma. Nella maggior
parte dei casi, dopo lintestazione è presente unistruzione di salto (jump)
verso la prima parte del corpo vero e proprio delleseguibile. In un programma
infetto questa istruzione di jump viene modificata, in modo da puntare direttamente al
codice del virus che, in questo modo, entra in azione quando viene eseguito il programma
virato. Lultima istruzione del codice virale è un salto allindietro, che
rimanda allesecuzione della prima istruzione del programma originale.
Per neutralizzare questi tipi di virus, sono stati realizzati appositi strumenti di
rilevazione chiamati motori di scansione o scanner. La prima operazione eseguita da uno
scanner è la ricerca di istruzioni di salto incondizionato, per poi verificare se, nel
punto in cui avviene il salto, è presente la stringa caratteristica di uninfezione.
Un virus viene individuato dopo il confronto del codice del file in esame con un insieme
di stringhe già isolate in precedenza. E questo il motivo per cui, dopo aver
riscontrato una nuova infezione, i produttori di antivirus chiedono di esaminare il file
virato: in questo modo è possibile aggiungere una nuova stringa di riconoscimento alla
libreria esistente.
Virus dei settori di avvio e di partizione
Le informazioni principali sul disco, come il numero dei settori e la posizione fisica di
ogni partizione, sono memorizzate nel settore di partizione (o MBR, Master Boot Record).
La prima operazione eseguita al momento del boot è la lettura dellMBR, in seguito
si passa al settore di avvio, allinterno del quale è memorizzato il codice
necessario per caricare i file di sistema.
Il boot da floppy è molto simile, lunica differenza è che nei dischetti, non
potendo essere partizionati, non è presente il Master Boot Record.
Il programma relativi al boot sono memorizzati nel BIOS e, a differenza degli altri non
vengono eseguiti tramite il loro entry point (il puntatore alla locazione logica in cui
sono stati posizionati dal sistema operativo), ma vengono caricati in memoria riferendosi
direttamente agli indirizzi fisici dei settori per mezzo di puntatori.
La procedura di boot utilizza, quindi, uno schema a indirizzamento assoluto, senza
considerare la struttura delle directory: il BIOS punta sempre e solo al prima settore
fisico del disco di avvio, nel caso di un dischetto si tratta del settore di avvio, o boot
sector, nel caso di un disco fisso si tratta invece di quello che contiene lMBR, che
punta al settore di avvio, cioè al primo settore della partizione primaria. A questo
punto viene eseguito il file IO.SYS, situato necessariamente sul cluster numero due.
Un virus appartenente a questa categoria, inizialmente sposta il programma della tavola
delle partizioni in un settore qualsiasi del disco, successivamente copia sé stesso nello
spazio così liberato. In questo modo, il codice virale viene eseguito automaticamente a
ogni boot del sistema e viene attivato direttamente dal programma di avvio memorizzato nel
BIOS.
Dopo essere stato caricato, il virus si collega al settore del disco dove ha spostato la
tavola delle partizioni, permettendo un avvio "quasi" normale. Nella maggior
parte dei casi, il virus sceglie abitrariamente dove spostare la tavola delle partizioni e
i settori di boot originali, che poi vengono indicati come non utilizzabili nella FAT
(File Allocation Table), in modo da evitare che un programma qualunque il sovrascriva
accidentalmente.
Il modo più frequente per essere contagiati da questo tipo di virus è avviare il sistema
con un dischetto nellunità A, anche vuoto, perché comunque contiene dei dati nel
settore di avvio. Un esempio è la frase "Disco non di sistema o errore
disco...". Per limitare i rischi si può modificare limpostazione del BIOS che
indica di ricercare il sistema operativo prima in A poi in C.
Un punto di forza di questi agenti virali è che possono contagiare allo stesso modo
qualsiasi PC, indipendentemente dal sistema operativo utilizzato: questo perché il codice
è scritto in linguaggio macchina e viene eseguito prima del sistema operativo.
Anche se non sembrerebbe, visto il modo di propagarsi di questi agenti virali, i virus di
partizione sono molto diffusi, due esemplari famosi sono Stoned e Form. Questo accade
anche perché avviare il sistema da un disco infetto non è lunico modo per
contrarre linfezione: esistono alcuni programmi (chiamati dropper) che, una volta
eseguiti, installano un virus sul disco fisso. Con Windows 95, la vita di questi virus è
molto più difficile, in quanto il sistema operativo controlla i settori di avvio e delle
partizioni a ogni boot, per poi fare una copia nel file SUHDLOG.DAT, in modo da poter
confrontare i dati con quelli relativi allultimo boot e, se rileva delle variazioni,
emette opportuni messaggi de avviso.
Virus multipartito
I virus di questa categoria presentano caratteristiche intermedie tra quelli di file e
quelli di partizione, sono quindi in grado di infettare file eseguibili e settori di avvio
e di partizione. In generale hanno vita dura in ambiente Windows 95, dato che il sistema
operativo rileva automaticamente variazioni nei settori di boot e di partizione, come già
indicato in precedenza. Virus companion
Il sistema operativo esegue prima i file .com di quelli .exe quindi, se in una stessa
cartella sono presenti due file con queste due estensioni, viene avviato prima il .com.
Per questo motivo, i virus companion creano un file .com nascosto e lo posizionano nella
stessa cartella di un .exe; così facendo prima di eseguire normalmente leseguibile
viene eseguito il file di comando, che contiene il codice virale. Esiste anche una
variante più evoluta di questo tipo di infezioni, chiamata virus companion di path. La
differenza è che il file virato .com non viene creato nella stessa directory del .exe, ma
viene posizionato in una delle cartelle indicate dal listruzione PATH, presente nel
file DOS chiamato AUTOEXEC.BAT. Quando viene richiamato un programma non presente nella
directory corrente, il sistema operativo lo ricerca nella posizioni indicate dal comando
PATH. Anche in questo caso viene eseguito prima il file virato .com e, successivamente, il
.exe. I virus companion e i virus companion di path possono essere attivi durante le
sessioni DOS di Windows 95.
Virus del file system
La posizione fisica dei file presenti su qualsiasi unità è memorizzata nella relativa
FAT (File Allocation Table). I virus del file system modificano lindice dei nomi e
degli indirizzi dei file (residente, appunto, nella FAT) in modo che il virus possa essere
eseguito prima del programma originale. I file non vengono modificati fisicamente, ma lo
sono solo i relativi indirizzi nella tabella di allocazione dei file, in modo che il
sistema infetto punti alla zona del disco dove è presente il codice virale che, dopo aver
eseguito le sue normali operazioni, restituisce il controllo al programma originale.
Virus
di macro
Una macro è una sequenza di istruzioni, utilizzata generalmente per compiere operazioni
particolarmente complesse, oppure per automatizzare procedimenti ripetitivi.
"Programmi" di questo tipo si trovano generalmente in file di testo (ad esempio
documenti Word) oppure in fogli di calcolo (Excel). Un virus di questa categoria è
costituito tipicamente da una o più macro, nella maggior parte dei casi contenuta in un
file di modello (template) in modo da poter infettare tutti i documenti basati su quel
modello. La capacità di duplicarsi è garantita dalla possibilità di essere eseguito
automaticamente al momento dellapertura del file. La maggior parte dei virus macro
non è dannosa, a parte la minima crescita delle dimensioni del file che infettano. Pur
essendo multipiattaforma, in quanto esistono diverse versioni dello stesso applicativo su
più piattaforme, sono spesso legati a una sola nazione, perché le istruzioni dei
linguaggi macro vengono spesso tradotte nel paese in cui viene commercializzata
lapplicazione. Leliminazione dei virus macro è molto semplice, dato che la
stringa caratteristica è sempre in chiaro e non è mutante.
Cavalli di Troia
Sono virus memorizzati in file apparentemente innocui, come PKZIP300.EXE, che sembra
lultima versione del famoso programma di compressione file, invece, una volta
attivato, svuota lunità corrente. Non si possono però considerare veri e propri
virus, in quanto non hanno la capacità di replicarsi. (attualmente questi virus
non sono più molto diffusi, i cavalli di troia, oggi
comportano altri problemi)
Bombe ANSI
Sono programmi che assegnano a singoli tasti di uso comune (come i caratteri della
tastiera, i tasti funzione, lInvio, ecc.) stringhe di caratteri, consentendo
lassegnazione di distruttivi come FORMAT C:, DELTREE *.*, DEL*.EXE e così via. Per
ottenere questo risultato modificano il file CONFIG.SYS.
Bombe logiche
Le bombe logiche non sono programmi interi, ma sono routine, cioè parti di programmi, che
vengono eseguite solo al verificarsi di determinate situazioni, come a una data, a un
orario predefinito, dopo che una certa operazione è stata effettuata un certo numero di
volte, ecc. Possono provocare la cancellazione di alcuni file oppure formattare interi
dischi.
Si possono trovare allinterno di virus o cavalli di Troia.
Worm
Sono programmi che producono copie di sé stessi in altri sistemi interconnessi, con lo
scopo di saturare le reti di trasmissione. Un worm famoso è quello che si diffuse in
Internet nel novembre 1988, diffondendosi in poche ore su oltre 6.000 computer. Costò al
suo autore, la studente universitario Robert Morris, tre anni di reclusione (con la
condizionale) oltre ad una multa di 10.000 dollari e molte ore di lavoro gratuito a favore
della comunità.
Virus residenti in memoria
Alcuni programmi caricano in RAM il loro codice e sono chiamati TSR (Terminate and Stay
Resident). Dal momento che il contenuto della RAM viene perso ogni volta che si spegne il
computer, i TSR devono essere eseguiti dallutente, oppure bisogna indicarne
lesecuzione automatica negli appositi file di configurazione o di boot. Una volta
eseguito il codice virale, questo può prendere il controllo delle principali funzioni del
computer e sfuggire più facilmente alla rilevazione da parte dei programmi antivirus. Una
delle operazioni più frequenti è la copia della FAT sana, in unaltra posizione, in
modo da far apparire non infetti i file virati. Un altro aspetto importante è la
possibilità di controllare le operazioni di lettura e scrittura su disco, in modo da non
dare nessun segno della propria presenza. Le caratteristica più pericolosa dei virus TSR
è la possibilità di "catturare" i vettori di interrupt. Gli interrupt software
sono routine del BIOS, memorizzati in una memoria ROM (non modificabile). Per essere
eseguite, queste routine devono essere caricate in RAM dove il sistema operativo è in
grado di rintracciarle utilizzando le informazioni presenti in una tabella di puntatori
(vettori di interrupt). Ogni interrupt adempie a una funzione particolare, ad esempio,
lint. 13h (13 indica il tipo di funzione, h ricorda che si sta usando la notazione
esadecimale) gestisce laccesso ai dischi, lint. 24h controlla gli errori,
lint. 10h si riferisce al video e così via.
Quando un virus si installa residente in memoria, sostituisce uno o più vettori di
interrupt con nuovi puntatori alle proprie routine, quindi, quando viene richiamato un
interrupt, prima viene eseguito il codice virale e poi viene comunque lanciato
linterrupt, per interferire il meno possibile con le normali operazioni.
Con Windows 95, le possibilità di sopravvivenza di tali virus sono limitate alle sessioni
DOS, quindi il rischio di contagio si è notevolmente ridotto.
Virus Mimetici, a mimetizzazione (Stealth)
Per nascondere le modifiche apportate al sistema, alcuni virus TSR utilizzano tecniche
dette di mimetizzazione (o stealth). Lobbiettivo viene raggiunto controllando le
funzioni utilizzate per leggere i file o i blocchi fisici dei dischi, in modo d ingannare
lutente e i programmi con una situazione apparentemente normale. Alcuni virus, dopo
aver infettato un file, ne modificano la voce corrispondente nella FAT, in modo da far
apparire inalterata la sua lunghezza; alcuni virus di boot, in caso di controllo,
restituiscono lMBR originale, nascondendo linfezione.
Il primo virus per PC, individuato nel 1986 (Brain), utilizzava già tecniche stealth per
occultarsi.
A Cifratura del codice
Ogni virus di file presenta sempre la stessa stringa caratteristica, il compito dei
programmi antivirus è quindi piuttosto semplice: basta aprire un file alla ricerca di una
delle stringhe memorizzate nella propria "banca dati" ed, eventualmente,
eliminarla.
Per complicare le cose, molti autori di virus hanno pensato di nascondere il codice virale
utilizzando tecniche di crittografia. Un virus con codice cifrato è costituito da una
routine di decrittazione e da un corpo virale cifrato. Al momento dellesecuzione di
un file infetto, prima viene decodificato il codice e poi eseguito. Una delle operazioni
effettuate dal virus sarà copiarsi in un altro file e, successivamente, ricodificarsi,
sfuggendo così agli antivirus. Unaltra "precauzione" è quella di
modificare di volta in volta la chiave di codifica, in modo da rendere il virus cifrato
sempre diverso. Un limite di questo procedimento è che la routine di decrittazione rimane
sempre la stessa, facilitando il compito degli antivirus che, invece di ricercare solo le
stringhe di definizione dei virus, ricercano anche le sequenze tipiche delle routine di
decrittazione.
Polimorfici
I virus polimorfi sono la naturale evoluzione di quelli con codice cifrato. Anche i virus
polimorfi presentano tutte le caratteristiche di quelli con codice cifrato, però
aggiungono un algoritmo che modifica in modo casuale la routine di decrittazione dopo ogni
infezione. In un virus polimorfico sono codificati il corpo del virus, come per i virus
con codice cifrato, e il generatore casuale degli algoritmi di codifica (mutation engine).
Quando viene eseguito un programma infettato da un virus polimorfico, la routine di
decrittazione, sempre in chiaro, decodifica le parti cifrate del virus, permettendo
linfezione di nuovi file. Durante il processo di infezione viene copiato, oltre al
codice, anche il mutation engine, che genera casualmente una nuova routine che si occupa
di cifrare il virus; tale routine non avrà nessuna somiglianza con quelle precedenti, in
modo da eludere lazione degli antivirus che utilizzano normali tecniche di
scansione. In sintesi, da una infezione allaltra non cè nessuna parte di
codice che rimane inalterata, rendendo molto più complesso il lavoro degli antivirus.
La replicazione
L'autore di un virus informatico, con alcune istruzioni di programma, fa in modo che
"la sua creatura" sia in grado di copiare se stessa su altri programmi. Il
pratica il virus è dotato della capacità di replicarsi; la replicazione può avvenire
solo in un computer che esegue le istruzioni scritte dall'autore con la quali il virus
copia le proprie istruzioni su altri programmi o su parti "critiche" (come il
settore di avviamento o settore di bootstrap) di un dischetto. Le tipologie con cui questo
avviene sono diverse, ma hanno in comune lo schema che proponiamo qui sotto:
I supporti
Per diffondersi il virus informatico ha bisogno di "viaggiare" da un computer
all'altro e questo può avvenire sia tramite un supporto (floppy o CD-ROM) sia attraverso
una rete, (p.es. una rete locale, Internet). Per quanto riguarda Internet rinviamo il
discorso alla apposita sezione.
Il virus informatico può infettare sia i programmi eseguibili (EXE o COM), sia dei documenti (in caso di virus di macro) sia il settore di avviamento; l'utente, ignaro, esegue il programma contenente il virus o apre il documento o (caso molto frequente) lascia il dischetto all'interno del computer e, così, all'accensione il virus (in caso di virus da boot sector - settore di avviamento) si propaga sul disco rigido (hard disk) o su altri supporti magnetici collegati al computer. In seguito quando l'utente provverà ad eseguire un programma infetto il virus verificherà se nel computer è inserito un floppy disk ed, in caso affermativo, provverà a scrivere una copia di sè stesso sul supporto. Il discorso è simile a quello fatto per il floppy, con una piccola differenza, il programma o il documento contenete il virus può essere stato scritto su CD-ROM solo in fase di masterizzazione, cioé nella fase di scrittura. In genere le grosse aziende che distribuiscono software su CD-ROM provvedono ad effettuare tutti i controlli necessari per accertare l'eventuale presenza di virus, ma, in caso di virus ancora sconosciuti, è possibile che questo riesca a passare "non visto"; in tal caso la diffusione è garantita! Tutte le copie del CD-ROM avranno al loro interno il virus come è successo persino alla Microsoft nel 1995 che ha propagato migliaia di copie del virus "Concept" (virus di macro di Winword) sul CD "Windows 95 Business Guide" distribuiti in Inghilerra. Occorre comunque sottolineare che i casi di infezione a mezzo CD-ROM sebbene gravi e clamorosi sono alquanto sporadici. Anche le reti locali costituiscono un elemento che può fungere da propagatore del virus, specie se queste collegano tra loro molti computer in posti diversi. Un virus può colpire il server della rete (dove è arrivato su floppy e su CD-ROM) e propagarsi attraverso la rete sui client, che eseguono i programmi infetti del server o che aprono documenti condivisi tra più utenti. Il virus si duplica sui computer collegati e gli utenti, registrando i floppy, portano "l'infezione" su altri computer (p.es. quelli di casa) sui quali lavorano, estendendo a loro volta la diffusione virale.
Per un utente non esperto è molto difficile accorgersi di aver introdotto un virus nel proprio computer prima che questo manifesti i suoi drammatici effetti, tuttavia alcune norme di carattere generale possono essere un valido punto di partenza. Con l'avvento di sistemi operativi sempre più sofisticati diventa sempre più difficile rispondere a questa domanda, molto spesso il blocco del sistema è dovuto a cause e fattori che nulla hanno a che vedere con un virus, una errata configurazione hardware, un programma nato per un sistema operativo che mal convive con l'evoluzione di questo sistema operativo (è il caso di molti applicativi nati per Windows 3.x che molta gente si ostina a far funzionare sotto Windows 95), una periferica che entra in conflitto con un'altra (esempio classico: alcune schede modem che vengono configurate malamente e si trovano a condividere le stesse risorse (IRQ e indirizzi) del mouse). Il nostro consiglio resta quello di fare una verifica del contenuto dei dischi che si utilizzano per installare un'applicazione sempre ed in ogni caso, alle volte può capitare di infettare il proprio sistema installando il driver di una nuova stampante solamente perchè chi ce l'ha venduta l'aveva prima provato su un computer infetto...
Potete stare abbastanza tranquilli; se il vostro programma
di navigazione è ben fatto e non consente, quindi, ad alcun componente ricevuto da
Internet di eseguire autonomamente istruzioni sul vostro computer non c'è alcun pericolo
(infatti quello della Microsoft era un errore di programma!) e potete navigare sicuri,
almeno per ora, su tutti i siti alla faccia degli pseudo-esperti.
Ricordatevi però che il vostro programma di navigazione non è un normale programma che
legge solo dei dati, ma esegue anche delle istruzioni contenute in pagine Internet (p.es.
istruzioni Javascript); per questo i progettisti ed i programmatori del programma di
navigazione devono prestare particolare attenzione a come vengono trattate queste
istruzioni, per non consentire azioni dannose sul computer del "navigatore".
Anche i famosi cookies (biscottini) non costituiscono certo un pericolo in quanto sono
stati progettati per contenere solamente dei dati che vengono memorizzati sul vostro
computer e poi spediti la volta successiva che vi connettete al medesimo sito. Sono utili
per memorizzare p.es. le pagine che avete già visitato o il vostro login e la vostra
password per accedere ad un server che richiede la registrazione (così non dovete
digitarli tutte le volte).
Virus informatici: i pericoli nella posta in Internet
La posta che vi giunge via Internet non può trasmettere in alcun modo nessun virus
informatico e non lo potrà mai trasmettere a meno che il vostro programma di posta non
consenta (ma attualmente nessun programma lo consente!) di eseguire automaticamente
istruzioni (in linguaggio macro) incluse nella posta medesima senza il vostro assenso, ma
a questo punto, francamente, vi consiglieremmo di cambiare programma di posta. Non
dimentichiamoci che i virus, anche quelli scritti in linguaggio macro, sono sempre e
saranno sempre dei programmi, un virus non può trasmettersi con i dati! Attenzione,
però, abbiamo parlato della posta e non di eventuali allegati! Il discorso in questo caso
è diverso infatti ad un messaggio di posta è possibile allegare qualunque cosa, anche un
programma o un documento con delle macro, eventualmente in formato compresso, contente un
virus informatico. Sta comunque a Voi valutare, ogni volta, se eseguire il programma
allegato o aprire il documento in tal caso, come per un programma o un documento contenuto
su un floppy, potete correre il rischio di "infezione". Se il mittente della
posta e da Voi sconosciuto è preferibile eliminare subito l'allegato. Per fare un
paragone è come se qualcuno vi desse un dischetto: l'etichetta del disco sul quale è
scritto il suo contenuto (il vostro messaggio di posta) non potrà certo trasmettere al
vostro computer alcun virus informatico, ma il contenuto del dischetto certamente si!
Pertanto è buona norma controllare i files allegati con un programma antivirus, in
particolare occorre controllare i files eseguibili (p.es. EXE, COM, SYS, DLL,VBX, OCX) ed
i file documenti che possono contenere anche macro (p.es. DOC, DOT, XLS, XLA); nessun
rischio, invece, per i files di contenuto grafico (GIF, BMP, JPG, etc.) o musicale (WAV,
MID, etc.).
Virus informatici: i pericoli nello scaricare i programmi da Internet e file
allegati di posta elettronica
Anche Internet, come qualsiasi mezzo di trasmissione, può essere una fonte di diffusione
di virus informatici. In particolare la possibilità di scaricare programmi da tutto il
mondo può consentire una rapida diffusione di qualsiasi virus, anche appena creato. In
questo caso, però, basta seguire una semplice regola per limitare di molto i rischi:
Essere totalmente certi che un virus informatico non colpirà mai i vostri computer è impossibile, ma fare in modo che il malaugurato evento abbia poche possibilità di verificarsi e, nello "sfortunato" caso si verifichi, comprometta poco o nulla il vostro lavoro è un risultato ottenibile seguendo poche e chiare regole:
Disabilitate dal BIOS del proprio computer il BOOT da floppy; i virus da BOOT SECTOR (è il settore o record di avviamento del sistema operativo) sono tra i più diffusi; capita spessissimo di lasciare un floppy dentro il proprio computer ed alla riaccensione il programma di BOOT avverte "Disco non di avvio....Errore di I/O" o "Not-System disk or disk error" (o scritte simile che dipendono dalla versione e dalla lingua del sistema operativo con cui è stato formattato il floppy), ma se il settore di BOOT del floppy è infetto il virus, quando compare il messaggio, ha già copiato le proprie istruzioni sul settore di avviamento del vostro computer; il "famoso" virus Michelangelo era un virus di questo genere. Non comprate dischi già preformattati e se riutilizzate vecchi floppy formattateli sempre con la formattazione completa o usando l'opzione /U del comando Format. Non prestate mai a nessuno dei floppy disk di dati e programmi che utilizzate o che potrebbero servirvi per effettuare installazioni, piuttosto fatene una copia. Effettuate sempre il salvataggio dei dati (backup) con cadenza almeno settimanale; con i dati salvati ed i dischi programmi intatti, anche in caso di disastro non imputabile a virus (vi si rompe l'hard disk) sarete in grado di ripristinare il contenuto del vostro computer. Effettuate una copia del settore di avviamento (boot record) e della tabella delle partizioni (partition table) del vostro hard disk usando uno dei programmi di utilità in commercio; questa copia potrebbe salvarvi dalla necessità di riformattare l'hard disk.
Principi di funzionamento degli antivirus
Se ci sono virus particolarmente sofisticati, anche gli antivirus devono essere
altrettanto sofisticati. I programmi cosidetti monitor si installano in RAM e intercettano
alcuni interrupt che consentono di scorprire gli accessi sospetti alla memoria, ai dischi
e ai file. In questo modo vengono individuate le azioni tipiche dei virus, come la
modifica dei settori di avvio, la scrittura su file eseguibili e la residenza in memoria
in genere, però, questi programmi non sono particolarmente sicuri e, se non sono
utilizzati in modo corretto, tendono a procurare parecchi falsi allarmi.
Gli eventi segnalati possono essere considerati anomali, ma il monitor non può appurare
se non causati da virus o da programmi normali, la verifica spetta allutente. Quando
viene rilevato un tentativo di scrittura sui settori di avvio o delle partizioni, o
modifiche sospette a file eseguibili, il monitor blocca il sistema e chiede
allutente come proseguire. Alcuni antivirus possono evitare in monitor
disabilitandoli, oppure aggirandoli utilizzando laccesso diretto al sistema
operativo (una tecnica chiamata tunnelling). Programmi di scansione
Ricercano nel sistema (file, memoria e settori di avvio) le stringhe caratteristiche dei
virus conosciuti.
Un programma di scansione è costituito da un motore di ricerca e da un archivio
contenente le stringhe. Questa struttura permette un aggiornamento molto semplice: basta
inserire la nuova stringa nellarchivio per poter rilevare il nuovo virus in un
sistema infetto. Nella maggior parte dei casi, rimuovere la stringa caratteristica è
sufficiente per ripristinare un sistema infetto.
Gli scanner non sono adatti alla rilevazione di virus criptati e, tanto meno, per quelli
polimorfici, per i quali è necessario utilizzare tecniche di rilevazione più
sofisticate. I criteri di valutazione di uno scanner sono essenzialmente due: il valore
del motore di ricerca e il grado di aggiornamento dellarchivio delle stringhe di
identificazione.
Programmi di ricerca euristica
Questo genere di programmi va alla ricerca di istruzioni e di funzionamenti sospetti.
Solitamente anche negli scanner si trova un algoritmo euristico, per ricercare le stringhe
caratteristiche dei virus conosciuti, ma anche tentare di individuare virus sconosciuto.
Generalmente, un programma di ricerca euristica esamina la funzione di ogni istruzione in
relazione alle altre. I moduli che vengono ricercati da un motore di ricerca euristica
sono le routine di decrittazione, le chiamate al sistema non documentate, le sequenze di
istruzioni insolite o inutili, lallocazione sospetta della memoria, la scrittura
diretta sul disco e la presenza di settori di avvio e di date/orari non validi. Oltre a
questo se, in un programma conosciuto come non residente, vengono rilevate stringhe che
fanno pensare al suo caricamento in RAM, è probabile la presenza di un virus.Un programma
di ricerca euristica può identificare molti virus sconosciuti, ma può anche generare
numerosi falsi allarmi.
Programmi di decrittazione generica
Questi programmi vengono utilizzati per rilevare i virus cripati e polimorfici. Ogni file
preso in esame viene caricato in una macchina virtuale, creata appositamente in RAM. In
questo ambiente, isolato dal computer "reale", il virus viene messo in chiaro
(ricordiamo che anche nei virus polimorfi il codice virale è crittografato, quando il
file non è in esecuzione) ed esposto agli scanner, che possono così rilevare
linfezione. Il problema di questa tecnica è la lentezza. Per cercare di
velocizzarne lazione sono state aggiunte tecniche euristiche, cioè che si basano su
insiemi di regole di comportamento.
Programmi di verifica dellintegrità
Questo tipo di programmi è utile per la rilevazione di virus che modificano la struttura
dei file. Inizialmente definiscono il checksum dei file, cioè un numero che identifica in
modo univoco la struttura dei byte che ne compongono il codice: un esempio è il CRC
(Cyclic Redundancy Check). Questi valori vengono memorizzati e confrontati periodicamente
con i valori correnti, causando una segnalazione da parte degli integrity checkers in caso
di corrispondenza errata. E inoltre possibile inoculare i file eseguibili, cioè
aggiungere loro unappendice che verifichi, al momento dellesecuzione, la loro
integrità.
Questa protezione è inefficace contro i virus che non modificano lintegrità dei
file, come i virus companion e anche contro i virus che cancellano gli archivi contenenti
i CRC. Unaltra negatività è lincapacità di prevenire linfezione:
possono solo segnalare quando è già avvenuta.
Nonostante alcune limitazioni e la possibilità di dover valutare falsi allarmi, gli
integrity checkers sono ancora un valido aiuto contro gli agenti virali.
I Virus per spiare.... i TROJAN HORSE (cavallo di troia)
Forum | ||
Pagina realizzata da Fracassi Andrea |