|
|
|
|
TIPI DI
VIRUS
|
Come fa un virus a
replicarsi e a nascondere i tentativi di rilevamento ?
Come infetta il file .COM ? Esistono vari modi per
infettare i file .EXE. Di base, il virus crea uno spazio
nel programma per immettere il proprio codice. Poi, in
virus, legge le intestazioni dei file eseguibili e la
riscrive considerando uno spazio aggiuntivo per il virus.
Dopo che il virus legge le intestazioni del file
eseguibile e a manipolare le informazioni. A questo punto
inizia il processo d'infezione.
----FASI----
1. Letture delle intestazioni dell'eseguibile e le
memorizza per riutilizzarle in seguito. Nell'intestazione
del file è contenuta la lunghezza del file, il valore
checksum e ogni altra informazione relativa al contenuto
del file.
2. Il virus determina quanto spazio deve aggiungere al
file per inserirsi in esso.
3. Il virus si aggiunge al file. Le dimensioni del virus e
le modifiche che il virus provoca nell'intestazione del
file rappresentano la firma del virus.
4.Il virus scrive l'intesatzione del programma e modifica
le informazioni contenute nell'intestazione in modo da
includere uno spazio aggiuntivo per le proprie necessità.
5. Il virus salva su disco il programma modificato. Questo
particolare tipo di virus è chiamato VIRUS PARASSITA.
Questo si attacca a un file e continuaa vivere per tutta
la sua vita dentro il file infettato. Il virus muore solo
se si cancella il file infetto. Questi parassiti sono
diversi dai virus che attaccano il settore del boot che si
insidiano della routine di avvio del sistema operativo in
quanto si attaccano a un programma e si replicano
attraverso altri programmi senza toccare il sistema
operativo. Ammesso e non concesso, queste procedure sono
diventate oggi abbastanza relative, ci sono molti altri
modi di infettare un sistema operativo o una gerarchia di
file. In linea di massima questa è comunque più o meno
la procedura che viene eseguita.
Ma adesso vediamo nel dettaglio quali sono le varie speci
e sottospeci di virus conosciuti.
I Toyan Horse
I troyan horse non sono virus. Sono programmi che si
nascondono all'interno di file non eseguibili (file
compressi o documenti) e talvolta in un file eseguibile
per evitare il rilevamento da parte della maggior parte
dei programmi antivirus. Un cavallo di troia, al contrario
dei virus, contiene solo la subroutine del virus. Essi
hanna la caratteristica di fungere da porte aperte sui
sistemi. Aprono in poche parole, delle porte senza nessuna
autorizzazzione e rendono un normale computer client un
server vero e proprio. L'Hacker si serve di questi
programmi, per potersi garantire l’accesso alle risorse
del computer vittima senza dover digitare nessuna password
(eccetto qualche caso), oppure, per ottenere alcuni
privilegi su macchine Host in modo da poter utilizzare
tali macchine come se vi si trovasse dietro la tastiera
del PC attaccato.
I Virus Poliformici.
Il virus poliformico cripta il proprio codice interno.
Questa codifica, nasconde l'aspetto del virus al controllo
dei software antivirus. Per potersi replicare e propagare,
questo virus decripta la sua porzione utilizzando una
routine di decodifica, riportando il file criptato nel suo
stato originale. La routine di decodifica del virus
poliformico prende controllo del computer per decodificare
il corpo del virus. Dopo questo procedimento, la routine
di decodifica trasferisce il controllo della macchina al
virus stesso in modo che questo possa diffondersi
liberamente. I primi virus di questo genere erano
NON-poliformici, ossia impiegavano una routine fissa che
non mutava da un'infeziona all'altra. Questo rendeva più
semplice la rilevazione del virus con dei software
appositi, anche se questo era criptato o nascosto. Un
virus poliformico è più difficile da individuare per gli
antiV. Infatti esso genera una nuova routine di decodifica
ad ogni infezione di file eseguibili, rendendo la firma
del virus differenete ad ogni istanza. Generalmente un
virus poliformico cambia la sua firma utilizzando un
semplice generatore di codice macchina chiamato motore di
mutazione. Il motore di mutazione utilizza un generatore
di codice di numeri casuali e un algoritmo matematico
abbastanza semplice, ma che comunque ottine l’effetto
desiderato. Con il motore di mutazione un programmatore di
virus, puo' trasformare praticamente ogni virus
poliformico con semplici modifiche al codice assembler in
modo che il virus richiami il motore di mutazione prima di
copiare se stesso. Una tecnica usata negli ultimi tempi,
per fare in modo che la “firma” del virus sia sempre
diversa, viene utilizzato un algoritmo che legge il nome
del computer o l’etichetta di volume del disco e vi
applica un’operazione matematica. Un esempio lo possiamo
trovare in Win32.Magister.B che cripta gli eseguibili
proprio con un algoritmo generato dalla fusione della
prima parte di codice del virus con quella del nome della
macchina. Sono in grado di rilevarli SW antiV con metodi
di scansione di ricerca nelle stringhe e quelli con motore
di ricerca dotati di sistemi di identificazione a
crittografia. Solitamente, le scansioni di tipo Euristico
funzionano solo nei casi in cui all’interno del codice
risiedano stringhe maligne che richiamano comandi di
formattazione a basso livello, sovrascrittura di file di
sistema o la manipolazione dei file di registro.
I Virus Stealth (invisibili)
Questo tipo di virus nasconde le modifiche apportate ai
file o ai settori di boot. I Virus Stealth nascondono le
proprie moodifiche manipolando le funzioni di sistema che
il sistema operativo impiega per leggere i file o i
settori dal dispositivo di memorizzazione e modificano i
risultati delle chiamate a tali funzioni. Spesso i SW
antiV non riescono a rilevare questo tipo di virus. Per
proteggersi contro il rilevamento, i virus devono trovarsi
in memoria mentre si utilizza l' antiV. Un esempio di V
Stealth è il primo esempio documentato di virus per
MS-DOS, il famoso "BRAIN". Questo virus si
inserisce nel settore del boot monitorizzando le
operazioni Input e Output su disco e redirige il sistema
operativo ogni volta che tenta di leggere un settore di
boot infetto. In termini di programmazione, il virus
cattura l'interrupt DOS21H, un'interrupt di sistema che
gestisce i servizi DOS. Perciò se esiste la possibilità
che un comando dell'utente possa indicare la presenza
dell'infezione, il virus redirige il servizio DOS in
un'altra area di memoria che fornisce al DOS informazioni
false.
I Virus Slow (lenti)
I virus slow sono difficili da rilevare in quanto
attaccano solo file (es. i file COM in DOS e Windows) che
il sistema operativo sta modificando o copiando. Questo
virus infetta un file solo quando un'utente esegue su di
esso determinate operazioni. Ad esempio, un V Slow puo'
infettare il settore di boot di un floppy solo quando
viene eseguito il comando FORMAT o SYS che scrivono sul
settore boot. Questo virus puo' infettare un file copiato
ma non il file originale. E' molto difficile rilevare
questo vurus. Un verificatore dell'integrità noterebbe il
nuovo file indicando all'utente un problema in quanto per
il file non è disponibile il valore checksum. Gli
strumenti piu' efficaci contro questo tipo di virus sono
le integrity shell (verificatori di integrità residenti
in memoria). Le integrity shell monitorizzano
costantemente la creazione di ogni nuovo file e tentano di
controllare che tutte le operazioni implicate nella
creazione del file non siano interessate dal virus. Un
altro metodo per la verifica dell'integrità si chiama
"decoy launching". In questo caso, il SW di
controllo crea alcuni file COM e EXE il cui contenuto è
noto solo al verificatore di integrità. Dopo la creazione
dei file, il SW controlla il loro contenuto, per vedere se
è stato modificato da un virus Slow.
I Virus Retro
Un virus Retro cerca di sfuggire alle operazioni di un
programma antiV attaccando direttamente il SW antiV.
Creare un virus Retro non è difficile. Chi crea virus, ha
accesso a tutti i programmi anti-virus disponibili sul
mercato. Dunque essi non devono fare altro che studiare il
programma che vogliono distruggere fino a trovare i punti
deboli che gli sviluppatori di antiV non avevano
considerato. Il tipo più comune di virus Retro ricerca
nel SW antiV il file contenente le firme dei virus e le
cancella, rendendo l'antiV innocuo. Un tipo più
sofisticato di questo genere di virus controlla il data
base del verificatore di integrità del SW e lo cancella.
Altri virus Retro rilevano l'attivazione dell'antiV e si
nascondono nel programma, fermandone l'esecuzione o
richiamando una routine distruttiva prima che il programma
antiV riesca a rilavare l'infezione, spesso un comando
corrispettivo a Deltree, format o direttamente lo
smontamento dei cluster del disco fisso… una catastrofe.
Ecco perché è sempre bene utilizzare un antivirus con
scansione euristica, in caso la subroutine maligna
entrasse in azione il SW antivirus potrebbe essere in
grado di rilevarla e bloccarla. I Virus Multiparte (ad
attacco multiplo) I virus Multiparte infettano sia i file
eseguibili che il settore di boot e talvolta anche i
settori di boot floppy. I virus Multiparte infettano il
computer in vari modi e non si limitano a determinare aree
del disco fisso o a determinati tipi di file. Quando si
esegue un'applicazione infettata con un virus Multiparte,
esso infetta il settore di boot del disco fisso della
macchina. La prossima volta che si avvia il computer, il
virus si riavvia infettando ogni programma eseguito. Uno
dei più famosi virus Multiparte si chiama ONE-HALF e si
comporta anche come un virus Stealth e poliformico.
I VIrus Armored (corazzati)
I virus Armored si proteggono utilizzando un particolare
codice che ne rende difficile l'individuazione, il
disassemblaggio e la compressione del codice. Questo virus
può proteggersi all'interno del codice che ha lo scopo di
distrarre l'osservatore dal reale codice operativo.
Alternativamente, il virus può nascondersi all'interno di
codice dissimulante che indica l'indirizzo del virus in un
altro settore del disco. Uno dei più noti virus di questo
genere si chiama WHALE.
I Virus Companion
I virus Companion si attaccano a un file eseguibile
creando un nuovo file con un'estensione diversa dal file
di origine. Questi codici maligni riescono a creare un
file di accompagnamento per ogni file eseguibile
infettato. Ad esempio, un virus Companion può salvarsi
nel file command.exe e ogni volta che un utente esegue
questo file, il sistema operativo lancerà il file con il
virus infettando il sistema. Un virus Companion spesso è
generato da un virus PHAGE. I Virus Phage Sono programmi
che modificano altri programmi o data base in modo non
autorizzato. Di solito i virus Phage sostituiscono il
codice eseguibile del programma con il proprio codice
piuttosto che attaccarsi semplicemente al codice del
programma. Spesso i virus Phage generano un virus
Companion. I virus Phage sono estremamente distruttivi in
quanto non solo si replicano e procedono nell'infezione ma
cercano di distruggere ogni programma infettato.
I Virus Worm
Il virus Worm fu il primo virus a raggiungere INTERNET. Il
Worm blocca il computer creando un numero enorme di copie
di se stesso nella memoria del PC costringendo gli altri
programmi a uscire dalla memoria o creando errori di
protezione generale, violazione delle condivisioni, ecc..
Altro “asso nella manica” del Worm è quella di
assicurarsi la propagazione dell’infezione attraverso la
rete locale o internet sfruttando la vulnerabilità dei
vari sistemi operativi, dei protocolli, dei client di
posta elettronica e dei browser. La riproduzione in un
luogo remoto è importante, perchè dopo che il virus ha
provocato la chiusura del computer, è probabile che un
utente esegua immediatamente un programma per
l'eliminazione di tutti i virus. Per la natura delle
attività di un virus Worm, questi non devono modificare
un programma nell'host per potersi diffondere. Per operare
senza modificare i programmi dell'host, i Worm richiedono
l'impiego di sistemi operativi che offrano la possibilità
di esecuzioni remote, ovvero sistemi operativi in cui un
programma in arrivo possa essere eseguito automaticamente.
Il limite dell'esecuzione remota ha ristretto il Worm
Internet del 1988 ai soli sistemi UNIX, come ad esempio le
workstation Sun. Oggi invece, con lo sviluppo di software
“tuttofare” come Outlook abbiamo potuto assistere
all’incremento della diffusione del virus Worm che pare
stia diventando una specie dominante nel settore delle
infezioni informatiche. Virus specifici per reti I server
e le reti possono essere attaccati da due tipi di virus:
virus per file e virus a macro. In genere su internet non
circolano virus che attaccano i settori di boot, un'altra
forma di virus che appare ogni tanto in alcune reti, in
quanto i PC connessi a internet non possono eseguire
operazioni su disco a livello di settore su altri computer
connessi a internet. Un server Internet in genere non puo'
scrivere sui file di un altro computer. Solo il computer
ricevente può scrivere dati sul proprio hard disk. Vie
d'Infezione nella rete Ecco i principali veicoli
utilizzati dai Virus: - Tramite una copia, eseguita
dall'utente, dei file infettati direttamente nel server.
Dopo che un utente ha copiato il file nel server, il virus
inizierà il suo processo di infezione a partire dalla
prima volta che il file infetto verrà eseguito. -
L'esecuzione di un virus per file su una workstation può
infettare la rete. Dopo che il virus ha iniziato a
funzionare sulla workstation connessa al server, potrà
rapidamente compromettere man mano l'intera rete. -
L'esecuzuione del virus per file residente in memoria su
una workstation può infettare la rete. Dopo che il virus
per file residente in memoria inizia la propria
esecuzione, può ottenere informazioni dal server e
copiarsi sul server senza neppure che l'utente acceda
direttamente al server [Ricordiamoci che una rete
costituita da computer Host e da un server, mantiene una
fitta e continua comunicazione di dati a livello fisico, e
quindi verso lo stack dei protocolli che rimane attivo
fino allo spegnimento delle macchine].
I virus a Macro
I virus a macro sono tra i più pericolosi per le reti. Il
più grande pericolo di questi virus a macro è il fatto
che sono indipendenti dalla piattaforma e dal sistema
operativo, esattamente come internet. Non sono legati a
file eseguibili o a file di codice oggetto ma sono
principalmente contenuti in file di dati. Le Macro sono
piccoli programmi scritti utilizzando il linguaggio di
programmazione interno (script o macro) di un determinato
programma applicativo. Fra i più comuni esempi di
programmi applicativi che includono un linguaggio per
macro vi sono i word processor, i fogli di calcolo
elettronici e i file per la manipolazione d'immagini
(Lingo di Flash ad esempio) Gli autori dei virus a macro,
scrivono questi programmi in modo da potersi replicare
all'interno dei documenti creati dal programma
applicativo. Frequentemente i virus a macro cancellano i
file in modo da renderli irrecuperabili. I virus a macro
in genere possono essere eseguiti su ogni piattaforma in
quanto l'applicazione in questione ha un proprio
linguaggio di programmazione interno. Questo linguaggio
libera il virus dal fatto di poter essere eseguito su
un'unica piattaforma o su un unico sistema operativo. I
linguaggi di programmazione interni della maggior parte
delle applicazioni sono strumenti estrememente potenti. In
genere sono in grado di cancellare e rinominare i file e
directory oltre, naturalmente, a consentire la modifica
dei file esistenti. I virus a macro scritti in questo
linguaggio possono dunque eseguire le stesse operazioni.
In passato la maggior parte dei virus veniva scritta in
Microsoft WordBasic o, più recentemente, in Microsoft
Visual Basic for Application (VBA). Word Basic è il
linguaggio di programmazione interno di Microsoft Word per
Windows (fino alla versione 6.0) e Word 6.0 per Macintosh.
Poichè VBA viene eseguito ogni volta che un utente esegue
un programma in Microsoft Office, i virus a macro scritti
in VBA possono essere molto pericolosi. In altre parole,
un virus a macro scritto in VBA potrebbe infettare un
documento di Excel, un database di access o una
presentazione di Power Point. Oggi i pacchetti Office
hanno un piccolo motore euristico interno in grado di
individuare Macro all’interno dei file. Viene segnalata
la presenza di una macro e si chiede se si vuole che
questa venga eseguita oppure no.
|
|
|
|
Copyright
Hacker Net 2001. Tutti i diritti riservati.
Powered
by WebMaste
.Net
|
|
|