VIRUS Tassonomia & analisi.. 2 Virus: Cosa sono? La differenza tra un virus informatico e gli altri...

35
VIRUS Tassonomia & analisi.

Transcript of VIRUS Tassonomia & analisi.. 2 Virus: Cosa sono? La differenza tra un virus informatico e gli altri...

Page 1: VIRUS Tassonomia & analisi.. 2 Virus: Cosa sono? La differenza tra un virus informatico e gli altri programmi è che i virus sono progettati per auto replicarsi,

VIRUS

Tassonomia & analisi.

Page 2: VIRUS Tassonomia & analisi.. 2 Virus: Cosa sono? La differenza tra un virus informatico e gli altri programmi è che i virus sono progettati per auto replicarsi,

2

Virus: Cosa sono?

La differenza tra un virus informatico e gli altri programmi è che i virus sono progettati per auto replicarsi, per lo più senza che l’utente ne sia al corrente. Oltre a questa peculiarità generalmente i virus causano “effetti collaterali” alle volte prendendosi semplicemente burla degli utenti infetti, altre volte causando danni anche materiali alla macchina o morali, spedendo documenti in giro nella rete a nome del malcapitato.

Page 3: VIRUS Tassonomia & analisi.. 2 Virus: Cosa sono? La differenza tra un virus informatico e gli altri programmi è che i virus sono progettati per auto replicarsi,

3

Virus: Esempi

Il virus CIH sovrascrive il bios della macchina, cosa generalmente poco apprezzata.

Il virus WM97/Class-D scrive spesso il messaggio: "I think <user> is a big stupid jerk"

Il Cascade virus fa “cadere” i caratteri dello schermo…

Page 4: VIRUS Tassonomia & analisi.. 2 Virus: Cosa sono? La differenza tra un virus informatico e gli altri programmi è che i virus sono progettati per auto replicarsi,

4

Virus: Tassonomia

I virus possono essere classificati in base a queste caratteristiche:Ambiente Sistema operativoAlgoritmi di funzionamento Potenzialità distruttrice

Page 5: VIRUS Tassonomia & analisi.. 2 Virus: Cosa sono? La differenza tra un virus informatico e gli altri programmi è che i virus sono progettati per auto replicarsi,

5

Virus: Tassonomia

In base all’ambiente in cui operano i virus vengono a loro volta divisi in: File virus Boot virus Macro virus Network virus

In base al sistema operativo si ha una distinzione per i virus che attaccano Windows piuttosto che Dos o altri S.O. ma anche se il virus infetta i file di Excel o Word (Macrovirus)

Page 6: VIRUS Tassonomia & analisi.. 2 Virus: Cosa sono? La differenza tra un virus informatico e gli altri programmi è che i virus sono progettati per auto replicarsi,

6

Virus: Tassonomia

La classificazione per algoritmi divide tra:TSRAlgoritmi StealthCrittografia e polimorfismoTecniche non standard

Page 7: VIRUS Tassonomia & analisi.. 2 Virus: Cosa sono? La differenza tra un virus informatico e gli altri programmi è che i virus sono progettati per auto replicarsi,

7

Virus: Tassonomia

La “potenza distruttrice” di un virus ci permette di dividerli in queste categorie: Inoffensivo: Non si verificano effetti negativi

nel sistema, a parte una diminuzione dello spazio dovuto al propagarsi virus.

Non pericoloso: Effetti grafici o sonori o altri effetti.

Pericolosi: virus che danneggiano il lavoro del computer, in un modo o in un altro.

Molto pericolosi: Virus che causano danni permanenti al software o all’hardware.

Page 8: VIRUS Tassonomia & analisi.. 2 Virus: Cosa sono? La differenza tra un virus informatico e gli altri programmi è che i virus sono progettati per auto replicarsi,

8

Virus: File viruses

I virus di questa famiglia usano il filesystem per propagarsi.

Vengono colpiti tutti i tipi di eseguibili del DOS: i file BAT, i driver (*.SYS) e gli eseguibili (EXE, COM). Esistono anche virus per altri sistemi operativi (Unix, MacOS ecc.)

Page 9: VIRUS Tassonomia & analisi.. 2 Virus: Cosa sono? La differenza tra un virus informatico e gli altri programmi è che i virus sono progettati per auto replicarsi,

