www.zonapc.it Aggiungi ai favoriti

tu e zonapc.it

Bordo sx tu e zonapc.it icon Forum
Bordo sx tu e zonapc.it icon Zonapc.it segnalato da...
Bordo sx tu e zonapc.it icon Guest Book
Bordo sx tu e zonapc.it icon Proponi
Bordo sx tu e zonapc.it icon Segnala problemi

articoli informatica

Articoli icon I servizi di Windows Vista SP1
Articoli icon L'ADSL a 360 gradi
Articoli icon Manutenzione al sistema
Articoli icon Il registro di sistema di Windows XP
Articoli icon Rootkit: una nuova minaccia
Articoli icon Manutenzione hardware
Articoli icon Disinstallazione approfondita dei programmi
Articoli icon Inviare e-mail con telnet
Articoli icon Lista comandi da esegui
Articoli icon I virus informatici

guide manuali software

Guide software icon A-squared
Guide software icon Safe XP
Guide software icon Autoruns
Guide software icon Ad-Aware Se
Guide software icon Erunt (backup del registro)
Guide software icon Outpost firewall 2.5
Guide software icon Total uninstall

tools utility registro fix restore repair

Bordo sx downloads icon Fix Repair reg
Bordo sx downloads icon Fix Repair tools
Bordo sx downloads icon Ripara il PC
Bordo sx downloads icon Trucchi
Bordo sx downloads icon Utility
RSS

I VIRUS INFORMATICI

a cura di MaxZ

Introduzione

Il termine virus, da 20 anni a questa parte è entrato tristemente a far parte del vocabolario di chi utilizza un computer, difficile è infatti dimenticare quel "qualcosa" che arriva nel nostro pc a distruggere o rovinare i nostri dati e ad impedirci di lavorare. Ma cos'è esattamente un virus informatico?
Un virus informatico non è nient'altro che un semplice piccolo programma, un frammento di codice progettato e scritto per riprodursi e diffondersi da un sistema informatico ad un altro all'insaputa dell'utente, quindi senza la sua autorizzazione.
Il termine virus dato a questi programmi è particolarmente indovinato. Il loro comportamento, infatti, può essere paragonato in tutto e per tutto a quello dei virus biologici: mentre un virus informatico sfrutta le risorse del computer per riprodursi, quello biologico utilizza il sistema di riproduzione delle cellule del corpo umano, non possedendone uno proprio. Ma niente paura! A differenza di quello che qualcuno potrebbe pensare, i virus informatici non possono contagiare le persone!
La comparsa dei virus sul mondo informatico ha dato inizio alla nascita di una serie di prodotti che ne sono la diretta conseguenza, una sorta effetto che ha prodotto una serie di strumenti allo scopo di inpedire o curare i nostri Personal computer da infezioni, sono dunque comparsi gli Antivirus e i Tool di rimozione virus e le patch per risolvere le vulnerabilità presenti nei sistemi operativi.
Molti virus, purtroppo, non si limitano solamente a riprodursi, essi portano anche un "carico", il cosiddetto payload (per analogia con quello dei missili). Si tratta di una parte del programma che compie qualche altra operazione, solitamente eseguita al verificarsi di certe particolari condizioni, come ad una data o ad un'ora precise (time bomb), o dopo una particolare sequenza di eventi (logic bomb). Tale operazione può avere effetti più o meno pesanti: da un semplice messaggio mostrato a video, all'emissione di suoni da parte del pc, fino alla cancellazione o al danneggiamento dei dati contenuti nell'hard disk. E' questo il caso del virus November17th (conosciuto anche come il famigerato 855), molto diffuso in Italia negli anni '90: scatenava il suo payload in una data compresa tra il 17 ed il 30 Novembre dopo 500 pressioni di tasti mediante tastiera, cancellando irrecuperabilmente i dati contenuti nel disco fisso (formattazione), oppure cancellando il contenuto della memoria CMOS.

Per quanti danni possano provocare ai nostri dati, è bene ricordare che i virus informatici non possono danneggiare l'hardware. Immagini a video distorte o disturbate, caratteri premuti sulla tastiera che non compaiono a video, mouse impazzito, stampe con simboli senza senso possono essere le conseguenze di un virus che sta interferendo solamente sul software che regola e fa funzionare tali periferiche.

Classificazione

Dopo aver visto in generale cosa sono i virus, passiamo alla loro classificazione. Classificare i virus è tutt'altro che semplice (almeno al giorno d'oggi): molteplici sono infatti le modalità di diffusione, i metodi di infezione e le capacità di questi programmi maligni. Tutto ciò rende difficile la suddivisione in gruppi aventi caratteristiche simili.
Si può utilizzare allora una classe generale, chiamata MALWARE (derivante da MALicious softWARE, = software dannoso) che racchiude tutti i tipi di virus: i virus in senso stretto (suddivisi a loro volta in 4 gruppi), i worms, i trojans e le backdoors. Possiamo riassumere la classificazione in questo modo:
virus


