UNIVERSITÀ DEGLI STUDI DI GENOVA



Documenti analoghi
IDS: Intrusion detection systems

Tipologie e metodi di attacco

Antivirus. Lezione 07. A cosa serve un antivirus

Domande e risposte su Avira ProActiv Community

Che cosa è un VIRUS?

Prof. Filippo Lanubile

Nelle reti di calcolatori, le porte (traduzione impropria del termine. port inglese, che in realtà significa porto) sono lo strumento

EXPLOit Content Management Data Base per documenti SGML/XML

e quindi di navigare in rete. line può essere limitato a due persone o coinvolgere un ampio numero

Virus informatici Approfondimenti tecnici per giuristi

Tecnologie Informatiche. security. Rete Aziendale Sicura

Software per Helpdesk

Symantec Insight e SONAR

Proteggiamo il PC con il Firewall di Windows Vista

Consiglio regionale della Toscana. Regole per il corretto funzionamento della posta elettronica

Identità e autenticazione

La VPN con il FRITZ!Box Parte I. La VPN con il FRITZ!Box Parte I

Progettare un Firewall

Ti consente di ricevere velocemente tutte le informazioni inviate dal personale, in maniera assolutamente puntuale, controllata ed organizzata.

Sistemi di Antivirus CEFRIEL. Politecnico di Milano. Consorzio per la Formazione e la Ricerca in Ingegneria dell Informazione. Politecnico di Milano

Sophos Computer Security Scan Guida di avvio

Elementi sull uso dei firewall

Gestione degli accessi al sistema(autenticazione) e ai locali. Analisi del traffico di rete (Firewall, IDS/IPS)

Sicurezza nelle applicazioni multimediali: lezione 9, firewall. I firewall

Titolare del trattamento dei dati innanzi descritto è tsnpalombara.it

Modulo Antivirus per Petra 3.3. Guida Utente

Introduzione a Internet e cenni di sicurezza. Dott. Paolo Righetto 1

Servizi di Sicurezza Informatica. Antivirus Centralizzato per Intranet CEI-Diocesi

SICUREZZA. Sistemi Operativi. Sicurezza

Sistemi Operativi SICUREZZA. Sistemi Operativi. D. Talia - UNICAL 14.1

Firewall applicativo per la protezione di portali intranet/extranet

Aspetti di sicurezza in Internet e Intranet. arcipelago

Agenti Mobili Intelligenti e Sicurezza Informatica Utilizzare un nuovo paradigma applicativo per la realizzazione di sistemi informatici sicuri.

penetration test (ipotesi di sviluppo)

INFORMATION TECNOLOGY. a cura di Alessandro Padovani padoale@libero.it

Firewall, Proxy e VPN. L' accesso sicuro da e verso Internet

Architetture e strumenti per la sicurezza informatica

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0

Informatica per la comunicazione" - lezione 13 -

UTILIZZO DEL SOFTWARE MONITOR

Lo scenario: la definizione di Internet

Dal protocollo IP ai livelli superiori

SICUREZZA INFORMATICA MINACCE

Windows Vista, il nuovo sistema operativo Microsoft che cerca le giuste risposte ai quesiti di sicurezza

Una minaccia dovuta all uso dell SNMP su WLAN

Dispensa di Informatica I.1

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Faber System è certificata WAM School

Sicurezza Aziendale: gestione del rischio IT (Penetration Test )

Il sistema operativo. Sistema operativo. Multiprogrammazione. Il sistema operativo. Gestione della CPU

Worm I worm arrivano come allegato di posta. Se si clicca su allegato il worm inizierà a replicarsi e ad inviarsi a tutta la vostra rubrica.

INDIRIZZI IP ARCHITETTURA GENERALE DEGLI INDIRIZZI IP FORME DI INDIRIZZI IP CINQUE FORME DI INDIRIZZI IP

Istruzioni operative per gli Incaricati del trattamento dei dati personali

Guida di Pro PC Secure

Comunicazione tra Computer. Protocolli. Astrazione di Sottosistema di Comunicazione. Modello di un Sottosistema di Comunicazione

esales Forza Ordini per Abbigliamento

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Reti di Telecomunicazione Lezione 8

Protezione della propria rete

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

Dropbox di classe. É un servizio internet fornito gratuitamente (funzioni base).

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

Requisiti di controllo dei fornitori esterni

ANALISI FORENSE. irecovery_analisi_forence.indd 1 21/01/14 17:48

Il Centro sicurezza PC di Windows Vista Introduzione alla sicurezza

IT Security 3 LA SICUREZZA IN RETE

Capire i benefici di una rete informatica nella propria attività. I componenti di una rete. I dispositivi utilizzati.

Reti di Telecomunicazione Lezione 7

Il glossario della Posta Elettronica Certificata (PEC) Diamo una definizione ai termini tecnici relativi al mondo della PEC.

Il Web Server e il protocollo HTTP

DURC Client 4 - Guida configurazione Firma Digitale. DURC Client 4.1.7

FIREWALL OUTLINE. Introduzione alla sicurezza delle reti. firewall. zona Demilitarizzata

La VPN con il FRITZ!Box Parte I. La VPN con il FRITZ!Box Parte I

Manuale NetSupport v Liceo G. Cotta Marco Bolzon

Informazioni di identificazione personali

2 Dipendenza da Internet Tipi di dipendenza Fasi di approccio al Web Fine del corso... 7

Come proteggere la vostra rete corporate in modo progressivo ed integrato

Database. Si ringrazia Marco Bertini per le slides

Altre misure di sicurezza

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

Sicurezza informatica in azienda: solo un problema di costi?

Sophos. Premessa. Con l evoluzione delle minacce, il controllo è fondamentale. Un offerta completa e sicura. Un servizio esclusivo

DEFENCE in DEPTH. Strategie di riduzione della superficie d attacco e dei rischi informatici

INFORMATIVA SUL DIRITTO ALLA PRIVACY PER LA CONSULTAZIONE DEL SITO WEB

Prova di Esame - Rete Internet (ing. Giovanni Neglia) Prova completa Martedì 15 Novembre 2005

Symantec Protection Suite Small Business Edition Una soluzione semplice, efficace e conveniente progettata per le piccole aziende

FTP. Appunti a cura del prof. ing. Mario Catalano

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

ANNO SCOLASTICO

Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste

List Suite 2.0. Sviluppo Software Il Telefono Sas 10/06/2010

OmniAccessSuite. Plug-Ins. Ver. 1.3

Impostare il browser per navigare in sicurezza Opzioni di protezione

SICUREZZA INFORMATICA

IL SERVIZIO DI POSTA ELETTRONICA

Creare una Rete Locale Lezione n. 1

Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca. Parte II Lezione 5

Al termine del lavoro ad uno dei componenti del gruppo verrà affidato l incarico di relazionare a nome di tutto il gruppo.

Reti di Telecomunicazioni Mobile IP Mobile IP Internet Internet Protocol header IPv4 router host indirizzi IP, DNS URL indirizzo di rete

Transcript:

UNIVERSITÀ DEGLI STUDI DI GENOVA FACOLTÀ DI INGEGNERIA CORSO DI LAUREA SPECIALISTICA IN INGEGNERIA ELETTRONICA TESI DI LAUREA Sviluppo di tecniche di clustering e log correlation dedicate al trattamento intelligente dei dati per la difesa preventiva e reattiva di infrastrutture informatiche critiche Relatore: Chiar.mo Prof. Ing. Rodolfo ZUNINO Correlatore: Ing. Ermete MEDA Candidati: Vito IOVANE Edoardo TORREGGIANI Anno accademico 2009-2010 24 settembre 2010

