Introduzione ai virus
Davide Fabris
Vincenzo Glave
[email protected]
[email protected]
Corso di Sicurezza delle reti e dei calcolatori
1
Il malcode (malicious code)

Una sequenza di codice progettata per
danneggiare intenzionalmente un sistema o i
dati che contiene o comunque alterare il suo
normale funzionamento, all’insaputa
dell’utente.
2
Categorie di malcode
worm
macro
virus
virus
trojan
horse
malcode
(hoax)
applet
ActiveX
html
3
Virus

Un malcode che:


infetta altri file o dischi per replicarsi;
altre caratteristiche:



può danneggiare file o sistemi;
può manifestarsi all’utente;
può fare niente di tutto questo;
4
Worm

Un malcode che:



non necessita di un host da infettare;
tipicamente si diffonde tramite Internet (email, chat
channels, file sharing, etc);
può sfruttare vulnerabilities nei sistemi per infettarli
e/o danneggiarli;
5
Trojan horse

Un malcode che:




si finge un’applicazione lecita;
viene eseguito intenzionalmente dall’utente;
oltre al normale funzionamento esegue operazioni
dannose all’insaputa dell’utente (tipicamente apre
una backdoor) sfruttando le vulnerabilities dei
sistemi;
nella versione “pura” non si replica;
6
Macro-virus

Le macro sono sequenze di istruzioni progettate per
semplificare ed automatizzare delle procedure all’interno
di programmi (Word, Excel, etc).

Il macro virus consiste di una o più macro maligne, scritte
in un linguaggio di programmazione per macro e allegate
ad un documento.

Si replica infettando altri documenti
7
Hoax


Altrimenti noto come pseudo virus, è un falso
allarme.
Può essere intenzionale e spingere l’utente a
danneggiare inconsapevolmente il proprio
sistema.
8
Malcode naming


Nome: una stringa di testo contenuta nel
codice o la località dove è stato scoperto
CARO naming convention:
Type o platform
 Family name
 Group name
 Variant
Esempio: Win32.Sobig.F

9
Storia dei virus

1983. Viene coniato il termine “computer virus”
“A computer program that can affect other
computer programs by modifying them in such
a way as to include a (possibly evolved) copy
of itself.”
10
Storia dei virus: Brain

Nome: Brain

Tipo: virus

Data di diffusione: 1986 dal Pakistan

O.S. attaccabili: sistemi DOS

Effetti dell’infezione: replicazione

Metodo di diffusione: boot sector infector

Altre caratteristiche:

Memory resident
11
Sequenza di boot da HD
power
on
BIOS
Codice all’interno di un chip
ROM
Esegue test e
inizializzazione dell’hardware
(POST)
Carica in memoria il Master
Boot Record e la Partition
Table che si trovano nel
primo settore del disco
MBR
OS
boot
L’MBR localizza sulla
Partition Table la prima entry
bootable
L’MBR localizza il settore che
contiene l’OS boot code (il
partition boot sector) e lo
carica in memoria
12
Boot-infecting virus (1)
Boot
da
floppy
Il virus (o il suo
loader) si trova sul
primo settore del
floppy
...
Il BIOS carica in
memoria ed esegue il
primo settore del floppy
(quello che pensa
essere il boot sector)
Il virus è in memoria: ora
deve infettare il PC.
13
Boot-infecting virus (2)
Boot sector infector:
Il virus è in
memoria e
può infettare
altri floppy
...
Il virus individua
sull’HD l’OS boot
sector, lo sposta
e scrive al suo
posto il proprio
codice o una parte
di esso (un loader)
Il virus esegue
l’OS boot sector
originale
reboot
Il BIOS carica
in memoria ed
esegue l’MBR
L’MBR carica
in memoria ed
esegue il virus
boot sector
14
Boot-infecting virus (3)
Partition table infector:
Il virus è in
memoria e
può infettare
altri floppy
...
Il virus individua
sull’HD la partition
table e modifica
l’indirizzo dell’OS
boot sector per farlo
puntare al proprio
codice
Il virus esegue
l’OS boot sector
originale
reboot
Il BIOS carica
in memoria ed
esegue l’MBR
L’MBR carica
in memoria ed
esegue il virus
boot sector
15
Boot-infecting virus (4)
MBR infector:
L’MBR carica
in memoria ed
esegue l’OS boot
sector
...
Il virus individua
sull’HD l’MBR,
lo sposta e scrive
al suo posto il
proprio codice o
una parte di esso
(un loader)
Il virus è in
memoria e
può infettare
altri floppy
Il virus carica
in memoria ed
esegue l’MBR
originale
reboot
Il BIOS carica
in memoria ed
esegue il virus
al posto dell’MBR
16
(Non) memory resident virus
Un virus non residente in
memoria (transient) rimane
attivo per un intervallo di tempo
limitato durante il quale effettua
le sue operazioni e poi termina.
Un virus residente in memoria
(resident) rimane attivo in
memoria anche dopo
l’esecuzione dell’host infetto e
intercetta eventi di sistema in
corrispondenza dei quali
effettua le sue operazioni
Più
facile da implementare
Meno efficace
Più
efficace
Più difficile da implementare
Più difficile da estirpare
17
Storia dei virus: Jerusalem







