Identificazione di Codici Infetti e Tecniche di Protezione dai Virus
1) Introduzione
2) Concetto di Virus e sue Famiglie, Tipologie e Catalogazioni
3) Identificazione di Codici Infetti
4) Tecniche di Protezione dai Virus
5) Minacce Future
6) Conclusioni
Identificazione di Codici Infetti e Tecniche di Protezione dai Virus
Importanza degli elaboratori per il progresso sociale
Interazione tra elaboratori e Internet agevolano la diffusione dei virus
Nascita dei virus negli anni ’80 con ‘Computer
Viruses - Theory and Experiments’ di Fred Cohen
Più di 100.000 forme virali causano ingenti danni economici
soprattutto alle aziende (es. SqHell per Poste Italiane)
30%
14%
4%
10%
4%
4%
5%
8%
6%
5%
5%
5%
Altri paesi
Australia
Svezia
Canada
Inghilterra
Italia
Olanda
Germania
Polonia
Bulgaria
Stati Uniti
Ex Urss
Il vecchio concetto di virus
è diventato riduttivo.
Oggi si considera virus
tutto il codice malevolo in
grado di arrecare danno
ad un utente.
Identificazione di Codici Infetti e Tecniche di Protezione dai Virus
Definizione: porzione di codice che si diffonde copiandosi all'interno di altri
programmi, o in una particolare sezione del disco fisso, in modo da essere
eseguito ogni volta che il file infetto viene aperto
Il nome di virus deriva dal fatto che il programma agisce come un vero e
proprio virus biologico, cioè infetta altri soggetti sani (programmi),
distruggendoli o coabitandoci
Tipologie di Virus:
virus transitorio: viene eseguito (e diffonde la sua infezione) quando il
programma a cui è associato è in esecuzione e termina alla chiusura di
tale programma
virus residente: risiede in memoria, dunque è sempre attivo o si attiva
autonomamente anche quando il programma associato è terminato
Identificazione di Codici Infetti e Tecniche di Protezione dai Virus
worm: modificano il sistema operativo della macchina ospite in modo da essere eseguiti
automaticamente e tentare di replicarsi sfruttando per lo più Internet.
cavalli di troia (trojan horse): eseguiti all'insaputa dell'utilizzatore, per diffondersi devono essere
consapevolmente inviati alla vittima. Il nome deriva dal famoso cavallo di Troia.
backdoor: letteralmente "porta sul retro“, è un software che consente un accesso non autorizzato
al sistema su cui è in esecuzione.
spyware: raccolgono informazioni dal sistema su cui sono installati per trasmetterle ad un
destinatario interessato.
dialer: modificano il numero telefonico chiamato dalla connessione predefinita allo scopo di trarne
profitto all'insaputa dell'utente.
hijacker: si appropriano di applicazioni di navigazione in rete (soprattutto browser) e causano
l'apertura automatica di pagine Web indesiderate.
rootkit: composti da un driver e da copie modificate di programmi presenti nel sistema sono utilizzati
per mascherare spyware e trojan.
rabbit, ossia coniglio, crea copie di sé stesso a grande velocità fino a saturare le risorse del computer
(memoria o disco).
bomba logica: porzione di codice inserito in un programma che si attiva (“esplode”) al verificarsi di
determinate condizioni (data, download, load di un programma o di un dato, apertura di un sito internet).
batterio: programma che quando eseguito invia copie di se stesso ad altri sistemi e utenti; non infetta altri
programmi.
Identificazione di Codici Infetti e Tecniche di Protezione dai Virus
permettono di rilevare e rimuovere anche altre categorie di software maligno
oltre ai virus propriamente detti.
Un virus riunisce in sé tutte le caratteristiche dei programmi citati: un cavallo
di troia nasconde la sua esistenza e si lega ad altri programmi, una bomba
logica si attiva al verificarsi di una certa condizione determinata da una azione
dell’utente, un rabbit si riproduce, worm e batteri si diffondono in altri sistemi.
Virus accodati, i più diffusi: inseriscono una copia di loro stessi in testa al file
eseguibile di un programma. Così le istruzioni malevoli vengono eseguite prima
della naturale esecuzione del programma infetto
Virus che circondano il programma, eseguono il programma originale, ma ne
prendono il controllo prima e dopo la sua esecuzione.
Virus integrati, sono più complessi di altri: riconosce il programma da infettare
per includere frammenti di virus al suo interno.
Virus sostitutivi, operano una vera e propria sostituzione degli obiettivi del
programma simulandone il compito.
Identificazione di Codici Infetti e Tecniche di Protezione dai Virus
Virus del settore avvio, molto diffusi in passato: sfruttano la fase di
bootstrap dell’elaboratore.
Virus residenti in memoria, codice associato ad un codice residente:
viene attivato molte volte quando la macchina è in funzione e, rimanendo
in esecuzione per più tempo, può provocare danni maggiori
Virus polimorfici, codice parassita: in grado di creare maggiori problemi
agli antivirus; cambia il proprio aspetto evitando, per esempio, che le
stringhe che ne identificano la sua presenza compaiono nelle esatte
posizioni in cui vengono ricercate.
Un tipo particolare di virus polimorfico utilizza la crittografia ed è,
pertanto, noto come virus crittografico. E’ composto da tre parti:
una chiave di decifrazione, il codice oggetto del virus
(crittografato) e la procedura di decifrazione (non crittografata).
Virus Hoax (burla, bufala), di recente diffusione: consiste in messaggi
(inviati per posta elettronica), contenenti comunicati o richieste di aiuto
fasullo e ingannevole, che invitano ad essere rispediti al maggior numero
di persone, in modo da aumentarne la diffusione in maniera esponenziale
e congestionare la rete.
Identificazione di Codici Infetti e Tecniche di Protezione dai Virus
Identificazione di Codici Infetti e Tecniche di Protezione dai Virus
Firewall – prima barriera di difesa, possono essere sia di tipo
software sia di tipo hardware
La sua funzionalità principale è fare da filtro
sulle connessioni entranti ed uscenti.
Il firewall:
1. agisce sui pacchetti in transito da e per la
zona interna;
2. è capace di "aprire" il pacchetto IP per
leggere le informazioni presenti sul suo header
(l’inizio del pacchetto IP);
3. in alcuni casi è anche in grado di effettuare
verifiche sul contenuto del pacchetto stesso.
Identificazione di Codici Infetti e Tecniche di Protezione dai Virus
Packet filter (anche detto stateless), si limita a valutare gli header di
ciascun pacchetto, decidendo quali far passare e quali no sulla base delle
regole configurate.
Stateful inspection, tiene traccia di alcune relazioni tra i pacchetti che lo
attraversano, ad esempio ricostruisce lo stato delle connessioni TCP, e
analizza i protocolli che aprono più connessioni
Deep inspection, effettua controlli fino al livello 7 della pila ISO/OSI,
ovvero valutano anche il contenuto applicativo dei pacchetti.
Intrusion Detection System o IDS – è un sistema che analizza il traffico e
tenta di riconoscere possibili attacchi alla sicurezza della rete
E’ composto da tre componenti: uno o più sensori che sono utilizzati per
ricevere le informazioni dalla rete o dai computer, una console utilizzata
per monitorare lo stato della rete e dei computer e un motore che
analizza i dati prelevati dai sensori e provvede a individuare eventuali falle
nella sicurezza informatica.
Identificazione di Codici Infetti e Tecniche di Protezione dai Virus
Gli IDS si dividono in:
Signature Based Intrusion Detection System, identifica le intrusioni
ricercando pattern nel traffico di rete o nei dati generati dalle applicazioni.
Anomaly Based Intrusion Detection System, analizza il funzionamento
del sistema alla ricerca di anomalie e definisce se sono pericolose per
l'integrità del sistema stesso.
Network Intrusion Detection System, analizza il traffico di rete per
identificare intrusioni, permettendo di monitorare non solo un singolo host ma
una rete.
Host Based Intrusion Detection System, analizza l’host alla ricerca di
intrusioni, analizzando file log del sistema, modifiche al file system del PC, ecc.
Hybrid Intrusion Detection System, combina i due approcci: le informazioni
ottenute dagli agenti in esecuzioni sugli host vengono integrate con quelle della
rete.
IDS passivi e IDS attivi (o IPS ossia Intrusion Prevention System): i primi
quando rilevano una violazione della sicurezza la notificano all'operatore; gli IDS
attivi provvedono anche a prendere delle opportune contromisure per eliminare o
comunque isolare la violazione informatica.
Identificazione di Codici Infetti e Tecniche di Protezione dai Virus
è un software che si basa sulla ricerca (in memoria RAM o sui file
memorizzati) di uno schema tipico di uno o più virus.
Si basa sulla cosiddetta definizione, firma o signature; l’efficacia di tali
software è direttamente proporzionale al loro aggiornamento.
A seconda del virus, il software può "disinfettare" il file o la memoria
eliminando completamente il virus oppure è costretto a mettere in
quarantena il file contagiato o a eliminarlo senza la possibilità di
recuperare il file originario.
Quarantena = isolamento dei file corrotti in speciali directory allo scopo di
bloccarne la proliferazione ma consentendone eventualmente l'analisi.
Esempi di programmi antivirus più diffusi:
Avast! - sviluppato dalla Alwil software di Praga
AntiVir - sviluppato dall'azienda tedesca Avira
AVG - prodotto dall'azienda cèca Grisoft
Identificazione di Codici Infetti e Tecniche di Protezione dai Virus
Consideriamo le tecniche di protezione dal codice malevolo in voga alla
luce di alcuni esempi di attacchi particolarmente nuovi e funzionali.
In particolar modo:
gli Evasive Attacks (ossia Attacchi Elusivi), consentono di ridurre
l’esposizione del malware andando così a diminuire enormemente la
possibilità di individuazione e conseguentemente aumentando la
possibilità di infezione; sono attacchi altamente sofisticati con lo scopo
specifico di bypassare i sistemi di sicurezza basati sulle signature (firme
elettroniche che identificano virus e malware).
Identificazione di Codici Infetti e Tecniche di Protezione dai Virus
Web 2.0, uno stato di evoluzione di Internet è l'insieme di tutte le
applicazioni online che permettono uno spiccato livello di interazione sitoutente (blog, forum, chat, sistemi quali Wikipedia, Youtube, Facebook,
Myspace, Gmail).
Maggiore e migliore è l’interattività e più comoda è la via dei malware.
Nasce così l’attacco Trojan 2.0 che fornisce ai cybercriminali uno schema
di controllo estremamente più semplice proprio utilizzando la tecnologia del
Web 2.0 (con i suoi innumerevoli siti ed opportunità).
Identificazione di Codici Infetti e Tecniche di Protezione dai Virus
per analizzare e comprendere cosa il codice intenda effettivamente fare prima
che lo faccia e, se ritenuto malevolo, bloccarlo.
Antivirus con tecnologia euristica - tramite complessi algoritmi crea un
ambiente protetto in cui rendere impossibile il contagio da parte dei virus;
consente di identificare il codice malevolo anche di ultima generazione e non
presente nelle signature che compongono il database degli antivirus.
Prevenzione soprattutto in fase di programmazione, in modo da creare un
codice ritenuto sicuro e dunque difficilmente infettabile.
Proteggersi dallo spam, talvolta causa di veri e propri disastri finanziari
(come ad esempio nel caso del ‘pump-and-dump‘) .
Stabilire Policy di Sicurezza aziendali accompagnate da campagne di
sensibilizzazione e istruzione alla sicurezza informatica dei dipendenti.
Conoscere e non farsi ingannare dal phishing - l’etimologia deriva da una
variante di fishing (letteralmente "pescare" in lingua inglese) e allude all'uso
di tecniche sempre più sofisticate per "pescare" dati finanziari e password di
un utente; è utilizzato per ottenere l'accesso a informazioni personali o
riservate con la finalità del furto di identità mediante l'utilizzo delle
comunicazioni elettroniche.
Identificazione di Codici Infetti e Tecniche di Protezione dai Virus
Virus, worm e trojan sono illegali in quasi ogni parte del mondo, mentre non
si può dire lo stesso per le altre categorie di malware.
In Italia la legge n. 547 del 23 dicembre 1993, in linea con le direttive
comunitarie, ha modificato il codice penale ed il codice di procedura penale
introducendo nuovi articoli in tema di reati informatici. In particolare l'art. 635
del codice penale ("Diffusione di programmi diretti a danneggiare o
interrompere un sistema informatico"), aggiunto dalla citata legge, recita:
“.. Chiunque diffonde, comunica o consegna un programma informatico da lui stesso o
da altri redatto, avente per scopo o per effetto il danneggiamento di un sistema
informatico o telematico dei dati o dei programmi in esso contenuti o ad esso
pertinenti, ovvero l'interruzione totale o parziale del suo funzionamento, è punito con la
reclusione fino a due anni e con la multa sino a lire venti milioni .."
La norma penale è chiaramente applicabile solo a chi diffonde virus
informatici in modo doloso, ovvero con la consapevolezza di farlo e con la
consapevolezza di poter creare dei danni.
E’ necessario citare anche la legge 675/96 che è fondamentale per la tutela
dei dati personali (persona fisica, giuridica, ente o associazione..) e in
genere dei dati sensibili (origine razziale, religione, salute ..). Tale legge è
stata sostituita con la 196/2003 che include anche le tecniche biometriche.
Identificazione di Codici Infetti e Tecniche di Protezione dai Virus
Social Engineering o Ingegneria Sociale ossia lo studio del
comportamento individuale di una persona al fine di carpire delle
informazioni. Le principali fasi dell’attacco sono:
1) Footprinting, una prima fase di raccolta informazioni della vittima;
2) stabilire una base comune per guadagnare la fiducia dell’interlocutore.
Botnet: un insieme di computer connessi tra loro tramite Internet controllati
da un'unica entità, ossia il Botmaster.
I computer costituenti la Botnet sono detti bot o zombie, poiché svolgono
delle operazioni al di la della loro volontà a causa di virus (e più
precisamente trojan) che sono stati inoculati durante una precedente
infezione e consentono al botmaster di controllarli da remoto; i comandi
vengono inviati tramite i canali IRC (Internet Relay Chat) oppure tramite la
rete P2P ossia Peer–to–peer (per esempio tramite Skype); può avere vari
obiettivi, tra cui inoculare malware, carpire informazioni e sferrare attacchi
DDOS.
Identificazione di Codici Infetti e Tecniche di Protezione dai Virus
Il servizio di Monitoring, realizzato nel Network & Security Operations Center (N&SOC)
agisce nel contesto delle attività di controllo e di rilevazione delle anomalie in real-time nella
rete sulla base della raccolta, della correlazione e dell’interpretazione dei log generati da ogni
singolo componente dell’infrastruttura di rete monitorata (su un’ampia scala di diverse
tecnologie interconnesse: wireless, VoIP, digitale terrestre, computer palmari).
Viene garantita, inoltre, la protezione del marchio aziendale mediante cui è possibile
identificare e rivendicare velocemente un’eventuale appropriazione fraudolenta dell’identità
aziendale dovuta a un uso illecito del marchio su Internet.
Identificazione di Codici Infetti e Tecniche di Protezione dai Virus
Prevedere il futuro in uno scenario così mutevole è pressoché impossibile.
Gli utenti continueranno a fronteggiare dure sfide per proteggere e
controllare i propri computer, in quanto i criminali tenteranno di far leva
sulle nuove tecnologie per i propri scopi e causare disagi.
Efficaci norme di sicurezza, una protezione aggiornata e un forte
impegno a sensibilizzare gli utenti possono contribuire a tutelare non
soltanto le reti aziendali, ma anche quelle della singola persona.
E se fossero proprio le software-house, proprietarie degli antivirus, ad
essere gli autori dei virus?
Come sempre la conoscenza porta alla corretta interpretazione e alla
scelta della difesa più efficace.
La sensibilizzazione fa comprendere la pesantezza del problema e
responsabilizza gli utenti.
Ancora una volta “prevenire è meglio che curare”.
Anche se in termini informatici, sempre di virus si parla.
Identificazione di Codici Infetti e Tecniche di Protezione dai Virus
Identificazione di Codici Infetti e Tecniche di Protezione dai Virus