Abstract Development of clustering and log-correlation techniques for intelligent data processing in order to preventively and reactively defend critical computer infrastuctures. This thesis concerns the automatic search for network attacks towards critical computer infrastructures (the network of a railway system). We focused on clustering log files, which are specific files automatically generated by network analyzers and which contain attack-related information. The files we worked on were in the Intrusion Detection Message Exchange Format (IDMEF), which is a network security format described by RFC 4765 and implemented in the extensible Markup Language (XML). In our work we added log-clustering IDMEF-focused capabilities to an already existing data mining environment (SLAIR) and we tested the performances of this module on publicly avaiable datasets. I

II Alla Commissione di Laurea e Diploma Alla Commissione Tirocini e Tesi Sottopongo la tesi redatta dagli studenti Vito Iovane e Edoardo Torreggiani dal titolo Sviluppo di tecniche di clustering e log correlation dedicate al trattamento intelligente dei dati per la difesa preventiva e reattiva di infrastrutture informatiche critiche. Ho esaminato, nella forma e nel contenuto, la versione finale di questo elaborato scritto, e propongo che la tesi sia valutata positivamente assegnando i corrispondenti crediti formativi. Il Relatore Accademico Prof. Rodolfo Zunino

Prefazione Questa tesi riguarda la ricerca automatica di attacchi informatici verso un infrastruttura di rete di un sistema critico (rete ferroviaria). Il nostro lavoro si è concentrato sulla suddivisione in cluster di file di log, ovvero particolari file in cui gli analizzatori di rete registrano il verificarsi e le caratteristiche di attacchi informatici. Abbiamo lavorato con file di tipo IDMEF (Intrusion Detection Message Exchange Format), il quale è uno standard nel settore della sicurezza delle reti descritto dalla RFC 4765 e definito in linguaggio XML (extensible Markup Language). Nell ambito della nostra tesi si sono aggiunte funzionalità di log clustering mirate al formato IDMEF ad un ambiente di data mining già esistente (SLAIR) e si sono verificate le prestazioni di questo modulo su dataset prelevati dalla rete. III

Ringraziamenti Vogliamo qui ringraziare tutti coloro che ci hanno assistito ed aiutato nel corso di tutti questi mesi di studio. In particolare ringraziamo il nostro relatore Prof. Rodolfo Zunino con il quale abbiamo ideato e sviluppato il nostro lavoro e che con la sua disponibilità ci ha permesso di superare tutti i problemi e le difficoltà incontrati in questo periodo. Ringraziamo anche gli Ingg. Fabio Sangiacomo e Alessio Leoncini per la loro pazienza nei nostri confronti e per le loro sempre utili delucidazioni che sono state di insegnamento e di supporto allo sviluppo del nostro lavoro. Infine un grazie va sicuramente a tutti i nostri amici e colleghi con i quali abbiamo condiviso gioie e dolori in questi cinque anni universitari, in particolare: Andrea, Francesco, Ilir, Luca, Lucio, Michele. Grazie ragazzi! Vito e Edoardo Grazie ai miei genitori per essermi stati vicino ed avermi aiutato in questi cinque anni: non è stato facile, ma anche grazie a loro sono passati più serenamente. Grazie a Edoardo: questi dieci mesi di lavoro sono stati lunghi, ma alla fine ce l abbiamo fatta! Grazie infine a tutti coloro che mi volevano bene che cinque anni fa c erano, e ora non ci sono più. Vito IV

V Un ringraziamento introduttivo va sicuramente alla mia famiglia che mi ha sostenuto per questi cinque anni di studi e mi ha aiutato a crescere insegnandomi i veri valori della vita: mamma, papà, sorella, nonno, zia, e tutti gli altri. Il pensiero va anche a tutti i miei amici più cari con cui ho passato questi anni e che mi hanno sempre voluto bene nonostante le mie assenze. Ringrazio Vito il mio collega e socio di tanti giochi e lavori prima scolastici e poi universitari, il quale pazientemente ha sopportato tutti i miei continui ritardi (scusa!). Infine il ringraziamento più grande è rivolto alla mia ragazza Virginia che con il suo amore, la sua gentilezza e la sua energia mi ha fatto vivere questi anni meravigliosi in un ambiente sereno e costruttivo. Ti ringrazio con tutto il cuore. Vi voglio bene! Edoardo

Indice Abstract I Prefazione III Ringraziamenti IV Indice VI Elenco delle figure IX 1 Introduzione 1 2 Sicurezza dei sistemi 4 2.1 Un attacco tradizionale................................ 5 2.2 Una tassonomia degli attacchi............................ 6 2.2.1 Attacchi Denial of Service (DoS)....................... 7 2.2.2 Probe (sorveglianza, scansione)....................... 7 2.2.3 Compromissioni................................ 9 2.2.4 Virus, worms, trojan............................. 10 2.3 Difesa in profondità.................................. 12 2.3.1 Controllo degli accessi............................ 12 2.3.2 Verifiche di vulnerabilità e applicazione di patch............. 13 2.3.3 Chiusura delle porte............................. 13 2.3.4 Firewall..................................... 14 VI

INDICE VII 2.3.5 Strumenti antivirus e antispyware..................... 14 2.3.6 Filtri antispam................................. 16 2.3.7 Honeypot.................................... 17 2.3.8 Controllo degli accessi alla rete....................... 17 2.3.9 Quarantena.................................. 17 2.4 Gli intrusion detection system (IDS) e gli intrusion prevention system (IPS).. 18 2.4.1 Tecniche degli IDPS per l individuazione di attacchi........... 20 2.4.2 Componenti di un IDPS........................... 22 2.4.3 Tipi di tecnologie IDPS............................ 23 2.4.4 Approcci per la realizzazione degli IDS.................. 24 3 Intrusion detection message exchange format (IDMEF) 29 3.1 Il modello dei dati IDMEF............................... 30 3.2 Il documento IDMEF-XML (Tipi di dato)...................... 32 3.3 Il modello dei dati IDMEF............................... 33 3.3.1 La classe IDMEF-Message.......................... 34 3.3.2 La classe Alert................................. 34 3.3.3 La classe Heartbeat.............................. 37 3.3.4 Le classi fondamentali............................ 38 3.3.5 Le classi Time, Assessment e le classi di supporto............. 42 4 Correlazione degli allarmi 44 4.1 Approcci alla correlazione degli allarmi....................... 45 4.1.1 Normalizzazione............................... 45 4.1.2 Aggregazione................................. 47 4.1.3 Correlazione.................................. 48 4.1.4 Riduzione dei falsi allarmi.......................... 49 4.1.5 Analisi della strategia di attacco....................... 50 4.1.6 Assegnamento delle priorità......................... 50 4.2 Clustering di documenti................................ 51

