virus & antivirus. vittime dei virus modificarne il comportamento propagarsi rimuoverli...

Post on 02-May-2015

218 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Virus & Antivirus

Vittime Dei Virus

• Modificarne il comportamento• Propagarsi• Rimuoverli

• Modificarne il contenuto• Rimuoverli

Altri File

Eseguibili

Periferiche • Utilizzarle impropriamente.

File Eseguibili

• Header– Autore– Versione– Memoria richiesta– Checksum

• Codice (in ling. macchina rilocabile)

• Dati (costanti, buffer statici, …)

• Batch• Source Code• Object Code

Linguaggio Macchina

Interpretati

Eseguibili L. Macchina

Header4D 5A Eseguibile DOS

00 00 Versione 0.0

Dati43 49 41 4F CIAO

Codice macchina rilocabileB8 00 00 MOV AX, 0

89 1D MOV [DI], BX

40 INC AX

Eseguibili Interpretati

Tutti i file che se opportunamente interpretati possono modificare il sistema (lo stato del sistema) in maniera permanente.

Esempio:• BAT, SYS, …• C, CPP, JAVA, ASM, VBS, …• DOC, PS, …

File Non Eseguibili

Sequenze di byte che contengono una o più informazioni. L’interpretazione di queste informazioni non può attaccare il sistema.

BMP, GIF, JPG, WAV, TXT, …

Tipologie Di Virus

Modificano la FAT per nascondersi ed eseguirsi.

Sostituiscono il kernel originale con il proprio.

File Infector

Boot\MBR

Cluster

Kernel

Si attaccano agli eseguibili per replicarsi.

Modificano la boot o l’MBR del disco.

File Infector

Header

Dati

Codice

Codice Virus

Modifica:

1. Dimensione.

2. Header.

File Infector

Header

Dati

Codice

Codice Virus

Possibili difese:

1. Controllo sulla dimensione

2. Controllo su Header (checksum) e jump.

3. Controllo firma.

4. Controllo sequenza istruzioni.

File Infector

Header

Dati

Codice

Codice Virus

Problemi:

1. Autozip virus.

2. Stealth virus possono falsificare dimensione del file.

3. Firma nascosta.

4. Facili “crying wolf”

Virus Polimorfi

Usano una sequenza casuale di istruzioni che non modificano il comportamento del virus.

Ad esempio:inc ax;

dec ax;

add ax, 5;

sub ax, 5

xchg bl, bl;

jmp Dopo

Dopo:

nop;

File Infector

Header

Dati

Codice

Codice Virus

Problemi con virus polimorfi e encrypted:

1. Dimensione non costante.

2. Sequenza di istruzioni non prevedibile.

File Infector (Companion)

.exe

.com

PIPPO.COM

PIPPO.EXE

C:\>PIPPO

File Infector (Companion)

Possibili difese:1. Controllo duplicazione nomi.

2. Controllo occorrenza del nome dell’eseguibile all’interno del file “.com”

3. Controllo su tutti i file per evitare eventuali falsi allarmi.

.exe

.com

Boot\MBR Virus

Modifica:

1. Codice della boot.

2. Eventuale aggiunta di bad track.

Boot\MBR Virus

Possibili difese:

1. Proteggere dischetti in scrittura.

2. Controllo scrittura su MBR da BIOS.

3. Controllo comparsa bad track.

4. Confronto del settore di avvio con una copia collocata su un dischetto protetto.

Boot\MBR Virus

Problemi:

1. Intercettazione lettura settore di avvio.

2. Difficile stabilire se si tratta di virus o boot-manager.

Cluster Virus

Modifica:

1. FAT entry.

2. Spazio allocato su disco.

Cluster Virus

Possibili difese:

1. Copia FAT su CD-ROM.

Cluster Virus

Problemi:

1. Infinite loop su entry di file utili (es: eseguibile dell’antivirus).

2. Intercettazione lettura FAT.

Kernel Virus

Modifica:

1. Kernel.

2. Funzioni di sistema.

3. Interrupt handler.

Kernel Virus

Possibili difese:

1. Sorvegliare interrupt.

2. Controllo dimensione file kernel.

Kernel Virus

Problemi:

1. Virus inganna totalmente ogni controllo.

2. Servizi di sistema poco affidabili.

Antivirus

Per arrestare un criminale, la polizia, può andare sulla scena del delitto, prendere le impronte digitali, fare una ricerca nel database in loro possesso e infine rintracciare il malvivente.

Un antivirus può analizzare ogni file alla ricerca di una firma nota. Se questa firma compare può segnare il file come infetto.

E se il malvivente è incensurato?