Nome: Jerusalem.1808
Tipo: virus
Data di diffusione: 1987 dall’Italia
O.S. attaccabili: sistemi DOS
Effetti dell’infezione: si attiva ogni venerdì 13 e cancella
ogni programma mandato in esecuzione.
Metodo di diffusione: file infector (.exe, .com)
Altre caratteristiche:


Memory resident
Prepender
18
File-infecting virus (1)
File
execution
Il virus è
incorporato in un
file eseguibile
(host file)
Una volta arrivato
sul PC ...
...
... viene eseguito
quando (e se) il file
viene eseguito
19
File-infecting virus (2)
Transient virus:
...
Il virus cerca i file
eseguibili non
infettati e li infetta
Il virus cede il controllo
al programma host e
termina
20
File-infecting virus (3)
Memory resident virus:
...
Il virus cede il controllo al
programma host e rimane
residente in memoria
Il virus intercetta system calls
per individuare potenziali host e
replicarsi.
21
Tecniche per infettare gli host


Overwriting virus
Parasitic virus





Appending virus
Prepending virus
Inserting virus
Cavity virus
Companion virus
22
Overwriting virus
Program file
header
Program file
header
Virus code
E’ la tecnica più semplice
L’host file è danneggiato e inutilizzabile
23
Parasitic virus




Si inserisce all’interno dell’host file modificandone la
struttura.
L’host file non è danneggiato e rimane utilizzabile,
almeno parzialmenteil virus può cedergli il controllo.
La modifica della struttura del file richiede di
conseguenza anche la modifica dell’header.
Tipi di parasitic virus:




Appending virus
Prepending virus
Inserting virus
Cavity virus
24
Appending virus
Program file
header
Program file
header
Virus code
25
Prepending virus
Program file
header
Program file
header
Virus code
26
Inserting virus
Program file
header
Program file
header
Virus code
27
Cavity virus
Program file
header
spazio inutilizzato
Program file
header
Virus code
28
Companion virus
Non modificano l’host file.
1° tipo (tipico di DOS)
Host file:
nomehost.exe
2° tipo (funziona con tutti gli OS)
Host file:
infezione
Virus:
nomehost.com
Quando l’utente digita il nome del file
senza specificare l’estensione, in realtà
l’OS esegue il virus
nomehost.exe
infezione
Host file:
nomehost.ext
Virus:
nomehost.exe
Quando l’utente digita il nome del file
anche specificandone l’estensione, in
realtà l’OS esegue il virus
29
Routine utilizzabili

Per infettare e danneggiare i sistemi, i virus
possono:



Accedere direttamente all’hardware
Utilizzare BIOS Interrupt routines
Utilizzare le System Calls dell’OS.
30
Storia dei virus: Stoned




Nome: Stoned.Standard
Tipo: virus
Data di diffusione: 1987
Effetti dell’infezione:




visualizza il seguente messaggio: “Your PC is now stoned!
LEGALIZE MARIJUANA!”, visibile nell’MBR;
può sovrascrivere una parte dei dati.
Metodo di diffusione: MBR infector.
Altre caratteristiche:

Memory resident
31
Storia dei virus: Christma Exec





Nome: Christmas Tree Exec
Tipo: trojan horse
Data di diffusione: Dicembre 1987
Effetti dell’infezione: si finge una cartolina di Natale e,
una volta eseguito, si autospedisce a tutti gli indirizzi della
rubrica provocando un Denial of Network.
Metodo di diffusione: via e-mail.
32
Storia dei virus: Internet Worm





Nome: Internet Worm
Tipo: worm
Data di diffusione: 1988 dal MIT
O.S. attaccabili: Unix (Berkeley v4)
Effetti dell’infezione:




Ricerca nel sistema indirizzi di host locali e remoti. In
alternativa li genera casualmente
Per penetrare negli host remoti utilizza:
 Dictionary attack sulle password
 Buffer overflow sul servizio di finger.
 Trap-door su sendmail.
Provoca DoS e DoN.
Metodo di diffusione: via Internet.
33
Differenze Trojan/Worm