9

Virus: File viruses

Ci sono virus che infettano altri file, non direttamente eseguibili, come i file di Word, Excel o i database, ma questi risiedono in una categoria separata (Macrovirus)

In base al metodo usato per infettare i file i Virus si dividono ancora in: Overwriting Parasitic Companion Link viruses Worm OBJ, LIB Viruses and Source Code Viruses

Page 10: VIRUS Tassonomia & analisi.. 2 Virus: Cosa sono? La differenza tra un virus informatico e gli altri programmi è che i virus sono progettati per auto replicarsi,

10

Virus: Overwriting viruses

Questo metodo di infezione è il più semplice: il virus si sovrascrive nel codice di un eseguibile. Il programma vittima ovviamente non funziona più e non può essere curato. Questi virus vengono scoperti piuttosto presto, perché appena l’infezione si propaga i programmi (e il S.O.) smettono di funzionare. Una tattica alternativa di questi virus è quella di scriversi al posto dell’header del file, così il file funziona ancora e i virus vengono scoperti più tardi…

Page 11: VIRUS Tassonomia & analisi.. 2 Virus: Cosa sono? La differenza tra un virus informatico e gli altri programmi è che i virus sono progettati per auto replicarsi,

11

Virus: Parasitic viruses

Sono tutti quei virus che cambiano il contenuto del file-vittima mentre si copiano. Il file-ospite rimane utilizzabile funziona, mentre il virus si nasconde al suo interno. I virus sono di te tipi: Quelli che si antepongono al file Quelli che si appendono in coda Quelli che si inseriscono in mezzo.

L’inserimento avviene secondo tecniche diverse, o spostando un frammento del file ospite o sfruttando del codice che si sa non utilizzato (Cavity viruses)

Page 12: VIRUS Tassonomia & analisi.. 2 Virus: Cosa sono? La differenza tra un virus informatico e gli altri programmi è che i virus sono progettati per auto replicarsi,

12

Virus: Companion Viruses

Questi virus non cambiano i files infetti. Creano un clone dei file vittima, così quando il file viene eseguito, in realtà viene eseguito il suo clone, che è il virus stesso. Molto spesso viene creato un file .Com al posto di un .Exe, così il file .Com (virus) viene eseguito prima. Ad esempio, se viene lanciato il file xcopy, verrà eseguito prima l’xcopy.com (il virus) che lancerà l’xcopy.exe.

Page 13: VIRUS Tassonomia & analisi.. 2 Virus: Cosa sono? La differenza tra un virus informatico e gli altri programmi è che i virus sono progettati per auto replicarsi,

13

Virus: Companion Viruses

Una variante consiste nel rinominare il file vittima e prenderne il posto. Ad esempio: Xcopy.exe -> Xcopy.exd. E il virus si chiamerà Xcopy.exe

Un’ altra variante sfrutta il Path, cioè crea una copia di se con il nome di un comando che è nella variabile path dell’ambiente, ma si copia in una directory superiore (sempre nel path). In questo modo viene eseguito prima il virus.

Page 14: VIRUS Tassonomia & analisi.. 2 Virus: Cosa sono? La differenza tra un virus informatico e gli altri programmi è che i virus sono progettati per auto replicarsi,

14

Virus: File Worms

File worms sono una variante dei companion virus, si copiano ovunque possono, ma senza prendere il posto di file già esistenti, nella speranza di venir eseguiti. A questo scopo spesso assumono nomi tipo: ”Install.exe” o simili. Esistono varianti che si copiano anche all’interno di file compressi. (ArjVirus)

Sono da distinguere dai Network Worm, che sfruttano i protocolli di rete.

Page 15: VIRUS Tassonomia & analisi.. 2 Virus: Cosa sono? La differenza tra un virus informatico e gli altri programmi è che i virus sono progettati per auto replicarsi,

15

Virus: Link Viruses

Questi virus differiscono dagli altri perché non intaccano minimamente i file, ma operano a basso livello sul filesystem: si copiano nell’ultimo cluster della partizione e modificano l’indirizzamento all’interno delle directory per farsi eseguire: al posto dell’indirizzo di un file non infetto, nella directory viene scritta la locazione del virus.

Page 16: VIRUS Tassonomia & analisi.. 2 Virus: Cosa sono? La differenza tra un virus informatico e gli altri programmi è che i virus sono progettati per auto replicarsi,