INDICE VIII 4.2.1 Clustering basato sul kernel k-means.................... 52 5 Il modulo IDMEF per l ambiente SLAIR 54 5.1 L ambiente text mining: SLAIR............................ 54 5.1.1 La struttura.................................. 55 5.1.2 Funzionamento................................ 56 5.2 Il Modulo IDMEF.................................... 58 5.2.1 Il caricamento dei file............................. 59 5.2.2 Il gestore dei file................................ 60 5.2.3 La metrica................................... 61 5.2.4 Il clustering.................................. 62 6 Risultati 64 6.1 Verifica del funzionamento del modulo....................... 64 6.2 La suddivisione in cluster............................... 67 6.3 Tempi di calcolo.................................... 75 7 Conclusioni e sviluppi futuri 76 7.1 Strumenti utilizzati................................... 76 7.2 Sviluppi futuri..................................... 77 A Il DTD IDMEF 82 Bibliografia 93

Elenco delle figure 2.1 Schema di un attacco SYN flood.............................. 8 2.2 Schema di un attacco DDoS................................. 8 2.3 Risultato di una scansione tramite Nmap......................... 9 2.4 Confronto tra i tipi di programmi pericolosi più diffusi................. 10 2.5 Nuove firme scoperte tra il 2002 ed il 2009........................ 15 2.6 Settori maggiormente colpiti dal phishing........................ 16 2.7 Rete protetta da un IDS e da alcuni firewall....................... 18 2.8 Alcuni approcci per la realizzazione di IDS........................ 24 3.1 Diagramma UML delle principali classi del modello IDMEF.............. 34 3.2 Diagramma UML che illustra le classi che compongono un messaggio Alert.... 36 3.3 Diagramma UML che illustra le classi che compongono un messaggio Heartbeat.. 38 4.1 Fasi di cui si compone la correlazione degli allarmi................... 46 5.1 L avvio dell ambiente SLAIR................................ 58 5.2 Le possibilità di clustering proposte da SLAIR...................... 58 6.1 Il dump del primo file IDMEF caricato........................... 66 IX

Capitolo 1 Introduzione In questi anni si è assistito ad una sempre maggiore espansione degli strumenti di comunicazione digitale, in particolare delle comunicazioni via rete pubblica (Internet) e delle comunicazioni via reti private (gestione/monitoraggio telematico di infrastrutture, reti aziendali...). Attualmente i computer e le workstation sono presenti in quasi tutti gli uffici e le case, Internet è sempre più diffuso e sempre più sono le transazioni e le attività commerciali che sono basate sul Web. Grazie ad una così estesa diffusione delle reti, l utente di un sistema informatico può essere praticamente chiunque nel mondo. Questo sviluppo ha condotto ad un ambiente su cui nessuno, né l amministratore di rete, né il singolo utente ha il controllo: per questo si rendono necessari sistemi che forniscano protezione dal punto di vista tecnico, procedurale, operativo ed ambientale contro il maggior numero possibile di minacce, come attacchi sferrati da singoli utenti o da intere organizzazioni nazionali od internazionali. Vari sono i motivi che spingono a violare un sistema informatico: la soddisfazione intellettuale personale, la ricerca di un vantaggio economico, la vendetta, la disobbedienza civile od altre ragioni. I controlli di sicurezza devono essere in grado di gestire circostanze in cui non esiste alcuna forma di controllo, poiché il bacino di utenti dal quale un attacco può essere generato si è ingrandito inglobando utenti di tutto il mondo. La sicurezza informatica può essere paragonata ad una assicurazione: in entrambi i casi si deve affrontare un ambiente pieno di pericoli, conosciuto solo superficialmente e che può ge- 1

CAPITOLO 1. INTRODUZIONE 2 nerare molti attacchi; gli esatti dettagli ed il momento preciso in cui l attacco avviene però non possono essere noti se non dopo che si è verificato. Essendo il mondo moderno basato su flussi di informazioni, la nostra società e le istituzioni non possono funzionare senza sistemi informativi basati sui calcolatori: questi sistemi devono perciò essere protetti sotto ogni punto di vista, ed il possessore del sistema nonché il suo staff diventano responsabili della protezione delle informazioni custodite. Il progresso nella sicurezza informatica è stato lento, essenzialmente a causa di una errata percezione della reale pericolosità delle minacce, ma anche perché il costo della sicurezza di un sistema informatico spesso è apparso troppo elevato rispetto ai rischi che si corrono in mancanza di una protezione adeguata, ed in particolare rispetto alle conseguenze economiche. Negli ultimi anni sono stati sviluppati diversi strumenti con lo scopo di proteggere le reti ed i sistemi dagli attacchi e dalle minacce: strumenti per la protezione dei singoli host, quali antivirus, personal firewall, filtri antispam; strumenti per la protezione di reti come i firewall hardware, gli intrusion detection system, IPSec. Questi strumenti offrono diversi servizi legati alla sicurezza, da quelli che proteggono dai singoli attacchi ai servizi di analisi del traffico. In quest ultimo caso è necessario che tali servizi producano dei resoconti che descrivano lo stato e le minacce rilevate sulle reti analizzate in modo che gli amministratori di rete possano più agevolmente individuare i punti critici dell infrastruttura e porvi rimedio se possibile. Per agevolare la comunicazione tra gli strumenti di sicurezza e fornire ulteriori servizi ai gestori di rete, l IDWG (Intrusion Detection Working Group) ha introdotto un formato standard, IDMEF (Intrusion Detection Message Exchange Format) nel quale vengono registrate informazioni relative agli attacchi subiti e allo stato della rete. A questo punto sorge il problema di come gestire i file IDMEF prodotti dagli analizzatori: l amministratore di rete si può trovare di fronte ad una quantità enorme di informazioni e file, i quali non solo possono non essere di facile interpretazione, ma se presi singolarmente difficilmente chiariscono la reale situazione della rete. A partire da questo problema, si rendono necessari dei tool che effettuino una correlazione tra i dati, ovvero li presentino all amministratore in modo più compatto e di più facile interpretazione. Il nostro lavoro si inserisce in questo ambito e si pone l obiettivo di sviluppare un modulo che effettui clustering su allarmi

CAPITOLO 1. INTRODUZIONE 3 di tipo IDMEF in modo tale da riassumere in un unico resoconto le informazioni in input ed evidenziare ulteriori pericoli o situazioni critiche che i singoli allarmi non possono mettere in luce. Tra gli approcci che si possono seguire nello sviluppare un tool di questo genere, per il lavoro di questa tesi se ne è scelto uno che si basa su tecniche tipiche del data mining. Il nostro modulo va ad inserirsi in un ambiente di text mining già esistente, il quale è stato sviluppato presso il laboratorio SEA Lab (Smart Embedded Application Laboratory) dell Università di Genova. Tale ambiente si chiama SLAIR (SEA Lab Advanced Information Retrieval): lavora specialmente su file di tipo testuale e a partire da essi produce alberi ordinati divisi per argomento. Gli algoritmi che costituiscono il cuore di questo ambiente sono quelli relativi a tecniche di clustering e più in generale di machine learning. Noi ci siamo dedicati ad ampliare il suddetto ambiente con una nuova funzionalità che permette di clusterizzare file IDMEF: dopo una prima fase iniziale volta a prendere confidenza con questo ambiente, si è realizzata una nuova metrica che descrive questi particolari file e costituisce il nucleo del nostro modulo. La presente tesi illustra il lavoro di ricerca svolto ed è organizzata come segue: nel capitolo 2 sono presentate alcune minacce comuni verso le reti ed i sistemi informatici, insieme a strumenti sviluppati per contrastare tali pericoli; nel capitolo 3 è descritto il formato IDMEF, illustrandone le caratteristiche principali; il capitolo 4 offre una panoramica delle tecniche di correlazione degli allarmi più diffuse, tra le quali viene dato un certo spazio al metodo di clustering impiegato in SLAIR ed è presentato l algoritmo del kernel k-means; nel capitolo 5 sono presentate con maggiore dettaglio le varie fasi della realizzazione del modulo per il clustering degli allarmi IDMEF aggiunto all ambiente SLAIR; nel capitolo 6 sono illustrati i risultati ottenuti al termine del nostro lavoro, mentre il capitolo 7 offre dei possibili spunti per futuri sviluppi od ampliamenti del modulo realizzato.