Come si evince dallo schema, i worms, i trojans e le backdoors non sono considerati dei veri e propri virus, in quanto agiscono in maniera diversa da essi; inoltre, ai trojans e alle backdoors manca un requisito fonda-mentale per rientrare in questa categoria: la capacità di riprodursi.
Vediamo ora di analizzare le singole tipologie di virus.

Virus in senso stretto

I virus in senso stretto sono quelli che erano maggiormente in circolazione prima che Internet divenisse un fenomeno di massa, spianando la strada alla diffusione delle altre tipologie di malware (worm, trojans e backdoors).
I virus in senso stretto non possono entrare in un pc da soli (a differenza di come potrebbero fare i worm, come vedremo successivamente). Per contagiare il computer è necessario che l'utente svolga una tra le seguenti azioni:

- eseguire un'applicazione infetta;
- avviare da un dischetto infetto;
- avviare delle macro infette.

Ogni volta che un oggetto infetto viene eseguito, all'insaputa dell'utente viene eseguito anche il virus: esso si attiva e può così riprodursi infettando altri oggetti, installarsi residente in memoria o attivare il payload (di cui abbiamo già parlato in precedenza), scatenando così la sua azione più o meno devastante.
Come qualsiasi altro programma, anche i virus sono solitamente registrati su un floppy o sull'hard disk, ma ovviamente non si tratta di file a sé stanti, altrimenti verrebbero subito scoperti. Vediamo come si comportano le diverse tipologie di virus in senso stretto.

Virus di file

I virus di file sono quei programmi maligni che, per nascondersi o per far in modo di essere eseguiti più facilmente, utilizzano una di queste tecniche:
- si sostituiscono completamente ad un programma (file aventi estensione .EXE, .COM, .SCR, .BAT, ecc.). Nel momento in cui il sistema operativo o l'utente andrà ad eseguire quel programma, in realtà sarà eseguito il virus;
- si copiano all'interno di un altro programma (file con estensione .EXE, .COM, .SCR, .BAT, ecc.), solitamente alla sua fine, senza sostituirlo completamente, ma "infettandolo". Quindi, nello stesso programma, saranno presenti sia il codice originale sia il codice virale. Al momento dell'esecuzione dell'applicazione infetta verrà eseguito il virus che, a sua volta, provvederà a mandare in esecuzione anche il programma legittimo, simulando così un corretto funzionamento. In conseguenza all'infezione, il programma originale solitamente aumenta di dimensione;
- sfruttano delle priorità del filesystem nell'eseguire i programmi. Un primo metodo consiste nella localizzazione di una cartella contenente un eseguibile con estensione .exe da parte del virus, che quindi si copia nella medesima cartella con estensione .com. I file di quest'ultimo tipo hanno la priorità di esecuzione rispetto agli .exe: se viene invocato il nome del programma senza che ne venga specificata l'estensione, verrà eseguito prima il file .com e quindi il virus, che potrà decidere o meno di mandare in esecuzione anche il programma originale. Il secondo metodo invece consiste nello sfruttare i percorsi preferenziali memorizzati nella variabile di ambiente PATH per la ricerca di eseguibili sprovvisti di percorso assoluto. Se la variabile PATH, ad esempio, contiene nell'ordine i percorsi c:\ e c:\windows, un programma generico al momento della sua invocazione verrà ricercato prima in c:\ e quindi in c:\windows. Se il virus si copia nella cartella c:\ utilizzando il nome di un file di sistema contenuto nella cartella c:\windows, la richiesta di esecuzione del file legittimo porterà invece all'attivazione del virus, in quanto si trova in una cartella a più alta priorità di ricerca.

Virus di boot

I virus di boot, a differenza di quelli di file, sfruttano per diffondersi il settore di boot e il master boot record (MBR), due zone speciali dei dischi che contengono le informazioni necessarie al caricamento e all'avvio del sistema operativo. I due tipi di infezione sono analoghi: esiste solo una sottile differenza.
I virus che si inseriscono nel settore di boot vengono eseguiti ad ogni avvio del computer prima del caricamento del sistema operativo: essi rimangono in memoria quindi fino allo spegnimento del pc, svolgendo le proprie azioni dannose, consistenti solitamente nel copiarsi in tutti i floppy inseriti nel lettore (che diventano un veicolo di diffusione, se usati per avviare altri sistemi) e nel danneggiamento dei dati.
I virus che si inseriscono nel master boot record, come già detto, si comportano in modo analogo ai primi, tranne che per un particolare: al momento dell'infezione, il virus provvede a spostare in un'altra parte del disco le informazioni essenziali per il caricamento del sistema operativo, sostituendovi il proprio codice. La conseguenza è che in computer dotati di Windows NT o 2000 che usano partizioni NTFS il sistema non riesce ad avviarsi, mentre i sistemi Windows95, 98 e ME si avviano ugualmente (poiché il virus riesce a comunicare loro la nuova posizione delle informazioni precedentemente spostate), eseguendo anche il codice virale.
I virus di boot erano molto diffusi in passato. Oggi, grazie ad una maggior attenzione e ad un maggior controllo dedicati a queste zone del disco, i programmatori di virus stanno tralasciando questa tecnica, considerata ormai inefficace.