Entrambi non infettano altri files
I Trojan non prevedono un meccanismo di
diffusione
I worm contengono codice che gli permette di
diffondersi in maniera efficace
Molto spesso tendono a cooperare: un worm
è spesso un trojan e un trojan viene spesso
diffuso come worm(la differenza è quindi
molto sottile)
34
Tipi di Trojan/Worm







Remote Administration
Backdoor
Network redirect
Distributed attack
Denial of Service
Password stealers
Keyloggers
35
Remote Administration



Il più pericoloso e dannoso
Consente all’hacker di avere il pieno controllo
del computer infetto
Composto da due parti distinte:


Server  memorizzato ed eseguito sull’host da
infettare
Client  utilizzato dall’hacker per contattare il lato
server
Esempi: BackOrifice, Subseven
36
Backdoor(1)




Tecnica meno sofisticata del RAT
Tutti i RAT sono Backdoor ma non tutti i backdoor
sono RAT
Il controllo da parte dell’hacker non è totale. Il
worm/Trojan si limita solo ad effettuare quello per cui
è stato progettato
Provvedono solitamente ad installare un servizio TCP
(demone) fasullo sull’host da attaccare e a
comunicare all’hacker l’indirizzo IP della macchina
compromessa
37
Backdoor(2)
Esempio di backdoor trojan “tHing”:
 Si copia all’interno del file Netlog1.exe e
modifica il System.ini
 Attende che il computer infetto sia on line per
notificarlo all’hacker con il messaggio “Victim
is online” inviato attraverso ICQ
 Finchè il computer compromesso resta on-line
l’hacker puo’ effettuare l’upload e l’esecuzione
di file
38
Network redirect

Utilizza gli host compromessi come ponte per
effettuare l’attacco ad un determinato host
 Rende molto difficile risalire all’host che ha
generato un determinato attacco
Utilizzato anche per rendere più complicato
il lavoro di filtraggio dei firewalls
39
Distributed attack(1)




Si diffonde rapidamente sul maggior numero
di macchine possibile
Prima di effettuare l’attacco di massa attende
l’ordine dell’hacker
L’attacco non è diretto alle macchine infettate
Gli host infetti vengono congiuntamente
utilizzati per attaccare uno specifico obiettivo
40
Distributed attack(2)
Esempio “Win32.TrinZombie”:
 Si diffonde via e-mail e si camuffa dietro un innocuo
giochino
 Apre la porta 34555 e attende comandi dall’hacker
 Una volta attivato invia in continuazione pacchetti
corrotti (malformed) ad un determinato host
 L’host target spenderà tutto il suo tempo a tentare di
rispondere ai pacchetti UDP ricevuti arrivando
progressivamente al collasso
41
Denial of Service





Spesso utilizzato in combinazione con altre tecniche
Tenta di impedire agli utenti l’accesso ad un
determinato servizio
Puo’ causare il collasso dell’host infettato riempiendo
il disco locale di migliaia di files
Puo’ utilizzare l’host compromesso come base per
causare un Dos ad un host target prefissato
(sommergendolo di richieste quali ad esempio mail,
ping, pacchetti ICMP,UDP ecc.)
Esempio di Dos può anche essere il mailbombing
42
Password Stealer

Progettato per catturare le password inserite
dall’utente
 Memorizza le password in chiaro contenute all’interno della
cache
 Crea falsi messaggi di errore e invita l’utente a inserire
nuovamente la password

Esempio: DUNPassword
 Attende che il computer effettui una connessione di
accesso remoto
 Effettua una finta disconnessione ed invita l’utente ad
inserire la password
 Salva la password e la invia all’hacker via e-mail
43
Keylogger




Solitamente parte di Worm/Trojan più
complessi
Memorizza tutti i caratteri digitati all’interno di
un file solitamente criptato
Il file giunge all’hacker via e-mail oppure
utilizzando altre tecniche (RAT)
Grazie alle ridottissime dimensioni passa
molto spesso inosservato
44
Storia dei virus: Michelangelo





Nome: Stoned.Michelangelo
Tipo: virus
Data di diffusione: 1991
Diffusione: bassa
Effetti dell’infezione:



Si attiva il 6 Marzo di ogni anno (data di nascita di
Michelangelo) e distrugge i dati, sovrascrivendo vari settori del
disco fisso.
Metodo di diffusione: MBR infector.
Altre caratteristiche:

Memory resident
45
Storia dei virus: Concept







Nome: WM.Concept
Tipo: macro virus
Data di diffusione: 1996
O.S. attaccabili: MS Windows
Effetti dell’infezione:

Grazie alla macro AutoOpen viene eseguito automaticamente.

Si replica utilizzando la macro FileSaveAs.
Metodo di diffusione: documenti di MS Word.
Altre caratteristiche:

E’ il primo virus scritto per MS W ord
46
Macro virus (1)




Facile da scrivere, dato che i linguaggi per macro sono ad
alto livello.
Cross-platform, tra i sistemi compatibili con l’applicazione
che supporta le macro.
Residente in memoria, finché l’applicazione è in
esecuzione.
Di più facile distribuzione, dato che inserito all’interno di
documenti spesso condivisi tra gli utenti (doc Word,fogli
Excel, etc...)
47
Macro virus (2)
Il virus si trova sotto forma di
(auto)macro all’interno di un
documento che supporta le macro.
L’applicazione viene eseguita
Il macro virus viene caricato in memoria
L’applicazione viene
infettata, in modo che
ad ogni riavvio il
macro virus venga
eseguito.
Il macro virus infetta
ogni altro documento
utilizzato
L’automacro viene eseguita
48
Macro virus (3)
Es: Microsoft Word
Normal.dot
Il global template caricato in
memoria ad ogni avvio di MS
Word.
Se infettato, il macro virus viene
caricato in memoria ad ogni
avvio di MS Word
Infezione
della
applicazione
Startup
directory
Ogni template memorizzato in tale
directory viene caricato in
memoria all’avvio dell’applicazione
Un macro virus memorizzato in
tale directory viene caricato in
memoria all’avvio dell’applicazione
49
Storia dei virus: Melissa






Nome: W 97M.Melissa
Tipo: macro virus
Data di diffusione: 1999
Diffusione: alta
O.S. attaccabili: MS W indows
Effetti dell’infezione:






Utilizza MS Outlook per autospedirsi ai primi 50 indirizzi della rubrica.
Si replica anche infettando i nuovi documenti creati con MS Word.
Disabilita la protezione per le macro.
Quando il numero del giorno è uguale al numero dei minuti scrive una
frase dei Simpson
Metodo di diffusione: documenti di MS W ord, e-mail attachment.
Altre caratteristiche:

E’ il più famoso e diffuso virus scritto per MS Word
50
Storia dei virus: I Love You(1)






Nome: VBS.LoveLetter
Tipo: worm
Data di diffusione: 2000 dalle Filippine
Diffusione: elevata
O.S. attaccabili: MS W indows
Effetti dell’infezione:






Si replica spedendosi agli indirizzi contenuti nella rubrica di MS Outlook.
Si replica attraverso la chat mIRC.
Infetta i file con estensione .vbs.
Infetta altri tipi di file, sovrascrivendoli e aggiungendo l’estensione .vbs.
Metodo di diffusione: e-mail attachment, mIRC.
Altre caratteristiche:

Ne esistono innumerevoli varianti (più di 80). E’ un VBScript.
51
Storia dei virus: I Love You(2)
Technical details
 Il worm effettua copie di sé su disco e fa in modo che vengano eseguite ad
ogni startup dell’OS, creando nuove chiavi all’interno del registro in
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run\
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices\




Tenta di forzare il download di un password stealer e di installarlo,
modificando la start page di Explorer per farla puntare ad una pagina web
contenente il trojan horse.
Sovrascrive i file .jpg con il proprio codice e poi aggiunge l’estensione .vbs
Sovrascrive i file con estensione .vbs, .vbe, .js, jse, .css, .wsh, .sct, .hta e
poi ne modifica l’estensione in .vbs
Nasconde i file .mp3 e .mp2, e utilizza i loro nomi come nomi per le proprie
copie, aggiungendo l’estensione .vbs
52
Storia dei virus: I Love You(3)
Technical details
 Il worm crea un file html contenente lo script stesso. Se è
presente un client mIRC, il file SCRIPT.INI viene
sovrascritto, in modo da spedire il file html via IRC.
 Utilizza poi MS Outlook per spedirsi via e-mail a tutti gli
indirizzi della rubrica.
53
Windows Hooks



Permettono di installare nel sistema una
routine(hook callback procedure)in grado di
monitorare gli eventi prima che questi
raggiungano i processi
Per ciascun tipo di hook viene tenuta una lista
di puntatori alle hook callback procedures
installate dalle applicazioni
Le hook callback procedures vengono
eseguite in sequenza LIFO quando occorre
l’evento associato
54
Storia dei virus: Code Red(1)






Nome: Codered
Tipo: Worm
Data di diffusione: Agosto 2001
Diffusione: medio-alta
O.S. Attaccabili: web servers con Microsoft IIS
Effetti dell’infezione:



Causa instabilità al sistema ospite e tende a saturare la banda
disponibile (genera molti thread!!)
DoS verso siti web.
Metodo di distribuzione: HTTP request
55
Storia dei virus: Code Red(2)




