LinuxDay 2005: Computer Virus e rilevamento

21
© 2005 Simone Amati & Valerio Bruno Computer Virus e rilevamento

description

Computer virus e rilevamento. Installazione di un anti-virus su Linux.

Transcript of LinuxDay 2005: Computer Virus e rilevamento

Page 1: LinuxDay 2005: Computer Virus e rilevamento

© 2005 Simone Amati & Valerio Bruno

Computer Virus e rilevamento

Page 2: LinuxDay 2005: Computer Virus e rilevamento

1/10

CosCos’è’è un computer virusun computer virusSemplicemente un programma che si riproduce!

© 2005 Simone Amati & Valerio Bruno

Il frutto dell’opera di uno programmatore

Esistono in molte forme:

Commettere atti criminosi

Studiare le possbilitàdella vita artificialeStudiarli per proteggersi

da altri tipi di malwareInformation warfare

Virus polimorfici Worm

Trojan Virus stealthBoot Virus

Page 3: LinuxDay 2005: Computer Virus e rilevamento

2/10

Come Come sonosono fattifatti

© 2005 Simone Amati & Valerio Bruno

1. Search file

4. Execute host file

3. Write virus code in host file

2. Verify file infection and attributes

Page 4: LinuxDay 2005: Computer Virus e rilevamento

3/10

Come Come funzionanofunzionano• Incubazione: controllo del sistema e delle difese

© 2005 Simone Amati & Valerio Bruno

• Infezione: scrittura in altri file

• Propagazione

• Attivazione

Page 5: LinuxDay 2005: Computer Virus e rilevamento

4/10

Cosa significa rilevare un virusCosa significa rilevare un virus

© 2005 Simone Amati & Valerio Bruno

Riconoscere un’alterazione dei file del sistema o il codice virale attraverso opportune tecniche:

1. Integrity-checking function: confronto tra checksum2. Scanning function: confronto tra firme virali e stringhe di dati3. Heuristic scanning: testa i programmi in una “sandbox”

Batterio

DNA Firma virale

Computer virus

Impronta digitale

Criminale

Page 6: LinuxDay 2005: Computer Virus e rilevamento

5/10 © 2005 Simone Amati & Valerio Bruno

TecnicheTecniche didi rilevamentorilevamento .1.1Integrity-checking function:

1. I file da monitorare vengono dati in pasto a particolari algoritmi digest (tipo MD5);

2. Il risultato della digestione è unico e viene memorizzato in un DB;3. L’antivirus confronta i dati del DB con i digest calcolati on-the-fly.

File 1Hash

Digest1 =

File 1Hash

Digest1Memorizzazione

DBdigest

File 1 infettoHash

Digest2 ≠

Page 7: LinuxDay 2005: Computer Virus e rilevamento

6/10 © 2005 Simone Amati & Valerio Bruno

TecnicheTecniche didi rilevamentorilevamento .2.2Scanning function:

Ogni file è una sequenza finita di byte;

Ricerca di una determinata stringa nel file considerato;

L’antivirus confronta le firme contenute nel DB con i byte del file.

Algoritmi “famosi”:

Knutt-Morris-Pratt: al più M + N confronti;

Boyer-Moore: al più M + N ma in media N/M.

Page 8: LinuxDay 2005: Computer Virus e rilevamento

7/10 © 2005 Simone Amati & Valerio Bruno

TecnicheTecniche didi rilevamentorilevamento .3.3Firme dinamiche:

I virus polimorfici attraverso i loro motori di morfing alterano il codice binarioinserendo istruzioni no-op o salti tra le varie istruzioni. La firma in questomodo non è costante.

Heuristic scanning:

1. Eurustica statica: controlla le signature dei comportamenti per individuare comportamenti sospetti;

2. Euristica dinamica: esegue il programma in un computer virtuale (sandox) e ne analizza il comportamento.

Page 9: LinuxDay 2005: Computer Virus e rilevamento

8/10 © 2005 Simone Amati & Valerio Bruno

ProblemaProblema del del rilevamentorilevamentoÈ realmente possibile individuare sempre un virus?

È stato dimostrato che qualunque sia il tipo di CV, nessun programma può,contemporaneamente, testare il proprio input alla ricerca del virus ed esseresicuro di non diffonderlo.

Page 10: LinuxDay 2005: Computer Virus e rilevamento

9/10

Come posso fare per difendere il mio pc?Come posso fare per difendere il mio pc?Nessuna soluzione antivirus può proteggerti da te stesso!Nessuna soluzione antivirus può proteggerti da te stesso!