Virus multipartiti

Questi tipi di virus sono indubbiamente i più complessi dal punto di vista della realizzazione e sono tra i più pericolosi. Come si può intuire dal loro nome, essi possono infettare sia i settori di boot dei dischi (come i virus di boot), sia i programmi (come i virus di file).
Facilmente intuibile è quindi come questi virus siano abbastanza complicati da rimuovere: anche se si elimina il virus dal settore di boot, non appena verrà eseguito un programma infetto il virus provvederà a ricopiarvisi immediatamente. Analogamente, se i programmi infetti vengono ripuliti, al successivo riavvio del sistema il virus sarà attivato e reinfetterà nuovi programmi.

Virus di macro

Questi tipi di virus infettano solamente i file di dati (e non i programmi) e precisamente quei file di documenti al cui interno possono essere contenute le macro definizioni.
Le macro sono delle sequenze di istruzioni (i famosi script) scritti in linguaggio VBA (Visual Basic for Application) utilizzate nei programmi della suite Office, come Word ed Excel, allo scopo di automatizzare certe operazioni sui documenti ed aumentarne quindi la flessibilità e le potenzialità. Questi processi di automazione, però, possono venire sfruttati dai virus di macro. Generalmente, per assicurarsi di venire eseguiti il più spesso possibile, essi vanno ad infettare i modelli standard (nel caso di Word il file Normal.dot), cioè quei documenti nuovi e vuoti che ci vengono presentati all'apertura di un programma di Office. In questo caso ogni nuovo documento creato sarà automaticamente infetto. Altra tecnica usata da questi virus è quella di andare a modificare le macro associate alle voci di menù (ad esempio Apri, Salva, Salva con nome, ecc.); quando si andrà a scegliere una di queste voci sarà eseguito anche il codice virale e potranno così essere infettati nuovi documenti.
Esistono moltissimi virus di macro poiché sono solitamente più semplici da realizzare rispetto ai virus delle tipologie precedenti; se creati adeguatamente, inoltre, possono colpire anche sistemi operativi completamente diversi tra di loro (considerato che esiste Office per Macintosh ...).


Dopo aver visto in dettaglio il funzionamento dei diversi tipi di virus in senso stretto, passiamo a delle considerazioni di carattere generale.
Considerato che lo scopo di un virus è quello di infettare più programmi e più sistemi possibili, esso deve necessariamente prolungare il più possibile la sua esistenza, nascondendo la sua presenza. Tanto più piccolo è un oggetto, tanto più grandi sono le possibilità che esso passi inosservato: la dimensione di tali programmi maligni infatti generalmente non supera le poche decine di KB, grazie anche alla codificazione di molti di loro in linguaggio Assembly.
Ma non è tutto: alcuni virus "intelligenti" utilizzano altre tecniche per cercare di rendersi invisibili e di passare inosservati ai software antivirus: la tecnica stealth e la tecnica del polimorfismo.

La tecnica stealth (propria dei virus stealth) consente al virus di monitorare, grazie ad una parte di esso che rimane costantemente in memoria, le chiamate dei programmi ad alcune funzioni del sistema operativo. In questo modo, ad esempio, un virus di boot può "accorgersi" del tentativo di un'applicazione di leggere dal settore di boot o dall'MBR, ripulendo preventivamente quel settore dal suo codice, per poi reinfettarlo nuovamente a lettura conclusa. In maniera del tutto analoga i virus di file possono ripulire temporaneamente i programmi infetti. Il rovescio della medaglia è che i software antivirus possono facilmente rilevare la parte di codice virale costantemente presente in memoria.

Una delle prime operazioni che un virus effettua prima di infettare un oggetto è quello di controllare che in quell'oggetto non sia già presente una copia di se stesso: una duplice infezione, infatti, potrebbe compromettere la sua funzionalità e quindi la sua esistenza. Per svolgere questa azione, il virus cerca nell'oggetto in questione la presenza o meno di una stringa che lo caratterizza. Se la stringa viene trovata, significa che l'oggetto è già infetto; nel caso opposto, viene effettuata l'infezione. Se da una parte questa tecnica assicura la sopravvivenza al virus, dall'altra lo rende vulnerabile: la stringa rappresenta infatti la sua firma, che sta alla base delle definizioni utilizzate dai software antivirus per il riconoscimento dei codici virali. La tecnica del polimorfismo, propria dei virus detti polimorfici (nonché anche più evoluti), permette loro di superare questa vulnerabilità utilizzando la crittografia: un codice criptato è infatti difficilmente analizzabile se non se ne conoscono l'algoritmo tramite il quale è stato criptato e la relativa chiave. I virus polimorfici hanno al loro interno diverse funzioni di cifratura, o addirittura un generatore di cifratura casuale, usati per criptare ogni loro copia attraverso algoritmi sempre differenti. Solo la conoscenza di tutte queste funzioni di cifratura può permettere ad un antivirus di riconoscere il codice virale.

(continua alla pagina successiva...)
successiva

Valid HTML 4.01 Transitional