Capitolo 2 Sicurezza dei sistemi La presenza sempre maggiore di computer collegati ad Internet, per poter usufruire o offrire servizi diventati ormai essenziali, quali la posta elettronica, l accesso remoto, il VoIP, espone gli utenti ad una vasta gamma di rischi: l intrusione di malintenzionati (hacker, cracker, ecc...) può avere come effetto l eliminazione di file di sistema o di dati importanti, l introduzione di virus, la sottrazione di informazioni confidenziali o di segreti industriali, la manipolazione di informazioni aziendali, solo per citare qualche esempio. Le minacce possono arrivare anche dall interno della rete: se un utente scarica in buona fede un file infettato da un virus, questo si può rapidamente diffondere all intera rete, con effetti potenzialmente molto pericolosi. Si è pertanto reso necessario l impiego di dispositivi che, da soli o usati in maniera combinata, forniscano protezione ai sistemi contro la maggior parte delle minacce possibili, giacché contro la totalità sarebbe impossibile. Accanto a strumenti che bloccano gli accessi alla rete sulla base di alcune regole, come i firewall, si possono predisporre altri sistemi (intrusion detection system, liste di controllo degli accessi sui router, sistemi antivirus e antivirus sui computer host), ognuno dei quali costituisce un livello dell intero sistema di sicurezza: in questo modo se anche un livello è compromesso, non lo è la sicurezza del sistema nel suo complesso, e questo può servire da deterrente contro gli attacchi. 4

CAPITOLO 2. SICUREZZA DEI SISTEMI 5 2.1 Un attacco tradizionale Analogamente a quanto avviene per un attacco fisico, anche gli attacchi informatici tipicamente si svolgono secondo le seguenti fasi: conoscenza dell obiettivo, compromissione dell obiettivo, mantenimento del controllo senza farsi scoprire [8]. La prima fase ha lo scopo di acquisire quante più informazioni possibili sull obiettivo, soprattutto le sue debolezze, che faciliteranno l attacco. Attraverso ping e traceroute si può realizzare una mappa della rete dell obiettivo (o dell area intorno ad esso) comprensiva degli indirizzi IP (Internet Protocol), mentre effettuare una scansione delle porte (port scan) rivela quali sono aperte e può anche suggerire se e quali attacchi sono stati portati in passato. Una miglior conoscenza del target si può ottenere attraverso strumenti che individuano il sistema operativo in uso, come Nmap scanner 1, o che cercano vulnerabilità note, come SAINT, SARA, SATAN e Nessus 2. Nella seconda fase di un attacco diretto si cerca di compromettere l obiettivo. Un attacco sulle password è comune, perché spesso esse sono parole comuni, facilmente individuabili tramite un attacco a dizionario, o perché, se si entra in possesso del file delle password, si può risalire ad esse tramite un attacco a forza bruta. Un altro attacco comune è quello che ricorre alle vulnerabilità tramite gli exploit, porzioni di codice che sfruttano proprio queste vulnerabilità per portare gli attacchi: esse sono pubblicate periodicamente e valutate con un particolare punteggio da organizzazioni come CERT e MITRE 3, e per numerose vulnerabilità è disponibile pubblicamente anche il codice di exploit; rientrano in questa categoria attacchi come i buffer overflow e le SQL injection (soprattutto per i Web server). Per quanto comuni, gli exploit non sono l unico modo per portare un attacco: si può ricorrere a pratiche di ingegneria sociale (social engineering), in cui si inganna il target, ad esempio tramite phishing (per il furto di identità 1 Network mapper scanner: http://nmap.org/ 2 Security Administrator s Integrated Network Tool (SAINT): http://www.saintcorporation. com/ Security Auditor s Research Assistant (SARA): http://www-arc.com/sara/ Security Administrator Tool for Analyzing Networks (SATAN): http://www.porcupine.org/satan/ Nessus: http://www.nessus.org/nessus/ 3 Computer Emergency Response Team (CERT): http://www.cert.org/ MITRE: http://www.mitre.org/

CAPITOLO 2. SICUREZZA DEI SISTEMI 6 o di altri dati importanti) o tramite messaggi di spam che recano un allegato pericoloso. La terza fase dell attacco consiste nel coprire le tracce dell attacco portato (ad esempio manipolando opportunamente i registri di sistema del target) e nel mantenere il controllo del sistema senza essere scoperti (grazie a malware, come backdoor, trojan per il controllo remoto, rootkit e bot). Esistono varie tecniche per poter comunicare con il target compromesso senza essere individuati dai sistemi predisposti, ovvero gli intrusion detection system (IDS): il tunneling, ovvero l incapsulamento dei pacchetti di un protocollo nei payload di un altro pacchetto; la cifratura, in cui la chiave per cifrare i messaggi è conosciuta solo dall intrusore e dal target; la frammentazione dei pacchetti IP, che confonde l IDS soprattutto se effettuata in grande quantità. Tuttavia, grazie anche a IDS sempre più efficaci, sembra che questi attacchi diretti stiano divenendo meno diffusi e siano rimpiazzati da attacchi basati sul Web, meno rumorosi e perciò più difficili da individuare: attacchi di questo genere sono il già citato phishing e il drive by download, nel quale al visitatore di un sito all apparenza normale, ma molto spesso compromesso, è proposto di scaricare del malware, spesso camuffato e spacciato come software non pericoloso per non insospettire l utente. 2.2 Una tassonomia degli attacchi Ormai da molti anni si cerca di creare una tassonomia degli attacchi informatici: ai primi tentativi degli anni Settanta (ad esempio [2]) sono seguite molte altre proposte, sempre più complesse per via del sempre maggior numero di attacchi scoperti. Sebbene una tassonomia completa e definitiva non sarà probabilmente realizzabile, uno studio piuttosto recente [25] ha cercato di crearne una piuttosto generale, basandosi anche su analoghi lavori del passato. La classificazione degli attacchi in base al tipo è una delle strade più comuni. Si possono individuare i seguenti tipi: attacchi Denial of Service (DoS); probe; compromissioni; virus, worms, trojan.