© 2005 Simone Amati & Valerio Bruno

• Non eseguire mai programmi che arrivano sotto forma di allegati in e-mail o da una qualsiasi altra fonte non affidabile!

• Assicurati di effettuare una navigazione web sicura

• Scarica i programmi solo da siti web sicuri e affidabili o dal sito del produttore

• Dotati di un antivirus e tenerlo sempre aggiornato

• Mantieni sempre aggiornato il Sistema Operativo e tutti i software di cui disponi

Page 11: LinuxDay 2005: Computer Virus e rilevamento

Dalla teoria alla pratica: installare un sistema antivirus

OpenSource su un desktop con Linux

● Perché?

●I virus per Linux sono pochi e poco dannosi.Oggi, e domani?

●Vogliamo essere portatori sani di epidemie?

Page 12: LinuxDay 2005: Computer Virus e rilevamento

● Scanner anti-virus

● Blocco all'apertura di file infetti● Comoda interfaccia graf ica per lo scanning

Caratteristiche del sistema

© 2005 Simone Amati & Valerio Bruno

Klamav

Clamav

Dazuko

Page 13: LinuxDay 2005: Computer Virus e rilevamento

Cos'è Clamav ?

Da www.clamav.net:

A GPL virus scanner featuring:● command-line scanner● fast, multi-threaded daemon● milter interface for sendmail● database updater with support for digital signatures● virus scanner C library● on-access scanning (Linux® and FreeBSD)● detection of over 40000 viruses, worms and trojans● built-in support for RAR (2.0), Zip, Gzip, Bzip2, Tar, MS OLE2,

MS Cabinet files, MS CHM (Compressed HTML), MS SZDD● built-in support for mbox, Maildir and raw mail files● built-in support for Portable Executable files compressed

with UPX, FSG, and Petite

Page 14: LinuxDay 2005: Computer Virus e rilevamento

Cos'è Dazuko?

Un modulo del kernel che:

1) Intercetta le chiamate alla funzione di apertura dei file.

2) Esegue del codice per determinare se queste operazioni sono autorizzate.

3) Se non sono autorizzate le blocca.

© 2005 Simone Amati & Valerio Bruno

www.dazuko.org

Page 15: LinuxDay 2005: Computer Virus e rilevamento

Cos'è Klamav?

● Un'interfaccia ad i comandi di Clamav.

● Contiene un motore di ricerca di informazioni sui virus.

● Permette scansioni programmate.● Gestisce la quarantena.

● Gestisce impostazioni di Kmail per la scansione della posta.

© 2005 Simone Amati & Valerio Bruno

Page 16: LinuxDay 2005: Computer Virus e rilevamento

klamav.sourceforge.net

© 2005 Simone Amati & Valerio Bruno

Page 17: LinuxDay 2005: Computer Virus e rilevamento

Installazione dei moduli softwarepacchetti precompilati o codice sorgente?

● Installazione del software tramite il proprio gestore di pacchetti

– Più facile e veloce

– Versioni non sempre aggiornate

– Non sempre possibile

● Ricompilazione dei sorgenti ed installazione manuale

– Operazione non proprio banale

– Scelta arbitraria della versione (ultima / ultimissima!)

– Operazione fattibile per tutte le distribuzioni

© 2005 Simone Amati & Valerio Bruno

Page 18: LinuxDay 2005: Computer Virus e rilevamento

Note [dolenti] per l'installazione di Dazuko

© 2005 Simone Amati & Valerio Bruno

● Richiede Different Security Model feature e Default Linux Capability

● I sorgenti installano il modulo in

/lib/modules/<<versioneKernel>>/extra

Page 19: LinuxDay 2005: Computer Virus e rilevamento

Note per l'installazione di Clamav

© 2005 Simone Amati & Valerio Bruno

● Se eseguite la compilazione “amanuense” vi conviene specificare i path:

./configure

–sbindir=/sbin

–sysconfdir=/etc

–enable-clamuko

● In /etc controllate i file di configurazione

– clamd.conf controlla il demone per la scansione automatica.

– freshclam.conf controlla il programma per l'aggiornamento del database dei virus.

Page 20: LinuxDay 2005: Computer Virus e rilevamento

Note per l'installazione di Klamav

© 2005 Simone Amati & Valerio Bruno

● Sul sito ci sono installer e sorgenti: la stessa cosa!

● Richiede le librerie Qt e quelle di KDE, sia codice della libreria che headers.

Page 21: LinuxDay 2005: Computer Virus e rilevamento

www.torlug.org

© 2005 Simone Amati & Valerio Bruno