Si diffonde come HTTP request effettuando un buffer
overflow che gli permette di ottenere il controllo del
sistema.
Non si salva sull’host infettato ma si inserisce e viene
eseguito direttamente dalla memoria
Controlla la presenza del file “NotWorm” sul sistema
da attaccare, se viene trovato il worm si disattiva
Altrimenti, a seconda della data corrente e del
linguaggio utilizzato nel sistema ha comportamenti
differenti
56
Storia dei virus: Code Red(3)

Data di sistema antecedente al 20


Data compresa tra il 20 e il 27


Genera un elevato numero di thread (fino a 600)
per attaccare nuovi host, forgiando gli indirizzi IP.
Tenta un attacco DoS al sito www.whitehouse.gov
Altrimenti

I thread non vengono eseguiti ma vengono posti in
uno stato di “sleep” infinito
57
Storia dei virus: Klez (1)







Nome: W32.KLEZ
Tipo: worm, virus
Data di diffusione: Novembre 2001
Diffusione: alta
O.S. Attaccabili: Tutti gli O.S. Microsoft tranne Win 3.11
Effetti dell’infezione:

Infetta il sistema con il virus W 32.ElKern.3326

Si replica via e-mail.

Modifica i file contenuti su disco rendendoli di lunghezza 0.
Metodo di distribuzione: e-mail attachment
58
Storia dei virus: Klez (2)
Technical details






Tenta di disabilitare eventuali antivirus caricati in memoria,
terminando il loro processo.
Si copia nella directory di sistema e modifica il registro per avviarsi
allo start-up dell’OS.
Infetta il sistema con il virus W 32.ElKern.3326, un file infector.
Ispeziona le risorse di rete cercando quelle condivise allo scopo di
copiarsi in esse.
Si spedisce come allegato via e-mail a tutti gli indirizzi trovati,
eventualmente forgiando il mittente.
Sfrutta una ben nota vulnerabilità di MS Internet Explorer che gli
permette di essere eseguito anche se l’utente non ha aperto
l’allegato.
59
La vulnerabilità di IE (1).



Riguarda le e-mail in formato html. Esse vengono aperte
da Internet Explorer (IE) anche se si sta utilizzando
Outlook o Outlook Express.
Nelle mail in formato html, IE deve gestire anche gli
allegati.
Gli allegati vengono solitamente codificati all’interno della
mail secondo lo standard MIME (Multipurpose Internet
Mail Extension). MIME richiede che per ciascuno di essi
debba essere specificato anche il tipo, affiché il
corrispondente programma possa aprirlo.
60
La vulnerabilità di IE (2).



Le versioni di IE fino alla 5.5 gestiscono in modo non
corretto alcuni tipi di allegati poco usati.
Se nel codice MIME di una mail con un allegato
eseguibile viene forzato come tipo dell’allegato uno di
quelli gestiti male da IE, quando la mail viene visualizzata
esso viene eseguito automaticamente senza avvisare
l’utente (anche se la mail viene visualizzata nel pannello
di preview).
Dalla versione 6 di IE il problema è stato risolto.
61
Nuova vulnerabilità di IE!





Già sfruttata dal trojan/worm QHost.
IE 5.01, IE 5.5, IE 6.0 (anche per Windows
Server 2003)
Causa l’esecuzione automatica di codice
arbitrario, all’insaputa dell’utente.
Può essere sfruttata all’interno di siti web o di
e-mail in formato html.
Patch e dettagli
62
Storia dei virus: Badtrans(1)






Nome: W32.Badtrans.B@mm
Tipo: Worm
Data di diffusione: Novembre 2001
Diffusione: alta
O.S. Attaccabili: Tutti gli O.S. Microsoft tranne Win 3.11
Effetti dell’infezione:



Tenta di replicarsi rispondendo a tutti i messaggi non letti
presenti nella casella di posta in arrivo e a tutti gli indirizzi email trovati nei file .htm(l) e .asp
Installa un keystroke logger trojan
Metodo di distribuzione: e-mail attachment
63
Storia dei virus: Badtrans(2)
Technical details:
 Contiene una sequenza di bit che controlla e
modifica il suo comportamento
 Crea il file kern32.exe contenente il worm
all’interno della directory Windows o System a
seconda della sequenza di bit di controllo
 Salva nel sistema il file Kdll.dll utilizzata per
installare nel sistema un keyboard-hook
 Crea il key-log file
64
Storia dei virus: Badtrans(3)



Si attiva ogni volta che viene aperta una finestra e ne
esamina il titolo
 Se il titolo contiene i caratteri LOG(LOGon),PAS