CAPITOLO 2. SICUREZZA DEI SISTEMI 7 2.2.1 Attacchi Denial of Service (DoS) Questo tipo di attacchi (la cui traduzione letterale è negazione del servizio ) tentano di spegnere un computer o interrompere una rete o un servizio, o altrimenti tentano di negare l accesso di risorse e servizi agli utenti autorizzati. Esistono due tipi di attacchi DoS: gli attacchi ai sistemi operativi, che sfruttano vulnerabilità presenti nei sistemi operativi (spesso eliminabili tramite l applicazione di patch v. sezione 2.3.2), e gli attacchi alla rete, che sfruttano limitazioni presenti nei protocolli e nelle infrastrutture di rete. Un esempio per il primo caso è teardrop, che sfrutta una vulnerabilità del codice di riassemblamento dei frammenti TCP/IP che non gestisce correttamente la sovrapposizione di frammenti IP. Per gli attacchi alla rete, si può portare l esempio dell attacco SYN flood (fig. 2.1), che usa l handshake a tre vie per stabilire una connessione: usando l IP spoofing, l intrusore crea molte connessioni half-open, per le quali invia dei pacchetti SYN (con l indirizzo IP falso) alla vittima; questa memorizza la richiesta di apertura della connessione in una struttura dati e risponde con un pacchetto SYN/ACK, che però non arriva a destinazione (perché l indirizzo IP è falso o perché l intrusore rifiuta questro pacchetto), pertanto la vittima non può ricevere il pacchetto ACK. Anche se la struttura dati viene periodicamente ripulita da voci come questa, il malintenzionato cerca di crearne a sufficienza da produrre un segmentation fault o un blocco della macchina. Una variante del DoS è il DoS distribuito (DDoS, fig. 2.2), nel quale più computer cercano di ottenere lo stesso obiettivo perseguito dal DoS. Per contrastare questi attacchi sono state studiate diverse soluzioni, essenzialmente: meccanismi di individuazione e riconoscimento di attività di DoS in corso e meccanismi di risposta per mitigare gli effetti di un DoS (come l identificazione dell origine dell attacco attraverso tecniche di tracciamento a ritroso). 2.2.2 Probe (sorveglianza, scansione) In questi attacchi gli indirizzi IP di una rete sono soggetti ad una scansione mirata a raccogliere informazioni su di essi, quali i servizi offerti ed il sistema operativo in uso. In questo modo, il malintenzionato può risalire alle vulnerabilità note e sfruttarle per portare un attacco.

CAPITOLO 2. SICUREZZA DEI SISTEMI 8 Figura 2.1. Schema di un attacco SYN flood (fonte: [10]). Figura 2.2. Schema di un attacco DDoS (fonte: [29]). Esempi di probe sono IPsweep (in cui si effettua la scansione per cercare un servizio su una porta in particolare), portsweep (scansione di molte porte per cercare i servizi offerti da un

CAPITOLO 2. SICUREZZA DEI SISTEMI 9 certo host), Nmap (uno strumento per determinare la mappa di una rete, fig. 2.3). Figura 2.3. Risultato di una scansione tramite Nmap. Contro questi attacchi esistono metodi semplici, che cercano quegli indirizzi IP che effettuano più di un certo numero di connessioni in un intervallo di tempo definito; questi metodi, però, non funzionano con attacchi più sofisticati e silenziosi, in cui la frequenza delle connessioni è più ridotta, e contro i quali esistono alcune tecniche basate sulla raccolta di statistiche. 2.2.3 Compromissioni In questi attacchi si sfruttano vulnerabilità come i buffer overflow e punti deboli del sistema per ottenere un accesso privilegiato all host. A seconda che l attacco sia portato dall interno o dall esterno del sistema, si parla di: attacchi R2L (Remote to Local), in cui l intrusore invia pacchetti alla vittima attraverso una rete, spesso Internet, e riesce a guadagnare l accesso alla macchina. Esempi di questa categoria sono gli attacchi a dizionario, i guest attacck e i phf attack; attacchi U2R (User to Root), in cui si sfrutta un baco o una vulnerabilità del sistema operativo o di un programma installato per aumentare i privilegi di un dato account di

CAPITOLO 2. SICUREZZA DEI SISTEMI 10 una macchina (che può arrivare ad avere i privilegi di root). In questo caso la minaccia, che arriva direttamente dall interno, spesso consiste negli attacchi buffer overflow, che cercano di danneggiare dati memorizzati in certe porzioni di memoria (buffer) andando a sovrascriverle di proposito e ottenendo così all utente i privilegi di amministratore. Gli attacchi buffer overflow possono anche rintrare nella categoria degli R2L. 2.2.4 Virus, worms, trojan Si tratta di programmi che si replicano sugli host e si diffondono attraverso la rete. Sebbene questi programmi abbiano caratteristiche diverse fra loro, non sempre si riesce ad identificare una minaccia con uno solo di essi: ad esempio, Love Bug è allo stesso tempo un trojan, perché finge di essere una lettera d amore ma è un programma pericoloso; è un virus, perché infetta tutte le immagini presenti sul computer vittima rendendole a loro volta trojan; ed è un worm, perché si propaga attraverso Internet nascondendosi nei trojan che spedisce usando la rubrica della posta elettronica, IRC, ecc... Figura 2.4. Confronto tra i tipi di programmi pericolosi più diffusi (fonte: [11]).

CAPITOLO 2. SICUREZZA DEI SISTEMI 11 Virus I virus sono programmi che si riproducono attaccando (infettando) altri programmi. Possono creare danni di lievi, come la comparsa di semplici scritte sul monitor, o gravi, come la cancellazione di interi settori del disco rigido (virus Michelangelo), ma richiedono l interazione umana per attivarsi e diffondersi. Un virus ha diverse caratteristiche e non è facile dividerli per categorie; alcuni tentativi sono comunque stati fatti, tra cui quello in [23], che tiene in considerazione l ambiente, il sistema operativo, i diversi algoritmi impiegati e le capacità distruttive. Worms I worms sono programmi che si auto-replicano e diffondono attraverso una rete, sfruttando le funzionalità di invio e ricezione automatica dei pacchetti. Si possono suddividere in alcune categorie: worms tradizionali, che usano connessioni di rete per diffondersi senza richiedere l intervento umano; worms della posta elettronica (e di altre applicazioni client), come Melissa, che infettano gli host sulla rete (Internet) attraverso la posta elettronica o altre applicazioni client; worms della condivisione file di Windows, come ExploreZip, che si auto-replicano utilizzando il servizio peer-to-peer di Microsoft Windows, che si attiva ogni volta che un nuovo dispositivo di rete è individuato. Questo worm spesso si accompagna ad altri attacchi, come virus; worm ibridi, come Nimda, che sfruttano diverse vulnerabilità che rientrano nelle categorie appena esposte. Nimda, ad esempio, per diffondersi utilizza la posta elettronica, i dispositivi di archiviazione condivisi in rete, la scansione di backdoor aperte da altri worm.

CAPITOLO 2. SICUREZZA DEI SISTEMI 12 I worm possono essere utilizzati per lanciare attacchi DoS (li0n è stato usato per attacchi DDoS e Code Red per attacchi TCP SYN), e per il futuro questi attacchi potrebbero essere sempre più di frequente parte del payload dei worm. Trojan I trojan (dall inglese Trojan horse, cavallo di Troia ) sono programmi pericolosi che si camuffano da programmi innocui. Per esempio, possono sembrare giochi gratuiti che, quando eseguiti, cancellano interamente il disco fisso. Di solito le vittime scaricano i trojan (come Silk Rope e Saran Wrap) da siti Internet o tramite programmi di file sharing o instant messaging. 2.3 Difesa in profondità Sebbene una difesa totale dagli attacchi non sia ottenibile, i dati più importanti possono comunque essere protetti adottando la strategia della difesa in profondità: tra i dati ed il possibile malintenzionato si interpongono vari livelli di difesa che, pur essendo singolarmente abbattibili, se posti in serie possono scoraggiare l intrusore, a causa del tempo e delle risorse necessari per superarli tutti. Per ogni livello di difesa si possono usare varie tecnologie: firewall, IDS, router con lista di controllo degli accessi (o ACL, Access Control List), antivirus, controllo degli accessi, filtri antispam. Le attività volte a mantenere la sicurezza si possono dividere in due categorie: quelle preventive, che includono la valutazione delle vulnerabilità, l applicazione di patch, l irrobustimento dei sistemi (chiusura di porte non necessarie) ed il controllo degli accessi, e quelle reattive, che dovrebbero individuare le attività pericolose, bloccare gli attacchi, isolare le risorse più importanti e tracciare gli intrusori. 2.3.1 Controllo degli accessi Il controllo degli accessi consiste in una serie di meccanismi che consentono agli utenti di eseguire azioni fino ai livelli per i quali sono autorizzati, mentre vietano loro quelle per le