16

Virus: OBJ, LIB & Source Code Viruses Questi virus (circa 10 in tutto) sono

decisamente particolari: infettano le librerie dei compilatori e quindi a questo stadio non sono più eseguibili, ma i programmi generati col compilatore così ottenuto contengono a loro volta il virus.

Una leggera variazione è data dai virus che aggiungono il loro source code a quello dei programmi che si stanno producendo. Il meccanismo è analogo.

Page 17: VIRUS Tassonomia & analisi.. 2 Virus: Cosa sono? La differenza tra un virus informatico e gli altri programmi è che i virus sono progettati per auto replicarsi,

17

Virus: Modus operandi dei File viruses Un virus di questa categoria generalmente avrà questo

comportamento: Un virus residente in memoria cercherà in RAM una

sua copia, se non la trova si caricherà. I virus non TSR cercheranno i files nella direrctory corrente e nel path, cominceranno a scandire l’albero della directory (e a infettare)

A questo punto il virus eseguirà i suoi “effetti collaterali”, distruttivi o goliardici. Alle volte questi effetti si attivano solo ad una certa ora o a un dato momento.

Il controllo viene ridato al programma infettato, se è ancora eseguibile, oppure viene lanciata la copia sana, nel caso dei companion virus.

Page 18: VIRUS Tassonomia & analisi.. 2 Virus: Cosa sono? La differenza tra un virus informatico e gli altri programmi è che i virus sono progettati per auto replicarsi,

18

Virus: Boot viruses

I boot virus infettano il boot sector di un floppy e/o il Master Boot Record di un hard disk.

Non appena il sistema viene avviato viene letto il primo settore fisico del disco (A:, C:, o quello che è, dipende da com’è settato il bios) dopo di che viene passato il controllo alla periferica.

Page 19: VIRUS Tassonomia & analisi.. 2 Virus: Cosa sono? La differenza tra un virus informatico e gli altri programmi è che i virus sono progettati per auto replicarsi,

19

Virus: Boot viruses

Nel caso si tratti di un floppy o di un cd-rom il controllo viene passato al boot sector che analizza il BIOS Parameter Block, calcola l’indirizzo di alcuni file di sistema, li carica in memoria e li esegue. Questi file di sistema sono, generalmente, IO.SYS e MSDOS.SYS, o altri, dipende dal sistema operativo. Se non ci sono files, viene stampato un messaggio di errore.

Nel caso di un harddisk, il controllo viene passato alle routine del MBR. Queste routine analizzano le partizioni del disco, calcolano l’indirizzo del Boot sector attivo, lo caricano in memoria e gli passano il controllo. A questo punto il boot sector si comporta esattamente come il caso precedente.

Page 20: VIRUS Tassonomia & analisi.. 2 Virus: Cosa sono? La differenza tra un virus informatico e gli altri programmi è che i virus sono progettati per auto replicarsi,

20

Virus: Boot viruses

Quando infetta in disco il virus sostituisce il suo codice al posto di quello che riceve il controllo al boot. Quindi all’avvio del sistema il controllo passa al virus!

L’infezione dei dischetti avviene in un unico modo: il virus riscrive il boot sector originale con il proprio codice, gli harddisk possono essere infettati in tre modi diversi: Un virus riscrive l’MBR Un virus riscrive il boot sector Un virus riscrive l’indirizzo del boot sector attivo nella

tabella delle partizioni Quando viene infettato un disco, in genere, l’MBR

originale viene copiato in qualche altro settore dell’HD.

Page 21: VIRUS Tassonomia & analisi.. 2 Virus: Cosa sono? La differenza tra un virus informatico e gli altri programmi è che i virus sono progettati per auto replicarsi,

21

Virus: Boot Viruses

Esistono diverse opzioni per la collocazione del boot sector originale e del virus: Nei cluster liberi di un drive logico Nei settori poco usati di un harddisk Nei settori off-limits (alcuni virus maschero

dei settori come se fossero danneggiati e poi ci si copiano)

Nell’ultimo settore dell’HD. Fuori dal disco. Viene cambiata la

dimensione della partizione e il virus si copia nello spazio libero così ottenuto.