(PASsword),
REM(REMote),CON(CONnection),TER(TERminal),
NET(NETwork) abilita la procedura di keylogging per
60 secondi
Salva la password catturata all’interno del file di key-log
Tenta di inviare il file di log ad uno degli indirizzi e-mail
prestabiliti
65
Storia dei virus: Badtrans(4)




Rileva il momento in cui diventa attiva una
connessione di accesso remoto e tenta di replicarsi
rispondendo a tutte le e-mail non ancora lette
Effettua la ricerca di indirizzi email anche nei file *.ht*
e *.asp
L’allegato infetto ha una prima estensione .doc .mp3
o .zip e una seconda estensione .pif o .scr (Es.
News_Doc.MP3.scr)
Tiene traccia delle e-mail spedite all’interno del file
protocol.dll in modo tale da non inviare 2 mail allo
stesso indirizzo
66
Storia dei virus: Badtrans(5)


Prima di spedire le mail aggiunge un carattere
“_” all’indirizzo del mittente
Aggiunge il valore “Kernel32 kern32.exe” alla
chiave di registro
HKEY_LOCAL_MACHINE\Software\Microsoft
\Windows\CurrentVersion\RunOnce
67
Storia dei virus: Bugbear(1)







Nome: W 32.Bugbear@mm
Tipo: W orm
Data di diffusione: Settembre 2002
Diffusione: elevata
O.S. Attaccabili: Tutti gli O.S. Microsoft
Effetti dell’infezione:
 Replicandosi continuamente tende a saturare le risorse dei
server di posta
 Puo’ consentire l’accesso remoto non autorizzato alle macchine
compromesse
 Termina i processi relativi ad antivirus e firewall
Metodo di distribuzione: e-mail attachment e risorse di rete
accessibili da un computer già infetto
68
Storia dei virus: Bugbear(2)
Technical details:
 Copia se stesso come %system%\???.exe dove ??? sono lettere
scelte dal worm
 Inserisce se stesso nella directory di Startup in modo tale da
essere sempre eseguito all’avvio del S.O.
 Crea all’interno della directory di sistema 2 files .dat criptati
 Uno dei quali contiene informazioni per l’accesso alla
componente di backdoor
 Crea all’interno della directory di sistema 3 files .dll criptati
 Uno dei quali viene utilizzato per installare una hook
procedure all’interno della hook chain e monitorare ogni
messaggio proveniente dalla tastiera
 Crea 4 differenti thread e li avvia
69
Storia dei virus: Bugbear(3)


Thread1 Disattiva antivirus e firewall
 Si attiva ogni 30 secondi ed è responsabile della terminazione
dei processi relativi ad antivirus e firewall
Thread2 Replica il worm attraverso e-mail
 Preleva indirizzi e-mail dalla cartella inbox e dai file con
estensione .mmf .nch .mbx .eml .tbb .dbx .ocs
 Ottiene l’indirizzo e-mail e il nome del server SMTP utilizzato
dall’utente corrente
 Invia il worm a tutti gli indirizzi email trovati utilizzando anche
come mittente un indirizzo email valido
 L’allegato contenente il worm ha estensione .scr .pif .exe
 L’email non necessariamente sfrutta la debolezza presente
nello header MIME che porta all’auto esecuzione dell’allegato
70
Storia dei virus: Bugbear(4)

Thread 3  Crea una backdoor sul computer


Apre la porta 36794 e si mette in ascolto di
eventuali comandi provenienti dall’hacker
Tra i possibili comandi ci sono la cancellazione di
files, la terminazione di processi, la copia di files, il
trasferimento dei files contenenti (in forma criptata)
tutti i caratteri digitati sulla tastiera dall’utente
ottenuti grazie all’hook installato, l’elenco delle
risorse di rete raggiungibili
71
Storia dei virus: Bugbear(5)

Thread 4 Replica il worm attraverso la rete



Ottiene la lista delle risorse di rete accessibili
Tenta di salvare il worm all’interno della directory di
startup del sistema remoto
Puo’ causare il cattivo funzionamento anche di
stampanti e altre periferiche di rete
72
Storia dei virus: Slammer








Nome: W32.SQLExp.Worm
Tipo: Worm
Data di diffusione: Gennaio 2003
Diffusione: medio-alta
O.S. Attaccabili: Tutti gli O.S. Microsoft tranne Win 3.11
Attacco utilizzato: buffer-overflow su MS SQL Server
2000
Effetti dell’infezione: Tende a paralizzare la rete
Internet
Metodo di distribuzione: Porta UDP 1434
73
Storia dei Virus: Sobig(1)