CAPITOLO 2. SICUREZZA DEI SISTEMI 13 quali non hanno autorizzazione. Tra questi meccanismi vi sono: l autenticazione degli utenti, ovvero la verifica della loro identità tramite qualcosa che l utente sa (password, PIN), che ha (token), qualcosa che è (identificatori biometrici); l autorizzazione dei loro privilegi, ovvero stabilire quali azioni un utente autenticato può eseguire (lettura, scrittura, esecuzione di file); l auditing e la registrazione delle azioni degli utenti. 2.3.2 Verifiche di vulnerabilità e applicazione di patch Le vulnerabilià, ovvero debolezze nel software sfruttando le quali si può portare un attacco, interessano tutti i tipi di sistemi operativi e applicazioni; quando una vulnerabilità è pubblicata (tipicamente dal produttore del software), spesso è accompagnata da una patch, cioè una correzione che deve essere applicata al software in modo da eliminare quella vulnerabilità. Sebbene la pubblicazione delle vulnerabilità possa avvantaggiare i malintenzionati, d altro canto essa consente agli amministratori di sistema di prendere le dovute precauzioni: attraverso una verifica delle vulnerabilità condotta sulla rete del proprio sistema, un amministratore può conoscere le configurazioni dei computer presenti, individuare vulnerabilità presenti e correggerle se esiste una patch apposita. 2.3.3 Chiusura delle porte Le applicazioni comunicano a livello di trasporto (usando i protocolli TCP e UDP) attraverso i numeri di porta: i numeri da 1 a 1023 sono usati per servizi stabiliti dalla Internet Assigned Numbers Authority (IANA), quelli da 1024 a 49151 sono usati da varie applicazioni utente, mentre i numeri da 49152 a 65535 sono usati dinamicamente dalle applicazioni. Una buona pratica consiste nel chiudere le porte non necessarie, specialmente quelle con i numeri più alti, anche se un intrusore può riuscire ad infiltrarsi attraverso le porte che devono necessariamente rimanere aperte.

CAPITOLO 2. SICUREZZA DEI SISTEMI 14 2.3.4 Firewall Un firewall è uno strumento che protegge una rete da minacce esterne, attraverso un opportuno filtraggio del traffico in ingresso e in uscita. I firewall possono essere dispositivi indipendenti, posti all ingresso di una rete per proteggerla, o software installati su PC, che dunque proteggono solo quell host. Sebbene esistano vari tipi di firewall (a filtraggio di pacchetti, proxy e stateful firewall), per essere efficaci tutti richiedono un buon insieme di regole, scritte correttamente. I firewall a filtraggio di pacchetti (packet-filtering firewall) analizzano i pacchetti in entrata e in uscita e decidono se lasciar passare o bloccare i pacchetti in base alle regole fornite, che di solito controllano le porte, i protocolli, gli indirizzi IP ed altri attributi degli header dei pacchetti. Questi firewall sono stateless, ovvero non tengono traccia dei pacchetti analizzati. Gli stateful firewall riescono a riconoscere i pacchetti che appartengono ad uno stesso flusso di traffico e a tener traccia dello stato di una connessione, lavorando al livello di rete. I proxy firewall possono lavorare fino al livello di applicazione, poiché sono in grado di riconoscere certe applicazioni e di capire se un protocollo non desiderato sta usando una porta non standard o se si sta abusando di un protocollo di livello applicazione. Funzionano come gateway primari da una rete interna verso Internet, proteggendo così la rete stessa. I firewall sono dispositivi estremamente importanti per la protezione di una rete, ma ne proteggono solo il perimetro: per questo non sono efficaci se l attacco riesce a superare il perimetro o se arriva dall interno della rete stessa. 2.3.5 Strumenti antivirus e antispyware A causa della grande espansione del malware, si sono resi necessari strumenti antivirus in grado di indentificare le minacce, rimuoverle e proteggere l host da nuove future infezioni. L individuazione può avvenire attraverso vari modi, tra i quali il più semplice consiste nella scansione dei file: si confrontano i bytes del file con delle firme (signatures) conosciute, appartenenti a malware conosciuto. Questa tecnica richiede però di aggiornare costantemente il database delle firme, in modo che si possano riconoscere le ultime minacce conosciute, ma

CAPITOLO 2. SICUREZZA DEI SISTEMI 15 contro le più recenti si potrebbe comunque non essere protetti (per avere un idea di quante nuove minacce sono annualmente scoperte, si possono consultare idati riportati in figura 2.5). Figura 2.5. Nuove firme di minacce scoperte tra il 2002 ed il 2009 (fonte: [11]). Un altro approccio individua il malware in base al suo comportamento: tutto ciò che compie azioni pericolose diventa sospetto e potenzialmente malware. Questo approccio supera gli svantaggi delle firme perché permette di trovare minacce anche molto recenti; tuttavia, può essere complicato descrivere cosa è sospetto e, ancor più, cosa è pericoloso: per questo si sviluppano delle regole euristiche per riconoscere i sospettati, mentre i casi pericolosi si scoprono con analisi più approfondite. I sistemi antispyware sono una categoria di antivirus specializzati. Lo spyware può effettuare numerose modifiche pericolose nei file di sistema e, più in generale, in tutto il disco fisso. Tipicamente i sistemi infettati hanno parecchi spyware, a volte anche in certi cookies.

CAPITOLO 2. SICUREZZA DEI SISTEMI 16 2.3.6 Filtri antispam I messaggi di spam sono e-mail non richieste, spedite in grandi quantità e di natura prevalentemente commerciale. Costituiscono un problema poiché una piccola minoranza dei destinatari risponde a questi messaggi, rendendo lo spam lucroso a chi lo pratica. Oltre ad essere fastidioso per gli utenti ed a sprecare risorse di rete, lo spam è anche un ottimo veicolo per diffondere malware o per portare attacchi di phishing. Il filtraggio dello spam può avvenire a livello dell impresa, se tutti i messaggi di posta diretti all interno dell organizzazione sono controllati dal filtro che elimina quelli ritenuti pericolosi (spesso usando tecniche bayesiane), o a livello personale, agendo direttamente sull host, dove si possono ulteriormente affinare le regole con cui individuare i messaggi indesiderati. Figura 2.6. Settori maggiormente colpiti dal phishing, per volume di URL (fonte: [11]).

