I Malware
Informazioni varie
• Davide Chiarella
– E-mail:
• [email protected][email protected]
– Lucidi:
• http://www.disi.unige.it/person/ChiarellaD
• Tel. C.N.R.: 0106475226
Malware 1 - I virus. Davide Chiarella.
2
Sommario
Malware
• Virus
• Worm
• Backdoor
• Cavalli di Troia
Malware 1 - I virus. Davide Chiarella.
3
Malware: definizione
Malware = malicious software
Malicious =
malizioso?
maligno, nocivo
Virus, worm, backdoor, Trojan
horse
Malware 1 - I virus. Davide Chiarella.
4
I Virus
Virus: definizione 1
Un virus è un pezzo di codice in grado di replicarsi che
si attacca ad altri programmi e di solito ha bisogno di
interazione da parte dell’uomo per propagarsi
Una delle principali caratteristiche di un virus è la sua
incapacità di funzionare come un eseguibile stand-alone
(stand-alone executable).
Un virus infetta file che vengono definiti host (ospiti) oppure
entità di più basso livello (e.g. Master Boot Sector).
Un’altra proprietà è, una volta attivato, la capacità di
duplicare il proprio codice senza l’aiuto di un operatore
umano.
Malware 1 - I virus. Davide Chiarella.
6
Virus: definizione
Tuttavia per essere attivato un virus ha bisogno
dell’intervento dell’uomo.
Oltre a propagarsi un virus di solito compie una serie di
azioni nocive al file o al sistema infettato. La parte di codice
del virus che implementa questa funzionalità viene detta
payload: il payload può compiere qualsiasi tipo di azione
permessa al programma infettato.
Esempi di payload: corruzione o cancellazione di file, invio
di informazioni sensibili all’autore del virus o a chi per lui,
fornire una backdoor al sistema infettato.
Malware 1 - I virus. Davide Chiarella.
7
Virus: solo Windows?
I virus sono multipiattaforma (cross-platform): è vero che la
maggioranza dei virus sono stati pensati ed ideati per i
sistemi windows, ma ritenersi al sicuro dei virus poiché si
utilizza un’altra piattaforma è un grave errore.
Esistono virus per piattaforme Windows, Linux, Solaris e
Unix-like (non pensate solo ad eseguibili!!!).
Malware 1 - I virus. Davide Chiarella.
8
Origine dei virus
Impossibile comprendere pienamente i virus e le
loro strategie senza una piccola infarinatura di come
sono nati e come sono cresciuti.
Malware 1 - I virus. Davide Chiarella.
9
Origine dei virus: Darwin
Agosto 1961, Laboratori Bell. IBM 7090 mainframe.
Victor A. Vyssotsky, Robert Morris Sr., and M. Douglas
McIlroy creano un nuovo gioco: “Darwin: a game of
survival and (hopefully) evolution”.
• L’obiettivo del gioco era la sopravvivenza
• Il gioco consisteva in un programma arbitro (umpire) e in
una sezione di memoria prestabilita chiamata arena,
dentro la quale venivano caricati due o più programmi,
scritti dai giocatori. I programmi caricati potevano
sondare zone di memoria uccidendo i programmi
residenti in esse e reclamando lo spazio per replicarsi. Il
gioco finiva dopo un tempo prestabilito o quando
rimaneva solo un tipo di programma vivo
Malware 1 - I virus. Davide Chiarella.
10
Origine dei virus: Darwin
Lo scheduling dei processi avveniva tramite
l'umpire: infatti ogni programma aveva delle
celle di memoria protette che in caso di
sondaggio da parte di altri programmi
causavano il cambio turno a favore del
programma proprietario della zona protetta.
• Il gioco durò poco: qualche settimana dopo
l’inizio del gioco Morris sviluppò un programma
che sbaragliò tutti i contendenti.
Malware 1 - I virus. Davide Chiarella.
11
Darwin.. e che ci azzecca coi virus?
I programmi di Darwin furono il primo
esempio di programmi auto-replicanti.
Un’evoluzione del gioco originale sopravvive ancora oggi.
http://www.corewars.org/
Malware 1 - I virus. Davide Chiarella.
12
Origine dei virus: PERVADE
Il primo codice auto-replicante “in the wild” di cui
abbiamo conoscenza fu PERVADE (John
Walker, 1975. UNIVAC 1110). L’unico ospite che
poteva essere “infettato” era un programma
chiamato ANIMAL (John Walker). In realtà
PERVADE era una routine che permetteva a
qualsiasi programma che la invocasse di
propagarsi in tutte le directory a lui accessibili.
Ma come e perché nasce PERVADE?
COMPUTER-GAME
DISTRIBUZIONE
Malware 1 - I virus. Davide Chiarella.
13
Origine dei virus: PERVADE
ANIMAL, infatti, era l’implementazione del gioco “A
che animale sto pensando?” di Walker. La sua
implementazione era così perspicace che la gente
incominciò a chiedergli di averne una copia (catene
di decisione). C’è chi dice che Walker cercò un
modo innovativo di diffondere il proprio lavoro e
quindi accoppiò ANIMAL con PERVADE.
PERVADE: quando veniva invocata creava un
processo identico al chiamante che, mentre il
programma originale continuava a svolgere il proprio
compito, esaminava tutte le directory accessibili al
suo chiamante. Se in queste directory non trovava
una copia di se ne creava una.
Malware 1 - I virus. Davide Chiarella.
14
Origine dei virus: Elk Cloner
Pausa invernale1982, Mt. Lebanon High School.
Apple II Rich Skrenta, studente quindicenne,
crea il primo BS-virus per personal computer.
Skrenta distribuiva giochi pirata, modificati per
spegnere il pc dopo un certo numero di utilizzi
oppure visualizzare dei messaggi offensivi a
schermo.
I suoi amici/conoscenti dopo un po’ di tempo
incominciarono a non fidarsi più di tutto ciò
che proveniva da lui.
Skrenta pensò allora ad un modo per
modificare i floppy disk senza aver un accesso
fisico ad essi.
Malware 1 - I virus. Davide Chiarella.
15
Origine dei virus: Elk Cloner
Crea un programma che risiede nel boot sector dei floppy
disk e che viene lanciato quando un computer viene
avviato col dischetto infetto. Ogni floppy disk inserito
successivamente nel pc viene infettato con il virus.
Elk Cloner:
The program with a personality
It will get on all your disks
It will infiltrate your chips
Yes it's Cloner!
It will stick to you like glue
It will modify RAM too
Send in the Cloner!
Che cosa faceva il virus sui computer infettati? Ovvero che
Malware 1 - I virus. Davide Chiarella.
16
payload aveva?
Origine dei virus: prima definizione
1984, Toronto. Fino a questo preciso momento ancora
nessuno ha utilizzato la parola virus per definire tutti
i programmi di cui abbiamo parlato.
Fred Cohen durante una conferenza è il primo ad
utilizzare il termine e ad introdurre la prima
definizione formale:
“a program that can infect other programs by
modifying them to include a, possibly evolved,
version of itself”
In realtà si dice che il termine fu associato al concetto,
che Cohen aveva espresso, dal suo tutor Len
Adleman……
Rivest-Shamir-Adleman
Malware 1 - I virus. Davide Chiarella.
17
Origine dei virus: Brain
1986, Lahore (Pakistan). Basit and Amjad Farooq
Alvi creano il primo BS-virus per MS-DOS.
Viene soprannominato Brain virus poichè
sovrascrive la label dei floppy con la stringa
“(c)Brain”. Il virus infetta il boot sector dei floppy,
spostando il bs sano e marcandolo come bad
sector. Tutti i dischetti infetti hanno 3 KiB di
settori danneggiati e nel BS infetto si legge la
scritta:
Malware 1 - I virus. Davide Chiarella.
18
Origine dei virus: Brain
Welcome to the Dungeon (c) 1986 Basit * Amjad
(pvt) Ltd. BRAIN COMPUTER SERVICES 730
NIZAM BLOCK ALLAMA IQBAL TOWN
LAHORE-PAKISTAN PHONE:
430791,443248,280530. Beware of this
VIRUS.... Contact us for vaccination...
Malware 1 - I virus. Davide Chiarella.
19
Origine dei virus: Virdem
1986, contemporaneo a Brain. Anche lui un MSDOS virus. E’ però un virus dimostrativo creato
da Ralph Burger per la conferenza del “Chaos
Computer Club”. A differenza del suo coevo
pakistano Virdem infetta file con estensione
.COM
Con Virdem concludiamo il nostro veloce excursus sulle origini dei virus
e incominciamo a scendere più nel particolare.
Di seguito vedremo una tassonomia dei virus basata sul target da
infettare.
Malware 1 - I virus. Davide Chiarella.
20
Meccanismi di infezione e
entità ospiti
Infezione di un file eseguibile
Il bersaglio preferito dei virus sono i file eseguibili:
infatti attaccandosi ad un file eseguibile il virus si
assicura di essere attivato ogni volta che viene
usato l’eseguibile.
Ogni sistema operativo ha le sue tipologie di file
eseguibili.
Esempi:
Unix: binari, script
Windows: file con estensione COM, EXE, SYS, DLL,
OCX, CPL e SCR
Malware 1 - I virus. Davide Chiarella.
22
Companion virus 1
I companion/spawning virus o meno poeticamente i
virus compagni/accompagnatori si accoppiano ad
eseguibili già esistenti, in modo da sostituire
l’eseguibile accoppiato al momento della chiamata.
Vari metodi.
1- In Windows: exe e com con attributo hidden(Globe
virus 1992). Di solito viene anche lanciato il file
originale, dopo aver eseguito il malware. Qui
Metodologia ancora attuale?
Start -> Esegui
Malware 1 - I virus. Davide Chiarella.
23
Companion virus 2
2- Unix e Windows: banale sostituzione eseguibile
con relativa ridenominazione (Trilisa virus 2002).
Attributo hidden al vecchio file e/o spostamento
directory.
Malware 1 - I virus. Davide Chiarella.
24
Overwriting virus
• Un overwriting virus sovrascrive il file che infetta.
Payload: cancellazione del file oltre a tutte le
azioni che il virus compie.
Comportamento poco “stealthy”: l’utente si
accorge che qualcosa non va. Il problema per
un overwriting virus non si pone: una volta
eseguito è troppo tardi.
Malware 1 - I virus. Davide Chiarella.
25
Prepending virus 1
Una versione più evoluta dell’ overwriting virus. Il
virus inserisce il suo codice all’inizio del
programma che infetta.
=
+
Virus
File ospite
Virus
File ospite
infettato
Malware 1 - I virus. Davide Chiarella.
26
Prepending virus 2
Una volta infettato il file ospite, quando il sistema
operativo lancia il programma prima viene
eseguito il codice del virus e poi quello del
programma ospite infettato.
Le operazioni sono quindi trasparenti per l’utente.
L’operazione di prepending prevede uno studio del
formato del file infettando, in modo da non
corromperlo irrimediabilmente.
I preferiti: file com (struttura molto facile) e file exe
( uno dei tanti metodi che ha utilizzato Nimda).
Malware 1 - I virus. Davide Chiarella.
27
Prepending virus 3
Poiché il virus non sovrascrive il file infettato, ma lo
“amplia” il recupero dei file infetti è piuttosto
facile e la rilevazione risulta banale (controllo
dimensioni file).
Curiosità: il prepending virus Bliss era così
educato che aveva l’opzione da linea di
comando “--bliss-disinfect-files-please”
Malware 1 - I virus. Davide Chiarella.
28
Appending virus 1
Il virus inserisce il suo codice alla fine del
programma che infetta. Per essere eseguito
deve però modificare la parte iniziale del
programma ospite inserendo un salto.
=
+
Virus
File ospite
Malware 1 - I virus. Davide Chiarella.
File ospite
infettato
Virus
29
Appending virus 2
Il programma ospite di solito non viene corrotto.
Questo tipo di infezione richiede che il virus
modifichi gli header del file sia per creare un
salto al suo codice sia per riflettere la nuova
dimensione del file infettato e del segmento di
memoria.
Malware 1 - I virus. Davide Chiarella.
30
Boot-sector virus 1
Come avviene il boot di un PC?
• Inizializzazione dell’hardware (BIOS)
• Il BIOS non sa come caricare il sistema
operativo cerca quindi il primo settore dell’HD ed
esegue un piccolo programma che si trova nel
Master Boot Record (MBR). e.g: Lilo e Grub
• Il programma nel MBR conosce le varie
partizioni presenti sull’HD e passa il controllo al
boot sector della partizione desiderata (PBS =
Partition Boot Sector o Volume BS o Volume
Boot Record)
Malware 1 - I virus. Davide Chiarella.
31
Boot-sector virus 2
• Il programma nel PBS individua i file del startup
del sistema operativo e passa il controllo a loro
Alcuni virus sfruttano la qualità di eseguibilità del
MBR e/o del PBS: vengono detti Boot Sector
virus. Ogni volta che la macchina viene accesa il
codice del virus viene quindi eseguito.
I BS-virus possono essere di tipo overwriting,
prepending o appending.
Malware 1 - I virus. Davide Chiarella.
32
Boot-sector virus 3
BIOS
MBR
Sequenza di Boot
PBS
Sistema Operativo
Malware 1 - I virus. Davide Chiarella.
33
Boot-sector virus: michelangelo 1
Scoperto nel 1991, attivato il 6 marzo del 1992. Il virus era
di tipo boot sector ad attivazione con payload distruttivo:
il giorno 6 marzo sovrascriveva settori dell’hard disk.
Come agisce Michelangelo?
• Sposta l’MBR originale in un’altra parte dell’hard disk e si
sostituisce ad esso
• Una volta riavviata la macchina Michelangelo si carica in
memoria e poi passa il controllo al MBR spostato
• Se il giorno in questione è il 6 marzo(?) Michelangelo
non passa il controllo al MBR, ma sovrascrive a caso
settori dell’hard disk
Malware 1 - I virus. Davide Chiarella.
34
Boot-sector virus: michelangelo 2
Mezzi di trasmissione dell’infezione?
Scambio di hard disk fra amici???
Poco efficace come mezzo di trasmissione.
Caricandosi in memoria tramite driver di basso livello
del BIOS Michelangelo controlla l’inserimento di
floppy nel sistema e infetta il loro Boot Sector in
previsione di diffondersi su tutte le macchine che il
floppy visiterà.
Gli esemplari di virus che, una volta attivati, continuano a
stare in memoria vengono detti memory-resident virus
(virus residenti in memoria), mentre quelli che non
risiedono in memoria vengono detti direct-action virus.
Malware 1 - I virus. Davide Chiarella.
35
Boot-sector virus
Con i nuovi sistemi operativi la virulenza di questi
esemplari si è notevolmente affievolita, poiché i
moderni sistemi operativi non si affidano più per
l’accesso al disco a istruzioni di basso livello del
BIOS, ma hanno le proprie. Di conseguenza la
diffusione dei BS-virus su floppy o hd è resa più
difficile: il virus rimane in memoria, ma non
riesce a combinare molto quando il sistema
operativo è ormai partito.
Malware 1 - I virus. Davide Chiarella.
36
Boot-sector virus
L’unica occasione di agire la ha prima che il
sistema operativo venga avviato: può quindi
attivare il suo payload in questo istante
distruggendo i dati sul disco o corrompendo il
PBS.
La corruzione del PBS impedisce al sistema
operativo di avviarsi in modo consono e porta, di
solito, al mancato avvio dell’intero sistema.
Malware 1 - I virus. Davide Chiarella.
37
Macro Virus 1
I virus infettano tutti i file che possono eseguire del
codice, quindi con l’avvento dei file che
supportano l’inclusione di codice eseguibile i
virus si sono evoluti in macro-virus.
Per citare alcuni di questi tipi di documenti: file MS
Office suite, StarOffice, OpenOffice, AutoCAD
etc.
Malware 1 - I virus. Davide Chiarella.
38
Macro Virus 2
Vediamo un esempio di come un macro-virus
agisce.
MS Word.
Un virus deve assicurarsi di essere eseguito dal
suo ospite, preoccupazione non banale in un
documento. Quando viene utilizzato un
documento word fa affidamento su particolari
subroutine che vengono attivate in momenti ben
precisi.
Malware 1 - I virus. Davide Chiarella.
39
Macro Virus: subroutine e Melissa
Document_Open(): eseguita all’apertura del documento
Document_Close(): eseguita quando si chiude un
documento
AutoExec(): eseguita all’avvio di Word
AutoClose(), FileExit(): chiusura di un documento
AutoExit(): chiusura di Word
AutoOpen(), FileOpen(): apertura documento
AutoNew(), FileNew(): creazione nuovo documento
FileSave(): salvataggio documento
Queste due in particolare sono state utilizzate dal virus
Melissa nel 1999.
Malware 1 - I virus. Davide Chiarella.
40
Macro Virus: Melissa
Melissa, dopo aver infettato il pc, infetta il file
Normal.dot: il file in questione viene caricato ad
ogni creazione di un nuovo documento word,
poiché contiene il template di default con i
relativi valori (ampiezza margini, font etc.).
Così Melissa ogni volta che veniva creato un
documento veniva caricato in memoria (grazie al
.dot) e poi si copiava nel documento legandosi
alla subroutine Document_Close(). Ogni nuovo
documento era vettore di contagio.
Malware 1 - I virus. Davide Chiarella.
41
Macro Virus: Laroux
Infezione 1996. Laroux infetta documenti Excel.
L’analogo del Normal.dot in Excel è Personal.xls
Sfrutta la subroutine auto_open() per caricarsi
automaticamente in memoria. Una volta in
memoria il virus esegue la sua macro
check_files() per infettare altri file.
Malware 1 - I virus. Davide Chiarella.
42
Macro Virus: Triplicate o Tristate 1
Infezione 1999. In Excel tutti i file che si trovano
nella directory
C:\Program Files\Microsoft Office\Office12\XLSTART
Vengono aperti all’avvio di Excel. Il principio
rimane sempre lo stesso: assicurarsi la
sopravvivenza tramite l’esecuzione automatica
del proprio codice.
Triplicate però pensava in grande….
Malware 1 - I virus. Davide Chiarella.
43
Macro Virus: Triplicate o Tristate 2
Infatti fu il primo macro virus ad infettare varie tipologie
di documenti, unendo varie strategie.
• Infettava i file Excel creando nella directory di
Startup un file chiamato Book1.xls
• Infettava i file Word copiando il suo codice nel
Normal.dot
• Infettava i file PowerPoint copiando il suo codice nel
file “Blank Presentation.pot” ( Blank.pot)
I suoi bersagli primari erano i Template della Suite
Office, in Vista
C:\Program Files\Microsoft Office\Templates\1040
Malware 1 - I virus. Davide Chiarella.
44
Macro Virus: Triplicate o Tristate 3
Tutte le presentazioni Powerpoint erano veicolo di
infezione.
Non solo! Su ogni slide della presentazione creava
un rettangolo trasparente dell’esatta dimensione
della slide che attivava il suo codice.
Malware 1 - I virus. Davide Chiarella.
45
Macro Virus: mutazioni involontarie 1
Una particolarità dei macro virus è la possibilità di
mutazioni, quando un file viene infettato da due
specie differenti. Ovviamente devono essere
compatibili per riuscire a convivere (e.g.utilizzo
di macro diverse).
Questi incroci o mutazioni, quando riuscite, creano
non pochi problemi agli antivirus, poiché
dall’analisi dei file infetti potrebbe non risultare la
stessa signature!
Malware 1 - I virus. Davide Chiarella.
46
Macro Virus: mutazioni involontarie 2
Virus 1
Virus 2
Document_Open()
Cancella_File()
Document_Open()
Invia_File()
Virus 3
Document_Open()
Invia_File()
Cancella_File()
File ospite
Malware 1 - I virus. Davide Chiarella.
47
Multipartite virus
L’obiettivo dei virus è la sopravvivenza: quelli che
non riescono a replicarsi scompaiono.
Le mutazioni dei macro virus sono un ottimo
esempio di come la sopravvivenza viene
garantita agli esemplari che dimostrano più
adattabilità, anche se non voluta.
Questa adattabilità può essere anche ottenuta
tramite la fusione di più tecniche di infezione: i
virus che possono infettare differenti tipi di ospiti
(file eseguibili, boot sector, documenti, driver di
perififeriche) vengono detti multipartite virus.
Malware 1 - I virus. Davide Chiarella.
48
Multipartite virus: Navrhar
Per citarne uno: Navrhar 1997.
Sfruttava la macro di Word AutoOpen() e infettava
anche i driver di periferiche. Al successivo
riavvio del sistema tramite i driver di periferiche
si collocava in memoria per poi intercettare ogni
tentativo di salvataggio di file word.
Come lo possiamo definire?
Prima fase: direct action macro virus
Seconda fase: memory resident boot-sector virus
Malware 1 - I virus. Davide Chiarella.
49
Scripting virus
Scripting virus: utilizza tecniche di appending o
prepending su script (perl, php, python, VBS).
Sono molto diffusi.
VBS.Beast e PHP.Pirus
Anna Kournikova worm
Love bug worm (ILOVEYOU)
Se non puoi sfruttare le debolezze
del sistema, sfrutta le debolezze di
chi lo usa.
Malware 1 - I virus. Davide Chiarella.
50
Source code virus
Sono virus che infettano tutti i sorgenti che trovano
sulla macchina ospite.
#include <stdio.h>
main () {
printf(“Addio mondo!”);
}
#include <stdio.h>
#include <virus.h>
main () {
virus();
printf(“Addio mondo!”);
}
Malware 1 - I virus. Davide Chiarella.
51
Meccanismi di propagazione
Meccanismi di propagazione dei virus
Fino ad ora abbiamo visto come si comportano i
virus una volta attivati e come identificano dove
nascondersi.
Tuttavia un virus che rimane confinato in un
singolo computer presto finirà tutti i possibili
bersagli.
Un virus ha bisogno di propagarsi in nuovi sistemi,
ma al contrario dei worm, manca di un
meccanismo autonomo di infezione.
Malware 1 - I virus. Davide Chiarella.
53
Periferiche rimuovibili 1
Fin dagli albori dell’informatica i virus hanno
sfruttato la tendenza dell’uomo a condividere
dati. Ergo il primo metodo di diffusione di
infezioni virali sono state le periferiche
rimuovibili:
• Floppy ( alcuni AV avvisano quando si lascia un
floppy inserito alla chiusura della macchina)
• CD e DVD
• Chiavi USB
• Schede di memoria (Flash, XD, SD etc.)
Malware 1 - I virus. Davide Chiarella.
54
Periferiche rimuovibili 2
Boot sector virus: utilizzano floppy, cd e dvd (poco
pratici) e penne usb
File Virus: floppy, cd e dvd (con scambio di
documenti infetti o per negligenza dei fornitori
[Chernobyl Virus e driver lettore CD Yamaha]),
chiavi USB e schede di memoria
Virus che infettano eseguibili, documenti e script:
virus di tipo appending, prepending, overwriting,
macro, scripting, source code etc.
Malware 1 - I virus. Davide Chiarella.
55
E-mail
Con la crescita e lo sviluppo di Internet l’e-mail è uno
dei mezzi più popolari per scambiarsi informazioni.
Inizialmente l’e-mail era solo in plain-text quindi il solo
modo per utilizzarla come mezzo di diffusione era
tramite gli allegati, con l’avvento delle mail in HTML
le cose non sono migliorate.
Non dimentichiamo che le epidemie più pericolose
sono state causate da malware che si diffondevano
tramite e-mail con un loro motore di posta: questo
comportamento tuttavia è più caratteristico dei worm
Malware 1 - I virus. Davide Chiarella.
56
Download: Melissa 1
Il Web permette di scaricare ormai qualsiasi tipo di
file su qualsiasi argomento: ovviamente questo
fatto non è passato inosservato ai Virus Writer.
Melissa (mass mailing macro virus/worm,1999)
sfruttò questa caratteristica a suo vantaggio. Per
la diffusione iniziale sfruttò la social engineering:
sul newsgroup alt.sex fu postato un documento
word (List.DOC) contenente una lista di 80 siti
porno con relativi username e password per
accedervi.
Malware 1 - I virus. Davide Chiarella.
57
Download: Melissa 2
Una volta infettato il computer si diffondeva via email utilizzando però il motore di Outlook
spedendosi ai primi 50 indirizzi di posta. Nella
sua prima versione non aveva un payload
nocivo per la macchina, ma risultò fatale per
molti mail-server, che a causa dell’alto traffico di
mail furono vittime di un vero e proprio attacco
DoS (Denial of Service).
Nelle versioni successive il payload fu reso più
nocivo facendo cancellare al virus file critici per il
sistema (Windows).
Malware 1 - I virus. Davide Chiarella.
58
Directory condivise
Le directory condivise/file condivisi sono un altro
mezzo di diffusione dei virus. Infatti i virus
possono ricercare sul sistema infetto (se è un
server ancor meglio) le directory condivise e
infettare i file li presenti o replicarsi al loro
interno. Altri virus possono invece ricercare le
directory di default dei programmi peer-to-peer
(Kazaa, Gnutella, E-donkey, Fasttrack) e
replicarsi con nomi appetibili (crack, liste di
password etc etc).
Malware 1 - I virus. Davide Chiarella.
59
Difese
Conosci il tuo nemico….
Fino ad ora abbiamo visto come agiscono i virus:
con queste conoscenze siamo pronti quindi a
ergere le nostre difese.
La diversità dei virus ci fa capire che non esiste
una regola unica per la difesa: l’approccio deve
essere strutturato.
Ovviamente queste difese possono essere
impiegate anche contro altri tipi di malware
diversi dai virus
Malware 1 - I virus. Davide Chiarella.
61
… e prendi le tue contromisure
Come possiamo agire quindi?
• Installazione di un Antivirus
• Configuration Hardening (rendere il sistema più
ostico ai malware)
• Educare gli utenti
Malware 1 - I virus. Davide Chiarella.
62
Antivirus
Primo passo: installare un antivirus.
Un compito semplice?
Fino a quando si è a casa la scelta è semplice e di
poca spesa…
ma in un ambiente più strutturato?
Malware 1 - I virus. Davide Chiarella.
63
Antivirus: dove? 1
….
….
….
Malware 1 - I virus. Davide Chiarella.
64
Antivirus: dove? 2
• Computer degli utenti
• File server
• Mail Server
• Application Server
• Border firewall
• Palmari
La scelta ideale sarebbe su tutti. Ma performance
e budget suggeriscono di restringere il campo….
Malware 1 - I virus. Davide Chiarella.
65
Antivirus: aggiornamenti
Un antivirus non aggiornato è come un fucile senza
pallottole: inefficace. A cosa serve l’aggiornamento?
Durante l’aggiornamento l’antivirus scarica un
database contenente le nuove signature dei virus
appena scoperti.
Un antivirus, quando controlla un file per vedere se è
infetto, confronta il file con un database di stringhe
di byte, ognuna rappresentante univocamente un
virus. Questa stringa è chiamata signature o firma.
Malware 1 - I virus. Davide Chiarella.
66
Antivirus: signature 1
Un esempio di signature all’interno di un file
eseguibile potrebbe essere la seguente.
Malware 1 - I virus. Davide Chiarella.
67
Antivirus: signature 2
Questa metodologia ha però una grave pecca:
riconosce solo i virus che son già stati catalogati
dai vendor degli antivirus e necessita di un
continuo aggiornamento da parte vostra o dei
vostri utenti.
Inoltre tutte le eventuali mutazioni di un virus
primigenio necessitano anch’esse di firme.
Ne risulta che i moderni antivirus hanno un ritardo
intrinseco nell’individuare i nuovi virus: questa mancanza,
di solito, viene supplita con l’integrazione di altre
metodologie quali l’anomaly detection
Malware 1 - I virus. Davide Chiarella.
68
Antivirus: anomaly detection 1
L’anomaly detection negli antivirus crea un modello del
comportamento di un file non infetto basato su
alcuni attributi. Ad ogni attributo viene associato un
valore, se il file dimostra di avere alcuni attributi la
cui somma supera una certa soglia viene identificato
come virus.
ES:
• Il file cerca di accedere al boot sector
• Il file cerca tutti i documenti contenuti in una data
directory
• Il file scrive su di un eseguibile
• Il file cerca di cancellare il contenuto o parte del
contenuto del disco
Malware 1 - I virus. Davide Chiarella.
69
Antivirus: anomaly detection 2
L’anomaly detection risulta utile solo se l’antivirus
riesce ad identificare questi comportamenti sospetti
prima che avvengano (dopo è troppo tardi).
Gli antivirus soddisfano questo requisito emulando un
processore che esegue le istruzioni del programma.
E’ un task difficoltoso emulare in questo modo anche i
file di tipo documenti e gli emulatori non sono privi di
errori: per questo motivo l’anomaly detection viene
attualmente
integrata
con
la
tecnica
di
identificazione basata su signature.
Malware 1 - I virus. Davide Chiarella.
70
Verifica di integrità 1
I virus infettando i file li modificano: di conseguenza un
possibile modo per identificarli è cercare i file che
son stati modificati da un certo momento in poi. I
passi da compiere sono:
• Creare delle fingerprint (checksum o hash) dei file
che devono essere monitorati e conservarle in un
database
• Quando si controlla il pc in cerca di virus comparare
le fingerprint dei file con quelle conservate
precedentemente
• In caso si riscontrino delle diversità lanciare un
allarme
Malware 1 - I virus. Davide Chiarella.
71
Verifica di integrità 2
Il metodo è utile per controllare file di sistema che
di solito non devono subire modifiche (dll o
binari), ma risulta poco utile per file di tipo
documento o per quelli che subiscono spesso
modifiche.
Un po’ di flessibilità nel controllo aggiusta la mira
dell’antivirus: ad esempio che un documento di
testo subisca delle modifiche è una cosa
normale, che vengano cambiate anche le sue
macro è qualcosa che si può definire sospetto.
Malware 1 - I virus. Davide Chiarella.
72
Irrobustimento del sistema 1
(configuration hardening)
L’obiettivo del configuration hardening è rendere il
sistema meno prono ad infezioni seguendo
alcune linee guida.
• Principio del minimo privilegio (per gli amici
POLP, Principle Of Least Priviledge): l’accesso a
dati e programmi deve essere limitato ai file di
cui l’utente ha strettamente bisogno
• Minimizzazione del numero di componenti attivi
sul sistema: è inutile tenere servizi attivi se non
se ne ha bisogno.
Malware 1 - I virus. Davide Chiarella.
73
Irrobustimento del sistema 2
(configuration hardening)
• Agire su eventuali programmi calamita: ad
esempio in Microsoft Word disabilitare le macro
Malware 1 - I virus. Davide Chiarella.
74
Educare gli utenti 1
Fattore importante nella lotta ai virus è educare gli
utenti.
Senza questo passo la vostra rete non sarà mai al
sicuro dai virus: nella maggior parte dei casi un
infezione virale scoppia perché un utente ha
attivato inavvertitamente un file infetto.
Alcuni principi base da far seguire possono
essere:
• Non disabilitare i meccanismi di difesa del pc
(antivirus, i settaggi delle macro in Word)
Malware 1 - I virus. Davide Chiarella.
75
Educare gli utenti 2
• Non aprire allegati nelle mail di cui non è certa la
provenienza e/o di cui non si conosce il formato.
Non aprire allegati che sono file eseguibili.
• Non scaricare ed installare programmi da fonti
esterne alla vostra rete
• Non connettersi col proprio computer di casa
alla rete dell’azienda
• Imparare a riconoscere i sintomi di una infezione
virale (il computer va lento, va in stato critico, email mai spedite di ritorno rifiutate da mailserver)
Malware 1 - I virus. Davide Chiarella.
76
La lotta per la sopravvivenza:
tecniche di auto-preservazione
dei malware
Stealthing
Con il termine Stealthing indichiamo tutti i metodi
che un malware utilizza per celare la sua
presenza nel sistema infetto.
• La cosa più semplice: attributo hidden.
• I malware cercano di intercettare la richiesta
dell’antivirus di analizzare il file infetto e ne
presentano uno sano.
• Rallentare il proprio rate di infezione dei file,
così da non rallentare il sistema ospite
Malware 1 - I virus. Davide Chiarella.
78
Polimorfismo
Polimorfismo è il processo attraverso il quale del
codice malevolo modifica la sua apparenza per
sventare la sua identificazione: in questo
processo però esso non altera le sue
funzionalità.
Il codice può assumere varie forme, ma tutte con
la stessa funzione.
Con questa tecnica il virus si cambia
dinamicamente ogni volta che va in esecuzione:
cambiando il suo codice le signature prese dal
codice iniziale non valgono più.
Malware 1 - I virus. Davide Chiarella.
79
Polimorfismo: come? 1
La tecnica più semplice per raggiungere questo
risultato può essere cambiare il nome delle sue
variabili e subroutine prima di infettare un nuovo
ospite.
Per complicare le cose questi nomi possono
essere anche scelti a caso (niente è mai per
caso, però…).
Un altro modo è cambiare l’ordine delle istruzioni
nel suo codice, ovviamente preservando il
risultato e le sue funzionalità.
Malware 1 - I virus. Davide Chiarella.
80
Polimorfismo: come? 2
Si possono anche aggiungere istruzioni che non fanno niente, a parte
cambiare la signature ;-)
Ad esempio aggiungendo al codice queste due righe (supponendo di
avere una viariabile i):
i=i+1;
i=i-1;
Un’altra tecnica polimorfica è crittografare tutto il codice tranne la parte
necessaria alla decrittazione: il virus utilizza chiavi pseudo casuali
per crittografarsi. Dopo essersi crittografato nasconde la chiave
all’interno del suo codice, sempre in modo pseudo causale.
Puo far di meglio?
Cambiare il look del suo motore crittografico con le tecniche precedenti.
Chi è interessato il primo motore di mutazione per newbies è uscito nel
1992: MtE.
Malware 1 - I virus. Davide Chiarella.
81
Metamorfismo
Il metamorfismo porta il concetto di polimorfismo
leggermente più in là, dove nessun uomo è
giunto prima…
Il metamorfismo muta il virus e muta leggermente
anche le sue funzionalità.
Il metodo si assicura di farlo in modo da non far
perdere virulenza al virus (al massimo di
aumentarla!).
Malware 1 - I virus. Davide Chiarella.
82
Disattivazione dell’antivirus 1
Quale modo migliore c’è di autopreservarsi che
disabilitare l’antivirus?
Il virus di solito possiede una lista di processi
sgraditi nel suo codice, che ben sa appartenere
agli antivirus in commercio. Una volta entrato nel
sistema il virus per prima cosa uccide questi
processi e poi incomincia il suo lavoro.
Un altro metodo è bloccare l’accesso ai domini che
appartengono a case produttrici di antivirus, così
da impedire l’aggiornamento delle signature.
Malware 1 - I virus. Davide Chiarella.
83
Disattivazione dell’antivirus
Un virus può anche modificare il registro di
sistema in modo da rendere alcuni programmi,
resi sicuri precedentemente, focolai di infezione.
Ad esempio cambiare i settaggi macro di Word,
cambiando una chiave nel registro di Windows.
Tutto questo ovviamente può accadere se il virus
non è stato ancora individuato e schedato
tramite signature o l’antivirus non è aggiornato.
Malware 1 - I virus. Davide Chiarella.
84