Nome: W 32.Sobig.F
Tipo: W orm
Data di diffusione: Agosto 2003
Grado di diffusione: elevato
O.s. Attaccabili: tutti i sistemi Microsoft ad eccezione di W in 3.11
Effetti dell’infezione: tende a saturare i server di posta e puo’
rivelare all’autore del virus informazioni confidenziali quali ad
esempio password di sistema
Metodo di distribuzione: e-mail attachment
Caratteristiche della mail:
 Mittenteselezionato casualmente tra tutti gli indirizzi email
trovati sul computer infetto anche all’interno di file con
estensione .wab .dbx .htm .html .eml .txt
 Destinazionetutti gli indirizzi email trovati all’interno dei file
74
 Attachmentestensione .pif o .scr
Storia dei Virus: Sobig(2)
Technical details:
2.
Copia se stesso come %W indir%\winppr32.exe
3.
Crea il file %W indir%\winstt32.dat
4.
Aggiunge il valore "TrayX"="%W indir%\winppr32.exe /sinc“ alla
chiave di registro
“HKEY_LOCAL_MACHINE\SOFTW ARE\Microsoft\W indows\Cur
rentVersion\Run”
5.
Aggiunge il valore "TrayX"="%W indir%\winppr32.exe /sinc“ alla
chiave di registro
“HKEY_CURRENT_USER\SOFTW ARE\Microsoft\W indows\Curr
entVersion\Run”
6.
Scopre e infetta ogni computer presente sulla stessa rete del pc
infetto utilizzando le W indows API
75
Storia dei Virus: Sobig(3)
Note:

In grado di effettuare sotto determinate condizioni il download e
l’esecuzione di file arbitrari sul computer infetto (auto update del
worm o creazione di sistemi “zombie”)

Per questo motivo contiene una lista di indirizzi IP di server

Condizioni x il download:


Il giorno della settimana deve essere venerdi’ o sabato

L’ora(secondo l’UTC Time) deve essere compresa tra le 7 e le
10 pm
Come effettua il download:

Ottiene l’ora utilizzando il protocollo NTP(Network Time Protocol)
contattando alla porta UDP 123 uno dei server preposti al
servizio
76

Invia un pacchetto alla porta UDP 8998 di un suo server che gli
Storia dei virus: Blaster(1)

Nome: W 32.Blaster.W orm

Tipo: W orm

Data di diffusione: Agosto 2003

Diffusione: elevata

O.s. Attaccabili: W indows 2000 W indows XP

Effetti dell’infezione:


Tenta di effettuare un DOS contro il sito W indows Update

Puo’ causare il crash della macchina su cui risiede

Apre una shell remota nascosta
Metodo di distribuzione: Porta TCP 135,444 porta UDP 69 (!No
mail!)
77
Storia dei virus: Blaster(2)
Background:
 RPC(RemoteProcedureCall): protocollo
utilizzato da un’applicazione per richiedere un
servizio ad un computer residente in un altro
computer
 DCOM(DistribuitedComponentObjectModel):
protocollo che consente la comunicazione diretta
fra componenti software attraverso una rete
78
Storia dei virus: Blaster(3)
Technical details:



Utilizza la tecnica di buffer overflow sul servizio RPC dell’interfaccia DCOM
ed ottiene il controllo del computer
Forza il computer attaccatto ad effettuare il download del file msblast.exe e
a salvarlo nella directory %windir%\system32
Esegue il file scaricato
• Aggiunge il valore “windows auto update”=“msblast.exe” alla
chiave di registro
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
• Genera un indirizzo IP e tenta di attaccare il computer con quell’indirizzo
• Manda dati alla porta TCP 135 del computer remoto per exploitare la debolezza
presente nell’RPC
• Utilizza Cmd.exe per creare una shell nascosta in ascolto sulla porta TCP 4444
• Si mette in ascolto sulla porta UDP 69 e tenta di infettare i computer che
effettuano richieste
• Se la data corrente è compresa tra il 16 e fine mese per i mesi da Gennaio ad
Agosto o se il mese corrente è compreso tra Settembre e Dicembre tenta di
effettuare un DoS verso il sito WindowsUpdate
79
Anti-virus (1)

Programma che ha la capacità di individuare e
spesso rimuovere malcode all’interno del
sistema.
Sistema
Anti-virus
malcode
80
Anti-virus (2)

Terminologia:



Scan  l’attività di individuazione del virus in base
a certe sue caratteristiche.
Falso positivo  un oggetto non infetto
considerato infetto dallo scanner.
Falso negativo  un oggetto infetto considerato
non infetto dallo scanner.
81
Anti-virus (3)

Tipi di scan:



signature scan;
checksum scan integrity checking;
heuristic scan.
82
Signature scan
Si basa su sequenze costanti di codice all’interno dei virus noti (signatures
- firme), in grado di identificarli.
Per identificare i virus, l’anti-virus ricerca le firme all’interno degli host
passibili di infezione.
Positivo
L’host è quasi certamente
infettato dal virus
corrispondente alla firma
trovata
Risultato
della
ricerca
Negativo
Gli host non sono infettati dai
virus le cui firme sono state
cercate, ma NON è detto che
non siano infettati da altri virus.
83
Checksum scan
In pratica è un integrity check: l’anti-virus calcola inizialmente delle
checksums per ogni host sensibile; durante lo scan, poi, vengono
ricalcolate le checksums e confrontate con quelle memorizzate.
Positivo
L’host non è stato modificato
dal momento del calcolo della
prima checksum
Risultato
del
confronto
Negativo
L’host è stato modificato,
probabilmente da un virus
Un vantaggio è che le checksums sono tipicamente più piccole delle firme.
84
Heuristic scan
Avvalendosi di statistiche, l’anti-virus ricerca nel sistema codice avente
struttura, caratteristiche e/o comportamento tipico dei malcode.
Vantaggi
Non richiede la signature dei virus e
quindi funziona anche con i virus
nuovi.
Svantaggi
Il risultato è probabilistico.
85
Modalità di scan




On demand: richiesto dall’utente
Scheduled: ad intervalli predefiniti
Incoming new file: solo i nuovi file ed
eventualmente solo quelli aventi predefinite
estensioni
On the fly: ogni qual volta si esegue qualsiasi
azione su qualsiasi oggetto  più sicuro, ma
più pesante
86
Anti-virus (4)
Antivirus
scanning
engine
Database contenente le
firme dei virus
Database contenente le
istruzioni su come
rimuovere i vari malcode
Solo questi componenti vengono aggiornati
87
Meccanismi di difesa dei virus



Rendono più arduo il lavoro degli antivirus
Mirano ad allungare il tempo di vita dei virus
Tra i meccanismi più efficaci:





Encryption
Polimorfismo
Entry point changer
Stealth
armor
88
Ciclo di vita dei virus





Il virus viene creato
Il virus infetta alcuni pc e viene inviato alle
case antivirus
La casa antivirus estrapola la “firma” del virus
Aggiunge successivamente la firma al
database che poi distribuisce
L’antivirus riconosce ora il virus e il
meccanismo di diffusione viene rallentato
89
Encryption(1)

Il codice del virus viene continuamente
modificato in modo tale da non contenere
stringhe di bytes costanti
Header Codice Virus+Codice file Host
Plaintext facilmente rintracciabile
Header Routine di Decrypt
Senza encryption
Con encryption
Codice Virus+Codice file Host
Criptati
90
Encryption(2)
Il file host criptato non puo’ essere eseguito
Sistema infetto
Il file host viene decriptato prima di
Essere eseguito
Il file host viene nuovamente criptato
Sistema infetto
91
Polimorfismo


Tecnica più efficace dell’encryption
Anche la sezione di virus adibita al processo di
decrypt/encrypt varia casualmente




Varia la chiave utilizzata per cifrare
Varia il numero di bytes cifrati
Varia il posto nel quale viene memorizzata la
routine di decrypt all’interno del file
La parte fissa è così piccola che non può
essere utilizzata come firma dagli antivirus 
produrrebbe troppi falsi positivi!!
92
Entry point changers(1)




Non modificano l’indirizzo dell’entry point
all’interno dell’header del file host
Non vengono eseguiti all’avvio del file infetto
Posizionano l’entry point del virus in un’area
qualsiasi del codice del file host
Vengono eseguiti solo al verificarsi di
determinate condizioni che possono anche
avvenire raramente
93
Entry point changers(2)
Header
JMP
Host file code
Header
JMP
Host file code
Virus Code
Virus Code
94
Stealth

Contengono codice addizionale
appositamente progettato per eludere gli
antivirus e i controlli effettuati dall’utente
(dimensione dei file, processi attivi, ecc…)
Esempio
 Brain  reindirizza le richieste di visionare il
boot sector infetto al boot sector originale
salvato alla fine del disco
95
Armor

Contengono codice addizionale atto a scoraggiare
eventuali tentativi di disassemblaggio, tracciatura o
analisi del virus
Esempi
 Se tra i processi attivi viene riscontrata la presenza di
un debugger viene bloccata la tastiera
 Puo’ essere inserito del codice in grado di mandare in
loop i debugger
96
Reference

Malicious Mobile Code - Virus Protection for Windows, Roger
A. Grimes, ed O’ Reilly.

Security in Computing, Charles P. Pfleeger, Shari Lawrence
Pfleeger, ed Prentice Hall

http://www.viruslist.com/eng/viruslistbooks.html

http://www.cknow.com/vtutor/

http://www.symantec.com

http://www.mcafee.com

http://www.f-secure.com
97