CAPITOLO 2. SICUREZZA DEI SISTEMI 17 2.3.7 Honeypot Un honeypot (letteralmente barattolo del miele ) serve a conoscere le tecniche di attacco di un malintenzionato verso un host apparentemente vulnerabile. È considerato uno strumento forense piuttosto che di difesa, e per questo non può essere utilizzato per servizi o traffico regolari. Deve inoltre essere in grado di monitorare e registrare ciò che avviene e deve essere isolato dalla vera rete, onde evitare che gli intrusori possano usare l honeypot per colpirla. Gli honeypot classici sono strumenti passivi, che attendono i malintenzionati; sono però stati sviluppati degli honeypot attivi, chiamati honey monkey o client honeypot, con lo scopo di cercare server pericolosi ed interagire con essi. 2.3.8 Controllo degli accessi alla rete Un host compromesso non rappresenta un pericolo solo per sé, ma per l intera rete alla quale appartiene, poiché può essere usato come punto d accesso ad essa o per ottenere informazioni sulla rete. Il controllo degli accessi alla rete (NAC, Network Access Control) blocca ad un host l accesso alla rete se questo non dimostra di essere dotato di una buona protezione: sono tipicamente controllati il suo indirizzo IP, il sistema operativo, il software antivirus ed il personal firewall in uso. Le informazioni sulla sicurezza dell host sono quindi inviate ad un server delle politiche che le confronta con le politiche di sicurezza e decide se ammettere l host alla rete, eventualmente parzialmente, o se allontanarlo, anche solo temporaneamente, ad esempio a causa di un software antivirus non aggiornato o di un sistema operativo che richiede l applicazione di una o più patch. 2.3.9 Quarantena Quando si è individuato un attacco, una possibile risposta è la quarantena, cioè impedire che l host colpito possa colpire altri host sani, come avviene per la quarantena dei malati umani. Questo può essere effettuato impiegando dei firewall o dei router con liste di controllo degli accessi (simili alle regole di un firewall), che bloccano certi pacchetti allo scopo di isolare gli host infettati.

CAPITOLO 2. SICUREZZA DEI SISTEMI 18 2.4 Gli intrusion detection system (IDS) e gli intrusion prevention system (IPS) Il termine individuazione delle intrusioni indica l operazione di monitoraggio degli eventi che avvengono in un sistema informatico o in una rete di calcolatori, seguita dalla successiva analisi di tali eventi in cerca di indizi di possibili incidenti, cioè violazioni o minacce di violazione di politiche di sicurezza, politiche di utilizzo o pratiche di sicurezza standard [36]. L individuazione delle intrusioni può essere automatizzata facendo uso di un software chiamato intrusion detection system (IDS), o di un intrusion prevention system (IPS), ovvero un IDS in grado anche di bloccare possibili incidenti (fig. 2.7). Poiché tipicamente le funzionalità di Figura 2.7. Un intrusion detection system (IDS) e dei firewall impiegati per la protezione di una rete. prevenzione di un IPS possono essere disabilitate, IPS e IDS offrono funzionalità molto simili, e nel seguito saranno indicati con il termine più generico intrusion detection and prevention system (IDPS).

CAPITOLO 2. SICUREZZA DEI SISTEMI 19 Scopo principale degli IDPS è di invidiuare possibili incidenti, come la violazione di un sistema da parte di un malintenzionato sfruttando una vulnerabilità del sistema stesso. Informazioni sugli eventi individuati sono registrate ed inviate agli amministratori del sistema che cercheranno di minimizzare il danno. Un altra possibilità è usare un IDPS per individuare violazioni di politiche di sicurezza (per esempio l uso di programmi di file sharing), oppure per scoprire attacchi imminenti o sistemi che attirano l attenzione di malintenzionati (attraverso attività di ricognizione ). Un IDPS può anche essere usato per ottenere statistiche sugli attacchi, in modo da proteggere meglio i sistemi più esposti. A differenza di un IDS, un IPS può tentare di prevenire un attacco usando diverse tecniche, che possono essere divise nei segenti gruppi: l IPS stesso blocca l attacco, ad esempio terminando la connessione di rete o impedendo l accesso all obiettivo (target) da parte del malintenzionato tramite blocco del suo account o del suo indirizzo IP; l IPS modifica l ambiente di sicurezza, ad esempio riconfigura il firewall di rete per bloccare l accesso al malintenzionato o verso l obiettivo, oppure riconfigura il firewall sull host obiettivo per bloccare gli attacchi; l IPS modifica il contenuto dell attacco, ovvero ne modifica alcune porzioni maligne rendendole innocue, per esempio rimuovendo un file infetto da un messaggio di posta elettronica, ma lasciando proseguire il messaggio senza allegato; oppure l IPS può funzionare da proxy e normalizzare le richieste in ingresso, rimuovendo le informazioni dell header, operazione che blocca alcuni attacchi. Al fine di evitare di bloccare connessioni in ingresso innocue scambiate per attacchi, alcuni IPS possono funzionare in modalità apprendimento o simulazione, nelle quali mostrano agli amministratori quali connessioni avrebbero bloccato in modo che questi possano capire se alcune impostazioni dell IPS debbano essere modificate. Poiché un IDPS non è in grado di individuare correttamente tutti gli attacchi, esso può fornire dei falsi positivi, cioè attività non pericolose scambiate per attacchi, e falsi negativi, cioè attacchi non individuati. Poiché ridurre i primi comporta un aumento dei secondi, tipicamente si preferisce riconoscere più

CAPITOLO 2. SICUREZZA DEI SISTEMI 20 falsi positivi, con lo svantaggio, però, di dover impiegare più risorse per dividere le vere minacce da quelle false. Inoltre, molti IDPS riescono ad individuare le evasioni, ovvero quegli attacchi in cui si modifica l aspetto dell attività maligna, ma non il suo effetto, per cercare di sfuggire ai controlli degli IDPS. 2.4.1 Tecniche degli IDPS per l individuazione di attacchi Sebbene gli IDPS usino varie tecniche per scoprire gli attacchi, le principali sono quella basata sulla firma, quella basata sulle anomalie e l analisi di stateful protocol. Nel seguito saranno descritte queste tre tecniche. Individuazione basata sulla firma Questa tecnica si basa sul confronto tra eventi già osservati (noti) e le firme, ovvero schemi che corrispondono ad un attacco o tipo di attacco conosciuto. Esempi sono: un tentativo di connessione telnet usando come nome utente root, procedura che vìola le politiche di sicurezza aziendale; un messaggio di posta elettronica con oggetto Free pictures! ed allegato freepics.exe, una nota forma di malware. Questa tecnica è molto semplice ed efficace contro attacchi conosciuti, ma del tutto inefficace contro attacchi sconosciuti: basta, ad esempio, modificare il nome dell allegato precedente in freepics2.exe e questo non sarebbe individuato, a meno di non creare una nuova regola che controlli anche questa firma. Questa tecnica non consente di tracciare e comprendere lo stato della comunicazione: ad esempio non è in grado di accoppiare una richiesta con la corrispondente risposta, né di ricordare precedenti richieste simili a quella corrente. Per questo la tecnica basata sula firma non è in grado di riconoscere attacchi costituiti da eventi multipli se ciascuno di essi non è riconosciuto come attacco. Individuazione basata sulle anomalie Questa tecnica coniste nel confrontare attività ritenute normali con gli eventi osservati, con lo scopo di scoprire differenze evidenti. Si usano profili, cioè rappresentazioni del normale comportamento di host, utenti, connessioni di rete o applicazioni ottenute nel corso di un certo