E se il virus non ha una firma nota?

Antivirus

La polizia osserva il comportamento delle persone per individuare soggetti sospetti.

L’antivirus analizza il comportamento logico del programma per rintracciare sequenze di codice sospette.

E se passa una baby-sitter che gioca a “I 4 moschettieri” con un bambino… cosa facciamo? L’arrestiamo!!!?

E se un programma tenta di modificare il suo file di configurazione… cosa facciamo? Cataloghiamo il nuovo virus: “Word”!!!?

Antivirus

Classica ricerca di una stringa nota all’interno del file.

Ricerca Firma

Euristica Statica

Euristica Dinamica Esegue il file in un ambiente virtuale e sorveglia i risultati.

Confronta staticamente il comportamento di un file con quello dei virus noti.

Antivirus

• Euristica Statica– Database comportamenti.– Analisi delle routine note (unscramble, decrypt).– Controllo “firma” “comportamento”.

Antivirus

• Database comportamenti.

# BYTE SEQUENCE BEHAVIOR

001. B8 ?? 4C CD 21 Termina programma

002. B4 4C CD 21 Termina programma

003. B4 4C B0 ?? CD 21 Termina programma

004. B0 ?? B4 4C CD 21 Termina programma

100. B8 02 3D BA ?? ?? CD 21 Apre file

101. BA ?? ?? B8 02 3D CD 21 Apre file

Antivirus

• Controllo “firma” “comportamento”.

Cerca firma all’interno del file

Analizza il comportamento (staticamente)

Riduce il numero di “crying wolf”.

Antivirus

• Euristica Dinamica– Simulazione.– Sistemi esperti.– Stimolazione.

Antivirus

Se vogliamo sorvegliare la nostra base dall’intrusioni nemiche potremmo sorvegliare tutti i possibili percorsi di accesso.

Se abbiamo 1000 modi di accedere alla nostra base… Arruoliamo 1000 guardie!!!?

Se vogliamo sorvegliare il nostro sistema da attacchi virali, potremmo tentare di rintracciare tutti i virus noti in tutte le loro varianti.

Esistono milioni di virus… Creiamo un database di Terabyte!!!?

Antivirus

E non è finita! Siamo sicuri che le nostre guardie siano bene addestrare?

Altra idea:

Spostiamo, segretamente, la nostra base, lasciamo che il nemico entri senza problemi convinto di essere un eroe, ed una volta dentro…

Antivirus

• Simulazione

Il file sospetto viene eseguito in un ambiente virtuale.

Vengono sorvegliati tutti gli interrupt, gli accessi ai file, accessi alla memoria, …

I risultati vengono valutati per stabilire se si tratta di un programma nocivo o meno.

Antivirus

• Problemi dovuti alla simulazione:– Difficoltà proporzionale alla complessità del

sistema da simulare.– Richiesta di molto CPU time.– Comportamenti condizionati dei virus (es:

attivazione temporale).– I virus possono scoprire di agire in simulazione.

Antivirus

• Sistemi Esperti– Sistemi esperti in grado di decidere\rispondere

come farebbe un esperto di un dato dominio applicativo.

– Reti neurali per apprendimento automatico.

Antivirus

• Stimolazione

Se si vuol studiare il comportamento di una rana, non la si chiude in una vasca e si aspetta che faccia qualcosa…

…ma si stimola il suo cervello per vedere come reagisce.

Antivirus

• Stimolazione

Si stimola il virus (in simulazione) e si vede come reagisce.

Gli stimoli possibili sono svariati, molti noti, altri dipendono dalla fantasia del virus writer.

Conclusioni

• Per difendersi dai virus– Proteggere i dischetti in scrittura.– Proteggere MBR da BIOS.– Non lanciare eseguibili di provenienza dubbia.– Non lanciare eseguibili (anche se non sospetti)

senza averli prima controllati con un antivirus aggiornato.

– Aggiornare frequentemente il proprio antivirus.– Usare più antivirus.– Evitare l’utilizzo di crack o software piratato.– Porre attenzione ai file di documento, il fenomeno

macro-virus è già molto esteso!

Miti dei Virus

• Il virus più temibile si insidia nella mente dell’utente!

<<Se un virus ti colpisce, devi cancellare tutto>><<I file spediti dagli amici sono sempre sicuri>><<I virus mostrano sempre qualcosa sul video>><<Un file puo’ essere infettato solo da un solo

virus>><<Se accendi e spegni il PC 6 volte di seguito,

ammazzi tutti i virus>>…

Link Utili

www.cert.org

www.simantec.com

www.hackerzine.com

It.comp.sicurezza.virus

top related