Page 22: VIRUS Tassonomia & analisi.. 2 Virus: Cosa sono? La differenza tra un virus informatico e gli altri programmi è che i virus sono progettati per auto replicarsi,

22

Virus: Boot viruses

Quando infettano la maggior parte dei virus copia le informazioni di sistema del loader originale nel codice del suo loader. Se così non fosse non funzionerebbe più il sistema. Questi tipi di virus sono facili da debellare, basta riscrivere il boot sector (dopo aver bootato da un disco pulito)

I virus stealth, invece, non salvano queste informazioni, ma le criptano, in questo modo il sistema funziona correttamente, ma ripulendo il sistema dal virus si causa l’impossibilità di recuperare le informazioni crittografate, e quindi il sistema non funziona più. L’unico modo per ovviare a questo problema è formattare il disco oppure ripristinare la tabella delle partizioni a mano…

Page 23: VIRUS Tassonomia & analisi.. 2 Virus: Cosa sono? La differenza tra un virus informatico e gli altri programmi è che i virus sono progettati per auto replicarsi,

23

Virus: Modus operandi dei Boot viruses Praticamente tutti i boot virus sono residenti

in memoria. Si infiltrano nella memoria del computer dopo che avviene il boot da un disco infetto. Nel processo il loader legge il contenuto del primo settore, lo carica in memoria e lo esegue. A questo punto il virus comincia la sua esecuzione ed esegue questi passi: Abbassa la disponibilità di memoria libera, si

copia nello spazio di memoria così ottenuto. Alcuni virus apettano finchè il S.O. non riporta la memoria nello stato iniziale

Page 24: VIRUS Tassonomia & analisi.. 2 Virus: Cosa sono? La differenza tra un virus informatico e gli altri programmi è che i virus sono progettati per auto replicarsi,

24

Virus: Modus operandi dei Boot viruses

Intercettano l’interrupt vector per l’accesso fisico al disco (INT 13h), leggono il boot sector originale e lo caricano in memoria, passano a lui il controllo.

A questo punto possono rimanere residenti in ram e infettare tutti i dischi che vengono inseriti e produrre gli effetti collaterali (più o meno dannosi).

Esistono boot viruses che non sono residenti in memoria, all’avvio infettano l’MBR e i dischi eventualmente presenti dopo di che non influenzano più il funzionamento del computer.

Page 25: VIRUS Tassonomia & analisi.. 2 Virus: Cosa sono? La differenza tra un virus informatico e gli altri programmi è che i virus sono progettati per auto replicarsi,

25

Virus: Macro viruses

I Macro virus sono programmi scritti in un linguaggio di scripting per qualche programma host che lo implementa. I più comuni host sono:Microsoft ExcelMicrosoft WordMicrosoft Access

Page 26: VIRUS Tassonomia & analisi.. 2 Virus: Cosa sono? La differenza tra un virus informatico e gli altri programmi è che i virus sono progettati per auto replicarsi,

26

Virus: Macro viruses

Per essere attaccabile dai virus un programma deve avere un linguaggio di macro che permetta: Macro all’interno dei file Macro che possono venir copiate da un file

ad un altro Una macro deve poter funzionare senza

l’intervento dell’operatore La suite office permette tutte queste cose,

utilizzando Visual Basic for Application.

Page 27: VIRUS Tassonomia & analisi.. 2 Virus: Cosa sono? La differenza tra un virus informatico e gli altri programmi è che i virus sono progettati per auto replicarsi,

27

Virus: Macro viruses

La maggior parte dei virus per essere dannosi devono essere scritti per la stessa versione dell’applicativo (devono cioè essere entrambi nella stessa lingua, es.: italiano). Comunque, anche se le versioni sono differenti il virus riesce comunque a infettare altri file.

L’infezione non colpisce solo le macchine windows. Ogni host in grado di leggere ed eseguire macro di word può essere colpito.

Page 28: VIRUS Tassonomia & analisi.. 2 Virus: Cosa sono? La differenza tra un virus informatico e gli altri programmi è che i virus sono progettati per auto replicarsi,

28

Virus: Macro viruses, come funzionano Quando si lavora con i documenti office,

vengono eseguite diverse azioni: aperture, chiusura, salvetaggio, ecc. Ciascuna azione può attivare una macro con dei nomi standard, in maniera automatica: AutoOpen, AutoClose, AutoSave ecc.

