-----BEGIN PGP SIGNED MESSAGE----- LEGGERE LE AVVERTENZE IN FONDO AL DOCUMENTO Questo file contiene il testo di due articoli sui virus, uno di introduzione ai virus ("I virus - Anche se li conosci, non li eviti") e l'altro di spiegazioni sul funzionamento degli antivirus ("I programmi antivirus in pratica"), come consegnati alla redazione di Micro & Personal Computer. Gli articoli furono pubblicati in tre puntate nei fascicoli di Marzo, Aprile e Maggio 1997 di Micro & Personal Computer. Si riportano qui in un unico file per comodita' del lettore. I - I VIRUS - Anche se li conosci, non li eviti di Fabrizio Ruggeri Chiacchierata introduttiva sui virus in generale. Cosa sono, come si riproducono e come si manifestano queste odiose creaturine. Cosa fare per ridurre le possibilita' di contagio. Nel prossimo articolo esamineremo l'uso di programmi antivirus, ma sin d'ora precisiamo che non v'e` difesa sicura che prescinda dall'effettuazione delle copie di sicurezza dei dati prodotti. Cos'e` un virus Un virus informatico e`, in tutto e per tutto, un programma. Un programma particolare magari, ma pur sempre nulla piu' di un programma. Perche' compia le azioni che e` nato per compiere deve essere eseguito. Un virus e` quindi un insieme di istruzioni eseguibili dal calcolatore. Una prima caratteristica rispetto ai normali programmi e` che il virus informatico, proprio come quello biologico, vive e prospera riproducendosi solo quando e` ospitato da un altro organismo vivente (un altro programma). Quindi il vostro calcolatore non potra' "prendere un virus", avra' invece un programma che ha il virus. Il calcolatore e` infetto perche' un programma contenuto nel calcolatore e` infetto. (Questo in prima approssimazione, faremo dopo dei "distinguo"). Un virus compie delle azioni a volte con l'intenzione di nuocere all'utente del calcolatore (es. Cancellare dei file, formattare il disco rigido) a volte con intenzioni meno sadiche (es. far apparire dei messaggi a schermo). Talvolta i due effetti sono combinati: per un certo periodo appaiono dei messaggi, a un certo punto viene formattato il disco rigido. In ogni caso, perche' il disco venga formattato, o le scritte appaiano sul monitor, e` necessario che delle istruzioni eseguibili vengano eseguite. Queste istruzioni eseguibili, il virus, stanno "attaccate" al programma infetto (all'inizio, alla fine, o in mezzo al codice del programma infetto). La prima conseguenza di questo e` che un programma infetto aumenta sempre di dimensione. Solo che questo aumento di dimensione non sempre e` visibile attraverso il comando "dir" di sistema. Il virus riesce talvolta a fare apparire il file infetto con le stesse dimensioni di prima dell'infezione. Ma il file e` infetto, ed e` in realta' piu' grande di quanto appaia. Il secondo tratto distintivo dei virus rispetto ai normali programmi e` che il virus si riproduce da solo. I virus cioe` sono in grado di infettare altri programmi e altre macchine in modo analogo a quanto fanno i virus passando da una cellula all'altra e da un organismo all'altro. Cercano di diffondersi senza il vostro contributo attivo alla loro diffusione, a vostra insaputa. File eseguibili e file di dati Sebbene sia nozione nota ai piu', sara' bene precisare che i file contenuti nel vostro calcolatore sono sempre, fondamentalmente, di due tipi. O sono file "eseguibili", cioe` file che contengono istruzioni eseguite dal calcolatore, cioe` programmi o pezzi di programma, o sono file di dati, cioe` file che contengono informazioni che vengono usate dai programmi. Esempio di programmi sono: un programma di scrittura o un programma di visualizzazione di immagini. Esempio di file di dati: un documento prodotto col programma di scrittura, un file contenente una immagine. Il programma viene eseguito dal calcolatore, il dato viene meramente letto dal programma. Siccome abbiamo appena detto che un virus e` un programma "attaccato" a un altro programma, e che come tutti i programmi deve essere eseguito, da questo discende, per prima cosa, che un file di dati non puo' essere infetto da un virus. Se anche immettessimo il virus (le istruzioni eseguibili che formano il virus) dentro a un file GIF o JPEG (un file grafico) il virus sarebbe dormiente e sterile, non sarebbe ne' in grado di esplicare i suoi effetti, esemplificati piu' sopra nella formattazione del disco, o nell'apparizione di un testo a schermo, perche' i file di dati non vengono "eseguiti" dal calcolatore, ma meramente letti, ne' sarebbe, per la stessa ragione, in grado di riprodursi. Sarebbe come un fermento lattico fuori dal latte, o un pesce fuor d'acqua. Il virus vive, agisce e si riproduce unicamente "attaccandosi" a un programma e facendosi quindi eseguire dal calcolatore nel momento in cui il calcolatore si accinge a eseguire il programma infetto. Visto cosi' sembra molto semplice, ma vi sono file che "sembrano" di dati, e invece sono in parte eseguibili. (V. riquadro) Come si diffonde un virus Il programma ospite deve innanzitutto essere eseguito. Dopodiche', il virus e` presente in memoria volatile (come tutti i programmi in esecuzione) e venendo eseguito esplica i suoi effetti. Fra questi distinguiamo le "funzioni fisiologiche", cioe` le azioni che il virus e` stato programmato per compiere (cancellare file, formattare disco, far apparire scritte, suoni, ecc.) dalle "funzioni riproduttive", cioe` le azioni che il virus mette in atto per replicare se' stesso. Uno sguardo alle strategie riproduttive Un virus puo' diffondersi infettando altri file eseguibili (altri programmi), oppure infettando il settore di avvio del disco rigido (che contiene istruzioni eseguibili) o di un dischetto, oppure infettando istruzioni eseguibili contenute in alcuni file di dati (v. Riquadro). I virus che infettano programmi Qui nulla di speciale da dire. Il virus, mentre sta attivo in memoria, esegue delle istruzioni che gli consentono di attaccarsi ai programmi che vengono lanciati. I virus del settore di avvio. Spero sia chiaro che, finche' non viene eseguito, un virus ha la stessa vitalita' di una salma. Un virus "ospite" di un programma viene eseguito quando viene eseguito un programma. Un virus invece contenuto nel settore di avvio del dischetto, quando viene eseguito? Riposta: viene eseguito solo quando effettuate l'avvio di sistema dal dischetto. Finche' usate il dischetto col settore di avvio infetto per leggerne i dati non correte alcun rischio di infezione, perche' le istruzioni del codice di avvio non vengono eseguite. Ma allora, com'e` che si diffondono questi virus ospitati dal settore di avvio dei dischetti? Semplice. Si diffondono perche' anche voi, come me, ogni tanto riavviate il calcolatore avendo lasciato un dischetto nel lettore. In genere i calcolatori sono configurati in modo che, all'avvio, cerchino il sistema operativo prima in un dischetto e poi, se l'unita' dischetto e` vuota, sul disco rigido. Se avviate il calcolatore con un dischetto nel lettore, e il dischetto non e` un dischetto sistema (non contiene il sistema operativo) vi appare quindi un messaggio che significa: "questo dischetto non contiene il sistema operativo, levamelo di torno e spingi INVIO che vedo se trovo il SO nel disco rigido". Voi levate il dischetto, spingete INVIO e il sistema operativo parte dal disco rigido. Se il settore di avvio di quel dischetto era infetto, a questo punto avete infettato anche il settore di avvio del disco rigido. Infatti nonostante il messaggio, le istruzioni contenute nel settore di avvio del dischetto sono state comunque eseguite, proprio nel tentativo di eseguire il SO. Se il settore di avvio del dischetto era infetto, il virus si e` piazzato in memoria, e potete immaginarvelo sogghignante, occhi socchiusi, fiato sospeso, mentre attende che voi, ingenuamente, leviate il dischetto e premiate INVIO, danneggiandovi con le vostre proprie mani. Voi pero' siete lettori di M&P, e da ora sapete che quando appare un messaggio cosi', per essere sicuri, bisogna levare il dischetto e premere RESET anziche' INVIO. Ci metterete qualche secondo di piu' a riavviare il calcolatore, ma non prenderete mai un "boot sector virus". Infatti la memoria verra' "pulita", il virus sogghignante morira' prima di rendersi conto di quel che e` accaduto, e tutto ripartira' secondo copione. Se sapete che il dischetto e` infetto da un virus di questo tipo potreste anche disinfettarlo, ma fate attenzione, perche' in alcuni casi questo causa la perdita di tutti i dati. In effetti se avete urgenza di lavorarci potete anche tenervi il dischetto cosi' com'e`, cioe` infetto, non vi fara' danni. Basta che *non* riavviate mai la macchina con quel dischetto nel lettore (e se capita, che usiate il tasto RESET anziche' INVIO, come detto sopra). Virus del settore di avvio. Diffusione dal disco rigido al dischetto. Puo' avvenire durante qualsiasi operazione di scrittura su dischetto. Uno dei modi in cui ci si accorge della presenza di un virus e` quando si inserisce un dischetto, protetto da scrittura, nel calcolatore e si fa un accesso in lettura (ad esempio per copiare dei file sul disco rigido). Il SO vi da' un messaggio di errore che dice che non riesce a scrivere su disco. Come sarebbe, scrivere su disco? Voi volevate solo leggere da disco! Ecco, avete appena visto un virus del settore di avvio in azione. Ha cercato di infettarvi il dischetto, ma non e` stato abbastanza furbo da non farsi accorgere del tentativo fallito. Per ridurre le possibilita' di contagio (e per accorgervi piu' facilmente della presenza di virus del settore di avvio) proteggete sempre da scrittura i dischetti, quando non dovete scrivervi sopra. Come si manifesta un virus Un virus si manifesta con effetti dannosi (cancellazioni, formattazioni, scrittura casuale di dati), con effetti non dannosi (messaggi, musiche, lettere che cadono, palline che rimbalzano...), o con effetti non voluti dal programmatore del virus, quali "piantamenti" o altre anomalie di funzionamento. Questo perche' i programmatori di virus, proprio come i programmatori di normali programmi o sistemi operativi, possono anche scrivere cose che non funzionano o che funzionano male, e il risultato sono i piantamenti, frequenti e inspiegabili, della macchina. Altre modi di manifestarsi dei virus possono essere l'aumento delle dimensioni del file (che potrete constatare solo se fate l'avvio del calcolatore da dischetto sistema "pulito") o il tentativo non autorizzato di accesso in scrittura al dischetto. Precauzioni da adottare sempre Copie di sicurezza dei dati (Backup) Il vostro disco rigido puo' contenere il lavoro di molti mesi, o di anni. Mentre un programma, se viene cancellato dal disco rigido o si perde per qualche ragione, puo' sempre essere reinstallato partendo dai dischetti di installazione originali, i dati che voi avete prodotto sono in partenza unici. Siete voi che dovete avere cura di duplicarli. Se non lo fate, quando perderete quei dati li perderete per sempre. I dati di un disco rigido sono soggetti a perdita per varie cause: cancellazioni accidentali, rottura del disco rigido, interruzione di corrente durante una operazione di manutenzione, furto del calcolatore, incendio dell'edificio che lo ospita, ostilita' di un addetto e, anche, virus. Sebbene possiate considerare remota la possibilita' di venire colpiti da un incendio (la considerano remota tutti quelli che vengono colpiti da incendio, del resto) considerate anche quale danno potrebbe arrecare alla vostra attivita' la perdita dei dati. L'edificio puo' anche essere assicurato, ma i vostri dati, chi ve li ridara'? I vostri clienti, una volta persi, come li riprenderete? Il caso di incendio e` remoto, ma le sue conseguenze sono gravi. Anche le altre ipotesi di perdita dei dati sopra esposte sono da prendere in considerazione. Il vostro portatile puo' essere rubato. Accidentalmente, potreste cancellare dei file dai vostri dischi, e accorgervene solo molti giorni dopo, quando ormai sono irrecuperabili anche dagli appositi programmi che abbiate eventualmente installato. Un dipendente "infedele" od ostile potrebbe vendicarsi di qualche torto che ritenga avere subito col comando format. E infine, anche i virus possono essere causa di perdita dei dati. La prima cautela da adottare contro i virus e` quindi una misura di sicurezza in generale: fate le copie di sicurezza dei vostri dati. Fatele anche perche' le dovreste fare comunque, perche' la sicurezza dei dati non puo' prescindere dalla loro copiatura sistematica, indipendentemente dalla minaccia costituita dai virus. Quando il virus vi formattera' il disco rigido potrete reinstallare i programmi dai dischetti originali (che avrete sempre tenuto protetti da scrittura durante le installazioni!) e i dati dalle vostre copie di sicurezza. Se adottate una accurata "strategia di backup" l'unico danno che un virus potra' causarvi sara' la perdita di tempo, ma mai di dati. Per le ragioni gia' esposte non dovete temere di reinfettarvi copiando i dati. Infatti i dati non contengono virus, e quanto alla possibilita' (non remota) che siano infetti i settori di avvio dei dischetti di backup, e` sufficiente che avviate la macchina sempre e solo da disco sistema sicuro. Naturalmente, per evitare di reinfettarsi, e` comunque importante capire se c'e` un virus e da dove e` entrato, cioe` quali programmi erano infetti o da quali dischetti infetti avete inavvertitamente "tentato di avviare" la macchina, contagiandola. In questo modo sara' possibile eliminare le copie infette dei programmi e ripulire i settori di avvio dei dischetti infetti (oppure copiare i dati su un altro dischetto e formattare il dischetto infetto). Per questo lavoro di ricerca e pulizia dai virus si usano i programmi antivirus, che danno in realta' anche un contributo alla prevenzione del contagio. Li vedremo in un articolo successivo. Proteggere i dischetti quando non li si usa in scrittura Diminuirete i contagi fra una macchina e l'altra se leverete la protezione ai dischetti solo quando volete scrivervi su. Se tenete sempre il dischetto sprotetto, e un calcolatore lo scrive e cinque lo leggono, il dischetto potra' prendere l'infezione da uno qualsiasi dei sei calcolatori. Se lo tenete protetto quando non scrivete, potra' essere infettato solo dal calcolatore che lo ha scritto. Una bella differenza. Inoltre (v. sopra) se proteggete i dischetti da scrittura potrete accorgervi della presenza di un virus quando questo effettua un tentativo di scrivere su un dischetto per contagiarlo. Creazione di un "dischetto panico" (dischetto sistema sicuro) Dovete sempre avere un dischetto di sistema operativo dal quale potere avviare il calcolatore in caso di emergenza. Questo dischetto deve essere sempre protetto da scrittura. Non va inserito nel calcolatore se non e` protetto. Dovete rinunciare alle modifiche ai file di configurazione (es. config.sys e autoexec.bat) a meno che non le facciate subito dopo avere installato, in un disco rigido formattato, un SO preso da dischetti sicuramente mai sprotetti. Dopo avere fatto queste modifiche, proteggete per sempre il dischetto "panico". L'autoexec.bat e il config.sys non devono fare riferimento a programmi presenti sul disco rigido. Se dunque volete la tastiera italiana, i driver di Stacker o del lettore di CD anche nel dischetto panico, dovete installare i relativi file sul dischetto stesso. Questo perche' anche un gestore di periferica (o "driver" se preferite) puo' essere infetto da un virus. Il disco panico serve perche', in caso di infezione virale, spesso l'unico modo per accorgersi se il virus e` presente e` effettuare la scansione antivirus con un apposito programma (o il controllo delle dimensioni col comando dir) solo dopo avere fatto l'avvio del sistema da un dischetto non infetto. Se il virus e` presente nel disco rigido all'avvio del sistema, puo' piazzarsi subito in memoria e celare la propria presenza al SO e agli antivirus, ad esempio facendo credere al SO che il calcolatore ha solo 638 kB di memoria bassa anziche' 640, e mettendosi nei 2 kB che il SO non vede (e se non li vede il SO, non li vede nemmeno l'antivirus). Sono i cosiddetti virus "invisibili" (stealth). Naturalmente sono invisibili solo quando sono attivi e possono quindi rendersi invisibili. Se invece fate l'avvio da dischetto sistema pulito, se il virus e` gia' conosciuto dall'antivirus viene sempre individuato. Conclusione Abbiamo visto cos'e` un virus, che metodi usa per diffondersi, come si manifesta e, antivirus a parte, come lo si puo' individuare. Infine abbiamo visto alcuni basilari comportamenti nella lotta ai virus, e cioe` avere sempre un disco sistema sicuro, e tenere sempre protetti i dischetti quando non si deve scrivervi sopra, e soprattutto fare sistematicamente le copie di sicurezza dei propri dati. Senza queste cautele anche l'uso di programmi antivirus, che vedremo nel prossimo numero, non garantira' di certo un accettabile livello di sicurezza. Riquadro. File che non sembrano eseguibili ma lo sono. Il confine tra file eseguibili e file di dati non e` sempre chiaramente visibile. File di comandi (i vari file "batch", "script"...). Questi file sono scritti con un normale programma di scrittura (non sono compilati, non si presentano quindi al calcolatore in codice macchina, ma in codice ASCII). Ne potete esaminare il contenuto con un normale visualizzatore di testi, leggendo le istruzioni come sono state digitate alla tastiera da chi ha scritto il file. Alcuni esempi: il file autoexec.bat del DOS (e in genere i file con estensione .BAT), oppure il file Startup-sequence dell'Amiga (e in genere i file con attributo -s). Ogni sistema operativo ha dei file di questo tipo. Sono file che contengono comandi scritti normalmente a mano, alla tastiera, e che, quando il file di comandi viene lanciato, vengono eseguiti dal calcolatore come se venissero digitati alla tastiera in quel momento. Questi file possono, in teoria, contenere dei virus. Nessun programmatore si metterebbe pero' mai a scrivere virus di questo tipo, perche' basta aprire il file infetto per vedere, belle leggibili, tutte le istruzioni virali. Un virus cosi' vivrebbe pochissimo ed esporrebbe il suo autore al rischio di essere scoperto immediatamente (ricordiamo che programmare virus e` reato. V. Riquadro). Programmi interpretati. Sono i programmi scritti in linguaggi interpretati, come il buon vecchio BASIC (parola che suscitera' teneri ricordi in piu' di un lettore). Le istruzioni di questi programmi non sono compilate per formare un file "binario", eseguibile, come avviene ad esempio per i programmi scritti in C o in Pascal. Il programma viene diffuso in formato testo, cioe` proprio come e` stato scritto dal programmatore. E' poi la macchina sul quale gira che converte "al volo" (cioe` "interpreta") le istruzioni contenute nel file di testo, convertendolo in codice macchina. Questo genere di programmi sta tornando alla ribalta, in parte per merito di Visual Basic (semi-interpretato), in parte per merito di Java (i molteplici significati della parola "Java" vengono trascurati in questa sede), fondamentalmente per il fatto che consente facilmente la scrittura di programmi multipiattaforma. Questi file possono contenere dei virus. Anche in questo caso pero' il virus e` in linea di principio facilmente individuabile da una persona con un poco d'esperienza, perche' le istruzioni virali sono pienamente visibili in cima o in fondo al programma vero e proprio. File di dati contenenti istruzioni eseguibili ("macro"). I file di dati, quali ad esempio i file prodotti da Microsoft Word o Excel, possono contenere al loro interno delle istruzioni eseguibili. Le "macroistruzioni", dette in genere "macro", sono niente altro che piccoli programmini in una variante di Visual Basic. Queste macro possono essere incorporate nei file di dati che producete, cioe` nelle lettere e nei fogli elettronici. I file quindi di Word ed Excel, se contengono delle "macro", non sono dei file di puri dati perche' contengono oltre ai dati anche istruzioni eseguibili. In questi file possono nascondersi i "macro-virus", cioe` dei virus scritti in Visual Basic e che usano questi file "di dati", e dunque "insospettabili", per diffondersi. Programmi PostScript. Quando inviate alla stampante PostScript un file, non state inviando, come nel caso di una stampante tradizionale, dei meri dati (in effetti anche quelli sono comandi, in senso stretto) ma state inviando un vero e proprio programma PostScript che la stampante, dotata di un processore, esegue. Questi programmi PostScript possono, anch'essi, essere infetti da un virus (sarebbe piu' giusto in questo caso parlare di "cavallo di Troia", v. Riquadro). Ve ne fu uno famoso che cambiava il codice segreto della stampante, che diveniva inusabile dal proprietario. Riquadro. Virus e cavalli di Troia La caratteristica che distingue i virus e` la prolificita'. I virus sono programmi che si possono autoriprodurre. I Cavalli di Troia hanno in comune coi virus il fatto di consistere in istruzioni che vengono "ospitate" da un programma che originariamente non le conteneva, quindi l'utente che esegue il programma "parassitato" dal cavallo di Troia sta eseguendo, oltre al programma, delle istruzioni che non sa di eseguire e che, probabilmente, non vorrebbe eseguire. Se io prendo l'ultimo aggiornamento di un gioco da Internet, lo decompilo e ci infilo delle istruzioni che, quando l'utente libera la bella dalle grinfie del drago, anziche' farlo baciare dalla bella gli formatta il disco rigido, io ho inserito un cavallo di Troia in quel file. Quelle istruzioni, cosi' come sono, non possono pero' uscire da quel gioco per infettare altri programmi. Un virus e` piu' complesso e piu' pericoloso di un cavallo di Troia perche' oltre a produrre degli effetti e` in grado di moltiplicarsi infettando, potenzialmente, tutti i programmi del disco rigido, e dunque grandemente aumentando le possibilita' che dal mio calcolatore possa passare su un altro calcolatore. Riquadro. Gli articoli del codice penale riguardo i virus La produzione di virus e` punita dalla legge penale. La legge 23 dicembre 1993, n. 547, ha introdotto nel nostro ordinamento penale norme che espressamente riguardano i virus, modificando il codice penale in vari punti. Riportiamo per brevita' l'art. 392, cui e` stato aggiunto l'ultimo comma, e l'articolo 615-quinquies, introdotto dalla legge: Art. 392. Esercizio arbitrario delle proprie ragioni con violenza sulle cose. Chiunque, al fine di esercitare un preteso diritto, potendo ricorrere al giudice, si fa arbitrariamente ragione da se' medesimo, mediante violenza sulle cose, e` punito, a querela della persona offesa, con la multa fino a L. 1.000.000. Agli effetti della legge penale, si ha violenza sulle cose allorche' la cosa viene danneggiata o trasformata, o ne e` mutata la destinazione. Si ha, altresi', violenza sulle cose allorche' un programma informatico viene alterato, modificato o cancellato in tutto o in parte ovvero viene impedito o turbato il funzionamento di un sistema informatico o telematico. Art. 615-Quinquies. Diffusione di programmi diretti a danneggiare o interrompere un sistema informatico. Chiunque diffonde, comunica o consegna un programma informatico da lui stesso o da altri redatto, avente per scopo o per effetto il danneggiamento di un sistema informatico o telematico, dei dati o dei programmi in esso contenuti o ad esso pertinenti, ovvero l'interruzione, totale o parziale, o l'alterazione del suo funzionamento, e` punito con la reclusione sino a due anni e con la multa sino a lire venti milioni. II - I programmi antivirus in pratica di Fabrizio Ruggeri Nello scorso numero abbiamo parlato dei virus in generale, cosa sono e come difendersi, e abbiamo visto che i programmi antivirus sono uno degli strumenti che si hanno a disposizione per contrastarli. In questo numero vediamo i diversi modi di funzionamento dei programmi antivirus e i diversi tipi di antivirus disponibili. I programmi antivirus La funzione dei programmi antivirus e` in genere duplice: da un lato c'e` l'individuazione dei file (o dei settori di avvio) infetti; dall'altro, c'e` la disinfezione dell'oggetto infetto. La prima funzione e` in generale piu' importante della seconda. Come abbiamo visto nell'articolo nel numero scorso un file di dati non puo' essere infetto (attenzione ai file che sembrano di dati ma non sono tali) e un programma puo' sempre essere reinstallato a partire dai dischetti originali, che buon senso vuole siano stati sempre tenuti protetti. I casi quindi in cui si vuole tentare la disinfezione di un file eseguibile sono pochi. Inoltre tali tentativi di disinfezione posso uccidere oltre al virus anche il paziente. Tipo di attivita' I programmi antivirus cercano di individuare i virus attraverso tre fondamentali metodi di scansione: il controllo ciclico di ridondanza (CRC), la ricerca di stringhe note, e il metodo "euristico". Metodo della ricerca di stringhe note Una volta che un virus viene scoperto dai laboratori di ricerca, ne viene presa una "stringa significativa", cioe` un pezzo, e messa in una base dati. L'antivirus usa questa base dati di stringhe significative per vedere se all'interno del disco rigido ricorra una di queste stringhe. Se la trova all'interno di un file eseguibile, segnala l'infezione del virus. Questa stringa e` in genere usata dal virus stesso per riconoscere i programmi che ha gia' infettato e non reinfettarli di nuovo. Pregi: Il virus trovato e` identificato, e spesso se ne conoscono gli effetti. Attenzione alle varianti, pero'. Un virus puo' limitarsi a far apparire una scritta a video, una sua variante (scritta da un altro programmatore di virus a partire dal virus originale) puo' formattarvi il disco rigido. L'identificazione e` importante, perche' se avete trovato sul vostro calcolatore il virus YYY, sapete che effettuando la scansione sugli altri calcolatori dell'ufficio con lo stesso antivirus e partendo da dischetto sicuro, sicuramente troverete il virus YYY anche sulle altre macchine, se c'e`. Se non lo trovate, siete sicuri che non c'e`. Difetti: Questo metodo vede solo i virus gia' noti. I virus "nuovi" non vengono visti. In effetti se il vostro antivirus vede un certo virus e` perche' quel virus ha gia' fatto danni a qualcun altro, danni che hanno permesso che venisse scoperto. I laboratori di ricerca spesso riescono a scoprire dei virus prima che questi agiscano (se sono del tipo bomba a orolegeria, cioe` se agisce solo dopo una certa data) ma cio' non toglie che il programma antivirus possa riconoscere il virus solo dopo che una stringa identificativa e` stata inserita nella base dati del programma (un file con nome simile a virlist.dat). C'e` un compromesso da raggiungere tra rapidita' della scansione e significativita' della stringa. Quanto piu' grandi sono le stringhe da cercare, tanto piu' lenta la scansione. Quanto piu' piccole, tanto maggiore il verificarsi di falsi positivi. La rapidita' di scansione e` un importante fattore di sicurezza, perche' se la scansione e` lenta l'utente sara' disincentivato dall'usarla frequentemente. Metodo del CRC Il programma calcola, per ogni file eseguibile, una certa somma che e` il risultato di un certo algoritmo di calcolo. Ad esempio, immaginate di volere una "somma di controllo" di una pagina dei Promessi Sposi. Immaginiamo un algoritmo siffatto: stabiliamo che ogni lettera vada convertita nel suo corrispondente numero d'ordine nell'alfabeto (1 per A, 2 per B, eccetera), e che la prima lettera vada moltiplicata per la seconda, divisa per la terza, il risultato moltiplicato per la quarta e questo ultimo risultato aggiunto a un contatore. Continuiamo cosi' fino alla fine della pagina e il valore del contatore ci dara' la "somma di controllo" di quella pagina. Se l'algoritmo, cioe` questa procedura di calcolo, e` ben studiato allora io avro' pochissime, quasi inesistenti probabilita' che due pagine diverse abbiano la stessa somma di controllo. Se una pagina viene modificata, la sua somma di controllo dopo la modifica sara' diversa da quella precedente la modifica. Un cambiamento della somma di controllo della pagina sarebbe quindi un indizio sicuro che la pagina e` stata modificata, e il non cambiamento un indizio sicuro che la pagina non e` stata modificata. Gli antivirus che usano questo metodo calcolano una somma di controllo per ogni file eseguibile e la annotano. Al successivo controllo delle somme (controllo che, ad esempio, effettuate ogni mattina) il programma vi avverte se qualche file eseguibile e` stato modificato, cioe` vi avverte se la sua somma di controllo e` cambiata rispetto a quella della precedente scansione. In genere, per ragioni di rapidita', i programmi antivirus eseguono questo calcolo solo su una parte del file eseguibile, che viene sicuramente modificata in caso di infezione, e non su tutto il file. Pregi: Se usato frequentemente questo e` un ottimo metodo di segnalazione di infezioni. Riceverete ogni tanto segnalazioni di file modificati, in genere perche' e` stata installata una nuova versione del programma. Quando il cambiamento non ha ragione, allora e` probabile che sia stato causato da un virus. Il metodo ha il pregio di essere in grado di segnalare la presenza anche di virus non noti (senza pero' descrivere le loro azioni). Difetti: se non lo avete mai usato prima, non puo' darvi indicazioni sulla presenza di virus nel calcolatore. E' un metodo che funziona solo per segnalare infezioni avvenute tra una scansione e la successiva. Se non lo usate frequentemente, potreste non ricordarvi quali programmi sono stati aggiornati e quali no. Inoltre da' alcuni falsi positivi per quei programmi (abbastanza rari) che scrivono la configurazione all'interno dell'eseguibile. (In genere i programmi sono configurabili in modo da evitare ogni giorno gli stessi falsi positivi). E' inutile coi macro-virus, visto che i file che li contengono sono file di dati, che cambiano "per definizione". Metodo "euristico" Il programma antivirus esamina non la sequenza di cifre binarie dei programmi ma le istruzioni contenute negli stessi (fa una vera e propria decompilazione degli stessi) alla ricerca di istruzioni e comportamenti sospetti, che sono tipici dei virus e rari nei programmi normali. Trovandole, segnala all'utente che il file e` sospetto perche' contiene istruzioni di un certo tipo. Pregi: Puo' vedere, come il metodo CRC, infezioni causate da virus ancora ignoti. Al pari del metodo CRC pero' ha senso se si effettua la scansione regolarmente. Infatti la prima volta che lo si lancia si hanno segnalazioni di comportamenti "sospetti" alle quali, se non si e` esperti, non si sa che valore dare. Molto segnaletico e` invece il fatto che un programma, che il giorno prima passava il controllo, il giorno dopo venga segnalato come sospetto. E' comunque possibile, anche la prima volta che si effettua la scansione, confrontare con altri calcolatori se uno stesso programma viene visto come "sospetto". Se il mio STRPROG.EXE e` "sospetto" e l'identico STRPROG.EXE del collega al piano di sopra non lo e`, allora il mio e` infetto. Difetti: E' un metodo basato sulla "cultura del sospetto". Il fatto che un programma contenga certe istruzioni non significa necessariamente che contenga un virus. La logica e`, come dire, che se uno torna a casa tutte le mattine alle 6, puo' essere sospettato di essere un ladro d'automobili, perche' si tratta di un comportamento diffuso tra i ladri di automobili, e raro tra le altre persone. Questo metodo segnala come "sospetti" anche i programmi che fanno i baristi nelle discoteche o i fornai. E' insomma necessaria esperienza per valutare la segnalazione. Inoltre vengono segnalati come sospetti anche i file che incorporano protezioni contro la decompilazione, (ad esempio alcuni antivirus). Antivirus residenti e antivirus "a richiesta" I programmi antivirus possono essere classificati anche secondo il modo in cui effettuano la sorveglianza, cioe` in modo continuo o a richiesta. I primi, gli antivirus residenti, si sistemano in memoria (tipicamente all'avvio, lanciati ad esempio nel caso di sistemi DOS da qualche linea dell'autoexec.bat, nel caso di Windows 3.1 dal gruppo "avvio" o dal file win.ini, eccetera) e da li' controllano i programmi che vengono eseguiti e i settori di avvio dei dischetti che vengono inseriti. In genere hanno nomi che ricordano il concetto di "guardia", di "sentinella", o simili, perche' in effetti quello che fanno e` analogo a quello del portiere che controlli che non entrino estranei. Quelli del secondo tipo fanno una scansione solo al momento in cui vengono lanciati dall'utente, e finita la scansione "terminano" cioe` cessano l'attivita' e si levano dalla memoria. Possono essere comparati a dei poliziotti che effettuano una "perquisizione" del disco rigido, per controllare che non vi siano virus all'interno, dopodiche' se ne vanno. Se successivamente dei virus infettano il calcolatore l'antivirus non se ne accorge perche' non e` attivo. In genere i produttori di antivirus producono programmi di entrambi i tipi. Ad esempio F-Prot ha il suo "gemello" residente che si chiama Virstop, e Scan McAfee ha il suo equivalente residente che si chiama Vshield. Pregi e difetti dei due tipi Gli antivirus residenti occupano memoria. Inoltre hanno grandi esigenze sia di piccolo ingombro sia di rapidita' di scansione. Cio' significa che eseguono una ricerca su stringhe piu' corte di quelle che usa la versione "su richiesta". Si ha quindi una maggiore probabilta' di falsi positivi e un certo rallentamento della macchina, spesso poco avvertibile comunque, dovuto appunto alla sorveglianza continua. E' anche possibile avere degli antivirus residenti che controllano solo il settore di avvio dei dischetti. Occupano poco spazio in memoria, rallentano poco la macchina e sono comunque in grado di tenere al riparo da una grossa classe di virus (sempre limitatamente ai virus noti). Gli antivirus "a richiesta" operano una scansione piu' accurata, che e` diciamo cosi' "al meglio" della conoscenza dei virus del fabbricante. Inoltre consentono di controllare la presenza di virus su programmi che non si stanno eseguendo, ad esempio di controllare tutto il disco rigido. Tuttavia potrbbe seccarvi doverli lanciare ogni volta che inserite un dischetto nel calcolatore o che decomprimete un pacchetto preso da una BBS o da Internet. Quali impiegare Se lavorate in un ufficio con frequenti scambi di soli dati da altre macchine e` pratico avere installato un antivirus residente che controlli solo il settore di avvio dei dischetti. Se lanciate continuamente nuovi programmi (ad esempio perche' vi piace girare per Internet e sistemi telematici e prelevare programmi) vi conviene avere un antivirus residente che faccia anche la scansione per stringhe, per evitarvi la noia (che comunque sarebbe meglio sopportare) di effettuare la scansione manualmente dopo la decompressione di ogni pacchetto. In entrambi i casi, di tanto in tanto dovrete effettuare una scansione rigorosa, cioe` con un antivirus "a richiesta" lanciato da dischetto e dopo avvio da dischetto sistema sicuro. Se invece usate sempre gli stessi programmi, introducete solo occasionalmente dischetti di altri calcolatori oppure programmi presi da rete o telematicamente, allora potete non installare l'antivirus residente (vi risparmiate qualche problema di incompatibilita' e di scarsita' di memoria) effettuando la scansione manuale quando inserite dischetti o lanciate nuovi programmi, e naturalmente effettuando una scansione rigorosa di quando in quando, diciamo almeno ogni volta che vi procurate un aggiornamento. Raccomandazione Gli antivirus residenti possono dare, piu' di quelli "su richiesta", un falso senso di sicurezza all'utente, l'idea insomma di avere installato una porta blindata a prova di tutto. E' un errore. Gli antivirus in generale non danno protezione assoluta, come spiegato il mese scorso, e gli antivirus residenti in particolare sono meno efficaci di quelli "su richiesta". La scansione di file compressi Molti utenti di calcolatore hanno l'abitudine di tenere molti programmi, o intere directory del loro disco, sotto forma di file compresso. Si tratta di programmi di uso occasionale, tenuti in una apposita directory "soffitta" da dove verranno decompressi all'occorrenza. E' inoltre normale tenere i programmi conservati su dischetto sotto forma di file compressi. Spesso i programmi forniti in dischetti di installazione sono anch'essi compressi. A volte i programmi antivirus specificano che sono capaci di leggere all'interno di file compressi, ma e` necessario leggere la loro documentazione per capire cosa esattamente questo significhi. Esistono infatti due fondamentali tipi di programmi di compressione. Un tipo e` rappresentato da programmi come PkZip, Lha, Arj o Lzx. La compressione genera file (di estensione .zip, .lha, .arj, .lzx, ecc) ineseguibili dal sistema operativo. Perche' il file possa essere utilizzato e` necessario che venga eseguito un comando di decompressione che restituisca al programma la sua forma originaria, eseguibile. Definiremo questi "programmi di compressione a richiesta". Oltre a comprimere i file, sono in grado anche di "impacchettare" piu' file in un unico file archivio (e si chiamano quindi anche "archiviatori", o "compressori- archiviatori"). Esiste anche un altro tipo di programma di compressione, rappresentato da programmi come PkLite, PowerPacker e altri. In questo caso il file viene compresso ma rimane eseguibile, se e` un programma per DOS mantiene la sua estensione .exe, ed e` in grado di autodecomprimersi da solo quando viene eseguito dal sistema operativo. Naturalmente occupera' meno spazio su disco ma richiedera' un tempo leggermente maggiore di uno non compresso per essere eseguito. Chiameremo i programmi che eseguono questo tipo di compressione come "programmi di compressione al volo". Va da se' che in questo caso il file compresso contiene il solo file eseguibile, cioe` non e` mai un "archivio" di file, contenente piu' di un file. Orbene spesso i programmi antivirus, laddove specificano che sono in grado di esaminare file compressi, intendono e spiegano nella documentazione che sono in grado di decomprimere i file compressi "al volo", e non quelli compressi con "compressori su richiesta". Questo sembrerebbe poco importante. Se tenete dei programmi compressi in formato .zip, arj eccetera e` perche' li usate poco. Considerate pero' il caso che il vostro antivirus, aggiornato all'ultima versione, veda dei virus che la versione precedente non era in grado di vedere. Se l'antivirus aggiornato e` in grado di fare la scansione anche nei file compressi, con una sola scansione potete essere certi che in tutto il disco non vi siano virus noti all'ultima versione dell'antivirus. Se invece l'antivirus non e` in grado di effettuare la ricerca all'interno dei vari *.zip, *.lha, *.arj ecc. allora anche lanciando la scansione con l'antivirus aggiornato non state in realta' cercando in tutto il disco rigido, ma solo nei file eseguibili. I file archivio non vengono visti, e quindi una parte del contenuto del vostro disco rigido e` stata esaminata con l'ultima versione dell'antivirus, ma un'altra parte e` stata esaminata con una versione precedente, e potrebbe contenere dei virus che la versione precedente non era in grado di vedere, ma questa lo sarebbe. Ogni volta che decomprimete uno di questi file compressi, dovreste ricordarvi con quale versione dei vostri antivirus lo avete esaminato l'ultima volta, ed eventualmente ripetere la scansione del contenuto (con l'antivirus aggiornato) prima di cominciare ad usarlo. Non avrebbe infatti senso procurarsi un aggiornamento ogni 3 mesi se poi si decomprimono e usano, senza controllare che non siano infetti, file che sono stati compressi quattro o sei mesi prima. A volte gli antivirus sono in grado di vedere in file compressi con "compressori su richiesta" ma solo di un tipo (ad esempio solo gli .zip, o solo gli .arj). Se usate piu' di un antivirus cio' quantomeno vi consente, quando decomprimete i programmi per usarli, di lanciare qualche scansione di meno. Un lodevole programma, Zvirus (per Amiga. V. riquadro) permette invece di descrivere ogni tipo di file compressi e di associare ad essi una linea di comando che li decomprima. VirusZ decomprime al volo i pacchetti in una directory temporanea (configurabile, tipicamente sta in un disco virtuale, cioe` nella memoria volatile) li esamina e poi pulisce la directory temporanea e prosegue col file successivo. In questo modo e` possibile effettuare una scansione completa di tutto il contenuto del disco, compresi file compressi con "compressori su richiesta" di qualsiasi tipo. E' auspicabile che anche le maggiori case produttrici di antivirus seguano questo esempio. Nel mondo DOS/Windows configurare l'antivirus sarebbe anche piu' semplice di quanto avvenga con Zvirus dal momento che non sarebbe necessario sapere quale e` la stringa che identifica i file compressi di un certo tipo, basterebbe associare gli antivirus a una estensione di file (cioe`, del tutto banalmente, associare ad esempio l'estensione .ARJ al programma C:\dos\arj.exe). Esempio di operativita' in concreto Siete in presenza di un comportamento anomalo del calcolatore, ad esempio file misteriosamente scomparsi, piantamenti inspiegabili, piccole noie o anomalie (orologio impazzito, ecc.) che potrebbero essere indice della presenza di un virus. Trovate tempo per operare bene e con calma. Fate una copia di sicurezza completa dei dati del vostro calcolatore (se non avete tempo e volete fare in fretta, fate semplicemente la copia di tutto il contenuto del disco, cioe` sia dati che programmi. Non preoccupatevi di star copiando il virus sui nastri, non e` un problema). Riavviate il calcolatore da dischetto sistema sicuro (si veda numero del mese passato) usando il tasto RESET (Ctrl-Alt-Canc non basta). Avviato che avete il calcolatore da dischetto, lanciate i vostri antivirus "a richiesta", operando una scansione di tutto il disco rigido. Attenzione: naturalmente non dovete lanciare, ne' voi ne' il dischetto di avvio, alcunche' presente nel disco rigido del calcolatore. Meno che meno dovete fare l'avvio da dischetto sicuro e poi lanciare Windows perche' trovate piu' comoda l'interfaccia grafica del programma antivirus. O riuscite nell'impossibile impresa di far entrare Windows in un dischetto, oppure abbandonate l'idea di poter fare una scansione antivirus rigorosa da Windows. Come caso di scuola possiamo pensare a un dischetto sistema che carichi il DOS e il gestore per una periferica con un disco rimuovibile (ad esempio uno Iomega ZIP) dove avete un disco con una copia sicura di Windows. Preferibilmente, usate piu' di un programma, e usate programmi che usano vari metodi (ricerca per stringhe, ricerca euristica, controllo del CRC). Fatevi una capiente teiera di buon te`, perche' e` buono, rilassa e al tempo stesso aiuta la concentrazione. Infine, scandite *tutti* i dischetti. Altrimenti, perche' vi avrei raccomandato di trovare tempo e operare con calma? Potrete bere il te` mentre effettuate la scansione di tutti i dischetti. Se non trovate nulla, aspettate a rassicurarvi. Controllate il CRC dei programmi che usate piu' spesso con quelli presenti su altri calcolatori (naturalmente l'algoritmo di calcolo deve essere lo stesso, e la parte del programma controllata deve essere la stessa. Per farla breve, il CRC deve essere calcolato con lo stesso programma). Prendete, visto che avete sospetti che ci sia un virus, l'ottima abitudine di lanciare i programmi antivirus ogni mattina. Ripetete spesso la scansione rigorosa. Aggiornate i vostri programmi antivirus. Chiedete nelle apposite conferenze telematiche se il comportamento anomalo che avete osservato e` in qualche modo noto, e se e` attribuibile a un virus. Ricordate che potreste avere un virus che il vostro antivirus (o i vostri antivirus) non e` in grado di vedere. Operativita' in concreto 2. La vendetta Avete trovato un virus. Supponiamo che abbiate trovato un virus in alcuni programmi col metodo della ricerca per stringhe. Salvate su dischetto un programma infetto. Cancellate tutti i programmi infetti e reinstallateli dai dischi di installazione originali (che naturalmente avete sempre tenuto protetti dalla scrittura). Ovviamente dovete reinstallare i programmi dai dischetti originali, non dal nastro dove avete fatto le copie di sicurezza, perche' copiereste di nuovo i file infetti. Ricopiate ora i file di dati che fossero andati cancellati nell'operazione (ad esempio, i file di configurazione dei programmi e del sistema operativo). Fate attenzione ai file che sembrano di dati e non lo sono (v. Numero del mese scorso). Fatevi il te`, e fate la scansione di *tutti* i dischetti. Questa sara' meno noiosa, perche' ora che il vostro programma antivirus e` in grado di vedere il file, vi piacera' sapere da quale file e` partita l'infezione. Per ogni dischetto che passa l'esame senza che il virus sia segnalato, sapete che quel dischetto e` immune dal virus che vi aveva infettato il disco rigido. Trovato che avrete il virus in un dischetto, dite ad alta voce e con soddisfazione "ah, t'ho trovato, bastardo!", segnate la cosa sull'etichetta del dischetto, e proseguite perche' potreste avere piu' di un dischetto infetto. Se tenete i programmi nei dischetti sotto forma di archivi zip, arj, ecc, allora capirete quanto e` utile che il programma antivirus possa effettuare le ricerche dentro i file compressi che piu' sopra abbiamo definito "su richiesta", cioe` dentro i file archivio. Cancellati e reinstallati i programmi infetti (oppure, se e` piu' pratico, formattato il disco rigido, reinstallati i programmi, e reinstallati i soli dati dalle copie di sicurezza) avvertite chi vi ha passato il programma infetto dell'infezione. Spargete la voce dell'infezione nelle conferenze telematiche che frequentate (e anche al bar dell'ufficio naturalmente) descrivendo i sintomi causati dal virus e il programma antivirus che e` in grado di individuarlo. Infine, ricordate che le infezioni vanno estirpate da tutti i focolai che vi circondano, quindi anche dal calcolatore del vostro compagno di stanza, o dell'intero edificio. In mancanza di questo si rischiano continue reinfezioni ad opera degli stessi virus, che non fanno che spostarsi da una macchina all'altra dell'edificio. Riquadro. La firma PGP dei programmi La diffusione della pratica di firmare con PGP i programmi, oppure della pratica di diffondere il CRC dei programmi, garantirebbe la possibilita' di capire se un programma e` infetto. La maggior parte dei programmi antivirus sono firmati dai loro autori con PGP, un diffuso programma di crittografia e certificazione che impiega l'algoritmo di crittazione RSA a chiavi asimmetriche (per ulteriori dettagli si vedano gli articoli su PGP nei fascicoli di febbraio e marzo 1996). L'uso di PGP vi permette di controllare che un programma non sia stato modificato. Se ogni programma prodotto fosse firmato con PGP, in caso di sospetto di infezione di un programma potreste sempre controllare se quel programma e` stato modificato usando la chiave pubblica dell'autore. In modo per certi versi analogo, i produttori di programmi potrebbero diffondere (ad esempio negli annunci pubblicitari pubblicati sulle riviste) la somma di controllo del CRC degli eseguibili. Se sono certo che il mio antivirus non e` infetto, e ho sospetti che un certo programma sia infetto, leggo il CRC di un programma su una pubblicita', lo confronto con quello generato dal mio programma di calcolo del CRC, e se corrisponde, allora sono certo che quel file non e` infetto. (Posso fare la stessa cosa, con un grado di sicurezza quasi altrettanto alto, confrontando il CRC con quello ottenuto da qualcuno che ha lo stesso programma su una macchina che non ha avuto "rapporti" con la mia). Naturalmente bisogna, come detto sopra, che la parte di file controllata sia la stessa. Spesso gli antivirus controllano il CRC solo di una parte del file, anziche' di tutto il file. Riquadro. Falsi miti sui virus I virus sono messi in circolazione dai produttori di antivirus. Falso. La diffusione di virus e` reato in quasi tutti i paesi. Esistono apposite tecniche investigative tramite le quali si puo' risalire ai calcolatori che hanno iniziato il contagio. Nessun produttore di antivirus correrebbe il rischio di essere scoperto. Ci sono abbastanza programmatori di virus in giro da rendere comunque difficile la vita dei produttori di antivirus, e fiorente il mercato. Il ragionamento del "cui prodest" qui non ha valore, secondo questo ragionamento si potrebbe sospettare che Lotus abbia messo in circolazione i macro-virus che infettano i file prodotti da Word e Excel. Ovviamente, onesta' a parte, i rischi dell'operazione non compensano certo i benefici. Se una casa produttrice di antivirus vuole aumentare le proprie vendite usando metodi scorretti, le conviene molto di piu' esagerare il rischio dei danni da virus e magari cercare il supporto degli organi di stampa per suscitare qualche ondata di isteria, come quella del 1992 riguardo il virus Michelangelo. Non posso avere virus nel mio calcolatore, uso l'antivirus PincoVirPallex. Falso. Gli antivirus non danno mai completa certezza. Quelli che operano la scansione per stringhe vedono solo i virus noti. Quelli che usano il metodo CRC o quello euristico danno indicazioni riguardo una possibile infezione, che bisogna sapere interpretare. Inoltre la procedura e` importantissima. Potete avere un virus che il vostro antivirus potrebbe vedere se usato correttamente, ma non vede semplicemente perche' non fate mai scansioni dopo avere avviato il sistema da dischetto. L'antivirus e` veramente segnaletico solo se usato dopo avvio da disco sicuro. La mia piattaforma e` notoriamente poco affetta da virus, sto tranquillo Ragionamento diffuso un tempo fra i possessori di Amiga. Falso. La scarsa diffusione era dovuta al fatto che la grande maggioranza degli Amiga venduti erano macchine (A550, A600, A1200) senza disco rigido di serie, utilizzate prevalentemente da dischetto. La produzione di virus era dunque esercizio povero di "soddisfazioni" per i programmatori, vista le scarse capacita', per un virus che agisce su una macchina senza disco rigido, sia di riproduzione sia di arrecare danni alla vittima. Tale situazione essendo venuta meno (ormai la maggioranza degli Amiga sono usati con disco rigido) si assiste ad una fioritura di virus anche su questa piattaforma, forse favorita dalla scarsa sospettosita', dovuta alle ragioni "storiche" di cui sopra, dei suoi utenti. I virus sono messi in circolazione dai sistemi telematici e Internet Vero e falso. I virus sono messi in circolazione da programmatori, sono contenuti in programmi, e da questi infettano altri programmi. Le BBS e Internet diffondono programmi, come fanno pero' anche i negozi, o le copie fatte fra amici. Il rischio di prendere un virus da un programma preso da una BBS non e` minore o maggiore di quello di prenderlo da un programma acquistato in negozio o passatoci da un amico. Il rischio semmai e` o minore o maggiore se chi ci da' il programma (BBS, negozio, ecc.) effettua o no dei controlli antivirus. Molti gestori di BBS e manutentori di archivi di Internet effettuano controlli antivirus. Altrettanto non si puo' dire, volendo essere puntuali, dei negozi. Un dipendente infedele o vendicativo (commesso, guidatore di furgone) puo' facilmente introdurre virus in una scatola "sigillata" di un programma commerciale, sembra anzi che in passato questo sia stato un veicolo di infezione molto piu' efficace della distribuzione via BBS (sicuramente a causa di una migliore diffusione della cultura antivirus tra i gestori di sistemi telematici). Non metto "giochini" nel calcolatore, per non prendere virus Non si capisce come sia nato il mito che i giochi (spesso definiti dai profani "giochini". Perche' non chiamano i programmi di utilita' "utilitine?" I giochi sono cose serissime) trasmettano virus. Sono i programmi in generale che trasmettono i virus, non i giochi in particolare. I virus infettano allo stesso modo tutti gli eseguibili. Lo stesso virus puo' infettare un programma di scrittura, un gioco, un foglio elettronico, e infettare uno di questi da qualsiasi altro. I virus in genere non guardano cosa infettano. Per loro ogni eseguibile e` un bersaglio. Chi ha un calcolatore in ufficio, e crede di stare sicuro perche' non ha inserito giochi, non sta affatto piu' sicuro di chi ha un calcolatore a casa che contiene solo giochi, e creda di stare sicuro perche' non ha inserito fogli elettronici o programmi di statistica. Riquadro: Le "informazioni vitali" del calcolatore Uno dei peggiori attacchi che possiate subire e` quello derivante da un virus che si installi nel settore con la tavola delle partizioni del disco rigido (o master boot record) o nel settore di avvio (boot sector) della partizione o del dischetto. In alcuni casi il risultato puo' essere la perdita di tutte le informazioni sul disco. Anche in questi casi la prevenzione gioca un ruolo fondamentale. Quasi tutti i pacchetti di antivirus contengono utilita' specializzate nel salvataggio, su un dischetto di emergenza, di queste informazioni vitali (tavola delle partizioni, settore di avvio, impostazioni del CMOS) in modo che sia possibile ripristinarle qualora un virus credi problemi. Un esempio di programma di questo tipo e` il file tbutil usato col parametro store di TBAV. Esiste anche un programma, SBABR (vedi figure 2 e 3) di Nicola Ferri, che e` specializzato nella protezione di queste informazioni vitali (copia di sicurezza, esame di infezioni da parte di virus noti e ignoti). Riquadro con immagine: Scansione di tutti i file archivio [immagine: virusz-r.bmp fornita anche come virusz-r.gif] VirusZ per Amiga puo' essere configurato per qualsiasi formato di compressione. Sullo sfondo di VirusZ e` stato aperto un visualizzatore esadecimale di un file .lha, per l'esattezza newmode.lha, come si vede dal cerchietto rosso in alto. L'esame di qualche file .lha mostra che i file sono caratterizzati dall'avere la stringa "-lh" a partire dal terzo carattere (si vedano i caratteri cerchiati in rosso in alto a destra). Pertanto si configura VirusZ dicendo che i file LHA sono riconoscibili dall'avere, a partire dal terzo carattere (offset 2) i caratteri "-lh" fra apici (finestra di VirusZ al centro). Infine si inserisce nel campo Command la linea di comando del programma di decompressione LHA, che deve essere comprensiva di percorso e indicare i parametri, in questo caso %f per il file senza percorso e %P per la directory comprensiva di "/" finale, parametri questi che saranno inseriti nella linea di comando da VirusZ. Su piattaforma DOS/Windows questo lavoro di configurazione sarebbe naturalmente molto piu' semplice, essendo sufficiente accoppiare una linea di comando a una estensione di file. DIDASCALIE Foto 1 [f-prot_1.bmp] Il noto antivirus F-Prot consente di leggere le descrizioni dei virus anche nella versione in prova gratuita. Vediamo qui la descrizione del virus pathogen. Come si vede dal testo, l'autore e` stato condannato a 18 mesi di carcere. Foto 2 [sbabr_2.bmp] Schermata di congedo di SBABR, programma di protezione delle informazioni di sistema dell'italiano Nicola Ferri. Foto 3 [sbabr_3.bmp] Il menu' principale di SBABR. - ----------------------------------------- AVVERTENZE: Questo file e` reperibile in Internet alla pagina con LUR: http://www.agora.stm.it/F.Ruggeri/ La distribuzione di questo file attraverso sistemi telematici, CD-ROM, Internet, e il richiamo da altre pagine della ragnatela sono permessi ed incoraggiati, purche' gratuitamente ed integralmente, e purche' siano citati autore ed estremi della testata e volume di pubblicazione. L'autore ne mantiene comunque tutti i diritti. Per qualsiasi uso al di fuori di quelli sopra consentiti, o per qualsiasi esigenza, l'autore puo' essere contattato per Posta Elettronica ai seguenti indirizzi: Internet: F.Ruggeri@agora.stm.it Fidonet: Fabrizio Ruggeri presso Mercurio BBS (2:335/326) Chiave PGP disponibile sui serventi pubblici - ------------------------------------------ -----BEGIN PGP SIGNATURE----- Version: 2.6.3i Charset: cp850 iQCVAgUBNEqxuR/6QWn+pXcRAQHl+wP9F+YOARh810x1D1ka3dmPdNXyOGeJvNwG 9LQ9whLBNAQvqsLtFYLxLGi2slLM72cC44LRg7sNhdTH/FkqrpplervHDjjG+vfj CIM8it+s86CxRkV1ADnNuXwotkBecbFnuPy9/y36TRI8vr3J1qCXknrFsqTnGT5f xXrg+bLNJhQ= =GVVk -----END PGP SIGNATURE-----