CAPITOLO 2. SICUREZZA DEI SISTEMI 21 periodo, detto periodo di addestramento. Un profilo può, ad esempio, rappresentare la quantità di banda media usata durante i giorni lavorativi, e quando l IDPS nota un utilizzo molto maggiore del consueto può far scattare un allarme verso gli amministratori. La tecnica basata sulle anomalie riesce a scoprire piuttosto facilmente attacchi precedentemente sconosciuti, poiché questi possono modificare in maniera significativa certe attività del cui funzionamento si tiene traccia nei profili. Questi profili possono essere statici o dinamici: nel primo caso, una volta generati l IDPS usa sempre gli stessi profili, salvo quando gli sia ordinato di generarne di nuovi; nel secondo caso, i profili inizialmente creati sono aggiornati man mano che si osservano nuovi eventi. In questo modo, i profili dinamici si adattano meglio alle modifiche della rete, che possono causare variazioni nei livelli delle attività ritenuti normali, e quindi rendere i profili statici non più attendibili a meno di non ricrearli. Un problema di cui soffrono i profili dinamici, però, è la loro esposizione alle evasioni, poiché, se effettuate con le giuste tempistiche, possono essere considerate dall IDPS come normali attività (non maligne). Altri problemi sono: il numero elevato di falsi positivi, prodotti da attività non maligne ma che si discostano dai livelli normali o che non si sono mai verificate durante il periodo di apprendimento e sono dunque riconosciute come anomale; la difficoltà per gli analisti nel capire cosa ha prodotto un certo allarme. Analisi di stateful protocol Questa analisi consiste nel confrontare profili predefiniti di attività generalmente considerate innocue per ogni stato di protocollo con gli eventi osservati, per scoprire differenze significative. Diversamente dal caso precedente, in questa analisi si usano profili universali creati dal produttore, che specificano come un protocollo debba o non debba essere usato. Inoltre l IDPS è in grado di comprendere e tener traccia dello stato dei protocolli di rete, trasporto ed applicazione per i quali esiste un concetto di stato (da qui stateful). Come esempio si può considerare un sessione FTP (File Transfer Protocol): all inizio essa è nello stato non autenticato e l IDPS si aspetta che l utente si autentichi; se, invece, proverà ad eseguire uno dei vari comandi disponibili nella modalità autenticata, il suo comportamento potrà essere considerato sospetto (e quindi precursore di possibili attacchi), mentre non lo sarà se eseguirà uno

CAPITOLO 2. SICUREZZA DEI SISTEMI 22 di quei comandi dopo essere entrato con successo nella sessione autenticata. L analisi di stateful protocol può effettuare altri controlli, come la segnalazione di sequenze inaspettate di comandi e di comandi (o loro argomenti) dalla lunghezza inusuale. Tra gli svataggi di questo tipo di analisi vi è l utilizzo intenso delle risorse, a causa della complessità dell analisi e del tracciamento delle connessioni. Inoltre, quest analisi non rileva quegli attacchi che non di discostano dalle caratteristiche ritenute normali dei comportamenti di protocollo, come quegli attacchi che possono provocare un denial of service (DoS) a partire da singole azioni non ritenute pericolose. Infine, il modello di un protocollo usato da un IDPS può entrare in conflitto con l implementazione del protocollo in una certa applicazione o sistema operativo. 2.4.2 Componenti di un IDPS Un sistema IDPS è tipicamente costituito dalle seguenti parti: sensore o agente, che monitora e analizza l attività sulla rete (sensore) o su un host (agente); server di gestione, un dispositivo che riceve le informazione dai sensori e le gestisce. Alcuni server sono in grado di analizzare le informazioni ricevute in maniera più approfondita di quanto non possano fare i sensori, ad esempio tramite correlazione; server del database, dove sono memorizzate le informazioni sugli eventi raccolte da sensori, agenti e dal server di gestione; console, un programma che fornisce ad utenti e amministratori un interfaccia verso l IDPS. La console è di solito installata su normali computer desktop e può servire per attivtà di amministrazione dell IDPS o di analisi e monitoraggio. Tutti i componenti possono essere connessi attraverso una normale rete o attraverso una rete di gestione, appositamente progettata per software sicuro e sulla quale passa tutto il traffico di questi dispositivi, che sono di fatto nascosti ai malintenzionati. In alternativa, si può usare

CAPITOLO 2. SICUREZZA DEI SISTEMI 23 una normale rete sulla quale sia stata creata una VLAN (Virtual Local Area Network), che protegge le comunicazioni dell IDPS, anche se non al livello di una rete di gestione. 2.4.3 Tipi di tecnologie IDPS Esistono varie tecnologie per gli IDPS, che si possono raggruppare nei seguenti gruppi in base al tipo di eventi che controllano (per maggiori dettagli si può consultare [36]): IDPS basato sulla rete, che controlla il traffico della rete ed analizza l attività dei protocolli di applicazione e di rete alla ricerca di eventi sospetti. Può individuare vari tipi di attacchi ed è utilizzato soprattutto ai confini di una rete, ad esempio in prossimità di firewall e router di confine o di server per l accesso remoto; IDPS wireless, che controlla il traffico wireless ed analizza l attività dei protocolli di rete wireless, ma non quella dei protocolli di trasporto o dei livelli superiori, che non sono gestiti. Solitamente è usato all interno di una rete senza fili di un organizzazione; sistema di analisi del comportamento della rete (NBA system, Network Behavior Analysis), che analizza il traffico di rete alla ricerca di minacce che generano insoliti flussi di traffico, come avviene per gli attacchi di denial of service distribuito, per certi tipi di malware (worms, backdoors, ecc...) e per violazioni di politiche. Un sistema NBA è tipicamente impiegato per controllare reti interne ad un organizzazione o reti che collegano un organizzazione con l esterno (ad esempio Internet); IDPS basato su host, che controlla le attività di un singolo host, come il suo traffico di rete, i registri di sistema, applicazioni attive, ecc... Questo tipo di IDPS è impiegato su host critici, come server pubblicamente accessibili o contenenti informazioni sensibili. Per via dei diversi vantaggi e svataggi che ogni tecnologia presenta, di solito se ne combinano due o più per cercare di ottenere una migliore protezione: IDPS basati sulla rete e su host sono tra i più utilizzati, ma anche i sistemi NBA sono impiegati quando sia richiesta una maggiore protezione verso attacchi DoS, worms o altre minacce che provocano flussi di traffico anomali.

CAPITOLO 2. SICUREZZA DEI SISTEMI 24 Per ottenere una buona protezione, però, conviene integrare gli IDPS, dal momento che, altrimenti, funzionerebbero in maniera indipendente l uno dall altro. L integrazione può essere diretta, cioè le informazioni raccolte da un IDPS passano ad un altro IDPS (spesso si tratta di sistemi dello stesso produttore), oppure indiretta, nel qual caso vari IDPS inviano i dati raccolti a dei software di gestione degli eventi e delle informazioni sualla sicurezza (SIEM, Security Information and Event Management), che effettuano operazioni di correlazione sui dati per scoprire attività pericolose o l uso inappropriato della rete. 2.4.4 Approcci per la realizzazione degli IDS Il modo in cui un IDS (o IDPS) è realizzato influenza in maniera considerevole il suo funzionamento e l effetto che ha sulle risorse monitorate, senza però dover mai risultare di ostacolo al funzionamento della rete analizzata e dei suoi elementi. Nel seguito si illustrano gli approcci più comuni impiegati per la realizzazione di un IDS, di cui una rappresentazione schematica è in figura 2.8 (per una panoramica più completa si può consultare [3]). Figura 2.8. Alcuni approcci per la realizzazione di IDS.