Proprio sfruttando questa funzionalità automatica che i virus si attivano e infettano altri files / fanno i loro danni.

Page 29: VIRUS Tassonomia & analisi.. 2 Virus: Cosa sono? La differenza tra un virus informatico e gli altri programmi è che i virus sono progettati per auto replicarsi,

29

Virus:Word Macro Viruses.

La maggior parte dei virus di Word conosciuti, quando vengono eseguiti, copiano il loro codice nell’area delle macro globali.

All’uscita da Word le macro vengono automaticamente salvate in un file .DOT (in genere NORMAL.DOT). Al successivo avvio di Word il virus viene caricato automaticamente.

A questo punto il virus ri-definisce (o crea, se non esistevano) nuove macro automatiche e quindi rileva ogni operazione sui file (apertura, chiusura ecc.) e infetta ogni file aperto o chiuso.

Alcuni virus controllano la lista dei files recentemente aperti, e li infettano.

Page 30: VIRUS Tassonomia & analisi.. 2 Virus: Cosa sono? La differenza tra un virus informatico e gli altri programmi è che i virus sono progettati per auto replicarsi,

30

Virus:Excel Macro Viruses.

Il metodo di propagazione dei Macro virus di excel è molto simile a quello visto con Word, tuttavia, dato che Excel non ha un file NORMAL.DOT, viene utilizzata la directory di StartUp, da cui Excel carica i template all’avvio.

Dato che le macro in Excel possono essere scritte sia in VBA che in un linguaggio di scripting diverso, usato in Excel V.4 (e che viene mantenuto per compatibilità), alcuni virus possono essere scritti in questo linguaggio, tuttavia non sono concettualmente differenti da quelli visti fin’ora.

Page 31: VIRUS Tassonomia & analisi.. 2 Virus: Cosa sono? La differenza tra un virus informatico e gli altri programmi è che i virus sono progettati per auto replicarsi,

31

Virus:Access Macro Viruses.

Anche questi virus sono analoghi a quelli visti per gli altri componenti di office. Quando viene infettato un database il virus copia le proprie macro nella sezione macro del database.

La rimozione dei virus di questo genere è più complessa che con gli altri file di office ed è facile ritrovarsi con un database corrotto (e illeggibile).

Page 32: VIRUS Tassonomia & analisi.. 2 Virus: Cosa sono? La differenza tra un virus informatico e gli altri programmi è che i virus sono progettati per auto replicarsi,

32

Virus: Network Viruses

I Network virus fanno uso estensivo dei protocolli di rete e le possibilità offerte dalla rete per moltiplicarsi.

Il principio operativio di questo tipo di virus è la capacità di trasferire il proprio codice in remoto, su altre macchine. Alcuni virus sono in grado di eseguire il loro codice su macchine remote.

Page 33: VIRUS Tassonomia & analisi.. 2 Virus: Cosa sono? La differenza tra un virus informatico e gli altri programmi è che i virus sono progettati per auto replicarsi,

33

Virus: Network Viruses

I Network virus della fine degli anni 80 sono diventati terribilmente popolari con il nome di “Worms”, questi, facendo uso di funzioni poco documentate del network di allora si sono propagati, nel caso del Morris virus, i tutta la rete USA.

La maggior parte di questi virus non tocca altre risorse se non la RAM, calcola gli indirizzi di rete e si copia in altre machine.

Col tempo i bachi nei protocolli di rete sono stati corretti.

Page 34: VIRUS Tassonomia & analisi.. 2 Virus: Cosa sono? La differenza tra un virus informatico e gli altri programmi è che i virus sono progettati per auto replicarsi,

34

Virus: Network Viruses

I virus più moderni si propagano attraverso l’e-mail, sfruttando bachi (principalmente) di outlook, con meccanismo simile ai macrovirus contengono script/macro che outlook esegue in maniera automatica.

Il virus si propaga spedendosi a tutti gli indirizzi che sono in rubrica.

Page 35: VIRUS Tassonomia & analisi.. 2 Virus: Cosa sono? La differenza tra un virus informatico e gli altri programmi è che i virus sono progettati per auto replicarsi,

35

Virus: Appendice

NON sono virus, ma meritano menzione:SpywareTrojan HorseVirus construction setPolymorphic generators