• Non ci sono risultati.

3.2 Principi

3.2.1 Anomaly detection

3.2.1.3 Modello di Markov

Questo modello considera ogni evento come una variable di stato e l’esecuzione di un evento fa transire il sistema in un altro stato. Viene quindi generata una matrice di transizione tra stati

1dato un parametro d, l’intervallo di confidenza è uguale a E[X ] ± d ×VarX: la probabilità che un valore cada fuori questo intervallo è al massimod12.

3.2. PRINCIPI

per caratterizzare la frequenza delle transizioni tra gli stati: siamo in presenza di un’anomalia ogni volta che in uno stato viene eseguito un evento che, tenuto conto della matrice e dello stato corrente, ha bassa probabilità di essere eseguito.

3.2.2 Misuse detection

Un sistema di rilevamento di intrusioni che utilizzi questa metodologia si affida ad una base di conoscenza contenente un insieme di firme che caratterizzano attacchi noti. Si analizzano le azioni che avvengono nel sistema e si confrontano con le firme appartenenti alla base di dati. Se esiste una corrispondenza tra i dati rilevati e una o più firme, siamo in presenza di un tentativo di intrusione.

Una firma (signature) rappresenta un pattern corrispondente ad un attacco noto, ad esempio: • un tentativo di accesso via telnet o ssh con lo username “root”;

• un allegato di mail con estensione .exe.

Lo svantaggio di questo metodo è che esso può identificare solo quegli attacchi che sono già noti. Ciò equivale a dire che la firma dell’attacco è già contenuta nella base di dati. La base di dati deve essere quindi frequentemente aggiornata. Inoltre, piccole variazioni nelle modalità di intrusione possono rendere diversa la firma di un attacco. Un tentativo d’intrusione può non essere rilevato come tale perché si discosta, anche se leggermente, dalla firma presente nella base di dati.

3.2.3 Specification-based detection

Questo metodo è speculare al “misuse detection”: si affida a delle specifiche che descrivono qual è il comportamento atteso e corretto dei programmi critici per la sicurezza del sistema o come determinati protocolli di rete devono essere utilizzati. Durante il funzionamento del sistema, viene monitorato il comportamento dei programmi in esecuzione e del traffico di rete alla ricerca di azioni che violano queste specifiche.

Nel caso delle specifiche dei protocolli di rete, è noto che uno stesso protocollo può essere implementato in modo diverso dalla varie software house o dai produttori dei componenti hardware. Ciò implica che pattern di traffico che appartengono allo stesso protocollo possono apparire sotto forme diverse. Quindi l’IDS deve essere in grado di accettare variazioni dovute alle differenti implementazioni dello stesso protocollo.

Per semplificare l’analisi dell’IDS, in alcune reti il traffico viene “normalizzato”, forzando una stessa implementazione in tutti quei casi in cui le specifiche ammettano implementazioni alternative del protocollo.

CAPITOLO 3. I SISTEMI DI RILEVAMENTO DELLE INTRUSIONI

Il vantaggio di questo approccio è che esso può, come l’“anomaly detection”, rilevare e segnalare anche attacchi non noti.

3.3

Classi di IDS

Questo paragrafo descrive le varie classi di IDS, che sono classificati in base al tipo di dati che analizzano, al meccanismo utilizzato per rilevare le intrusioni, alla tipologia di installazione che richiedono, ai sistemi in cui vengono installati e per altri fattori.

Tradizionalmente gli IDS sono suddivisi in Host IDS e Network IDS: a questi vanno aggiunti gli IDS ibridi, una combinazione dei due, i Wireless IDS e gli Intrusion Prevention System.

3.3.1 Host IDS

In questo caso, l’agente che si occupa di controllare il sistema risiede direttamente sull’host monitorato. Il meccanismo di base di questa tecnologia è il monitoraggio delle chiamate di sistema, dei file di log delle applicazioni e del sistema e dei record di audit. Questi file contengono informazioni su eventi relativi alla sicurezza del sistema, ad esempio tentativi di login o modifiche alla politica di sicurezza del sistema. L’agente ha quindi accesso diretto all’host che sorveglia e sorveglia unicamente questo host.

Tra i vari compiti che svolge, l’Host IDS deve:

• controllare i processi in esecuzione per rilevare programmi modificati. Ad esempio, i programmi ls, ps spesso sono modificati da un attaccante per celare l’esistenza dei processi “maligni”, backdoor e altro, installati dall’attaccante stesso;

• rilevamento di buffer overflow. L’IDS può ad esempio controllare se un processo cerca di eseguire istruzioni appartenenti a regioni di memoria in sola lettura;

• rilevare tentativi di attacco al sistema o quali utenti cercano di elevare i propri privilegi oppure ripetuti fallimenti nel processo di login;

• controllare i file di log alla ricerca di eventi sospetti;

• controllare l’integrità del file system. Ad esempio, l’IDS può periodicamente calcolare l’hash di file critici per il sistema e confrontarli con quelli dei file originali, alla ricerca di differenze. Eventuali differenze possono, ad esempio, essere dovute a trojan inseriti nei file;

3.3. CLASSI DI IDS

• controllare l’utilizzo delle risorse da parte dei processi in esecuzione per prevenire attacchi di tipo Denial of Service (DOS).

Spesso, gli agenti per Host IDS usano la tecnica dello shim [59]: lo “shim” è un frammento di codice che viene inserito all’interno di codice già esistente per intercettare i dati nel punto in cui sarebbero passati da un modulo di codice ad un altro. In questa maniera, l’IDS può analizzare i dati per determinare se l’azione richiesta può o no essere permessa. Gli “shim” possono essere usati per analizzare il traffico di rete, l’attività del file system o le chiamate di sistema.

In questo caso, l’Host IDS rallenta certamente le attività dei processi e degli utenti. Infatti, il processo e/o l’utente rimangono “bloccati” fino a quando l’IDS non ha preso la sua decisione. Requisito fondamentale per questa classe di IDS è quello di avere delle prestazioni elevate.

3.3.2 Network IDS

A differenza del’Host IDS, il Network IDS è installato su un sistema separato dall’host che sta monitorando. Inoltre, può monitorare vari host che risiedono su uno stesso tratto di rete. Il meccanismo di base è il monitoraggio del traffico di rete mediante sniffing dei pacchetti: il Network IDS analizza tutto il traffico che passa sulla rete alla ricerca di firme di attacchi noti, oppure alla ricerca di traffico statisticamente anomalo.

I pacchetti prelevati vengono passati ad un detection engine che, tramite delle regole interne, decide se è in presenza di un tentativo di intrusione. Per fare questo, è necessario sia ricostruire i vari flussi, ad esempio le connessioni TCP, che ricomporre i pacchetti che vengono frammentati per effetto della Maximum Transmission Unit, la dimensione massima che un pacchetto può avere su una particolare tecnologia di rete.

Lo svantaggio del Network IDS è il fatto di non poter “bloccare” il flusso di pacchetti per non farli giungere all’host: cioè, anche in presenza di un attacco, non è possibile filtrare i dati che transitano sulla rete.

Solitamente un Network IDS è collegato ad uno switch tramite una spanning/mirror port, che è una porta su cui viene copiato tutto il traffico delle altre porte, per cui l’IDS riesce a vedere tutto il traffico di rete.

Nel caso di una rete a fibra ottica, il sensore è collegato direttamente alla rete tramite un network tap.

Un Network IDS può inoltre[59]:

• identificare gli host della rete: ad esempio, gli indirizzi MAC e IP degli host che sono sulla rete monitorata;

CAPITOLO 3. I SISTEMI DI RILEVAMENTO DELLE INTRUSIONI

• identificare i sistemi operativi degli host. Ciò è possibile tramite la tecnica del passive fin- gerprinting, che analizza caratteristiche particolari nel formato degli header dei pacchetti che permettono di rilevare il sistema operativo da cui il traffico viene generato;

• identificare le versione delle applicazioni. Ad esempio, il banner di una connessione telnet permette di risalire alla versione del server telnet;

• identificare le caratteristiche della rete. Ciò permette di tracciare una mappa della rete, definendo parametri quali il numero di salti tra due host o la presenza di firewall o di router.

Inoltre, un Network IDS deve eseguire un’accurata azione di logging degli eventi e delle attività sospette rilevate dalla rete, registrandone:

a) la data e l’ora;

b) l’ID di sessione (ad esempio, un numero consecutivo assegnato ad ogni nuova connessione TCP);

c) il tipo di evento;

d) la severità dell’evento, cioè, il suo grado di pericolosità; e) l’IP e porta sorgente e destinazione, e il protocollo di trasporto;

f) il numero di byte trasmessi su quella connessione;

g) i dati appartenenti al payload, ad esempio codici HTTP di request e response; I tipi di eventi più importanti che un Network IDS riesce a rilevare sono [59]:

• buffer overflow, format string attack, tentativi falliti di login dovuti alla generazione automatica di password, trasmissione via rete di virus o di malware etc;

• port scanning, attacchi di SYN o basati su frammentazione di pacchetti;

• indirizzi IP spoofed, in cui viene modificato l’indirizzo sorgente di un pacchetto IP; • presenza di backdoor;

• uso di applicazioni proibite dalle politiche di sicurezza della rete. I problemi più importanti per un Network IDS sono:

3.3. CLASSI DI IDS

1. il traffico cifrato pone un evidente problema per i Network IDS che ispezionano il traffico alla ricerca di firme. Questo problema è sempre più presente data la grande diffusione degli strumenti di encryption;

2. visto che un Network IDS è spesso collegato ad uno switch su una port mirror che replica verso l’IDS tutto il traffico che transita sulla rete, deve essere in grado di analizzare i pacchetti anche in presenza di un volume di traffico estremamente elevato. Ciò con ovvie ripercussioni sul livello hardware e firmware dell’IDS;

3. i Network IDS non sanno quale sarà l’impatto del traffico sull’host né se il destinatario accetterà parte o tutto del traffico di rete.

3.3.3 IDS ibridi

Gli IDS ibridi sono basati su un’architettura che prevede agenti installati sugli host, come nel caso degli Host IDS, e dei sensori che analizzano il traffico di rete, come nel caso dei Network IDS. Gli agenti e i sensori riportano i risultati delle loro analisi ad un sistema centralizzato che ha funzionalità di elaborare i dati ricevuti e di correlare i vari dati per capire se sono in corso attacchi.

C’è da tenere presente però, che possono nascere alcuni problemi nel momento in cui si cerca di far coesistere differenti approcci per il rilevamento delle intrusioni in un unico sistema. Ad esempio, il formato dei dati di output utilizzato su un sistema può essere diverso da quello utilizzato su un altro. In questi casi, è necessario aggiungere una componente di interfacciamento tra i vari sistemi, ad esempio un Security Information and Event Management (SIEM) che è uno strumento software in grado di ricevere e analizzare messaggi provenienti da differenti IDS per effettuare correlazioni tra i vari dati ricevuti.

3.3.4 Wireless IDS

Un Wireless IDS è un IDS che ha il compito di monitorare il traffico su una rete wireless per rilevare attività sospette inerenti l’uso dei protocolli. In particolare, un Wireless IDS può rilevare attacchi e violazioni alle politiche sull’uso dei protocolli esaminando le comunicazioni che avvengono sulla rete tramite i protocolli della famiglia IEEE 802.11.

I tipi di eventi monitorati da un Wireless IDS sono [59]:

• uso non autorizzato di apparati wireless: ad esempio, access point non autorizzati; • stazioni o “access point” che usano protocolli non sicuri: ad esempio, stazioni che usano

CAPITOLO 3. I SISTEMI DI RILEVAMENTO DELLE INTRUSIONI

• pattern di traffico anomali: ad esempio, un numero elevato di stazioni che inviano il loro traffico solamente verso un “access point”;

• uso di war driving tools, che sono scanner utilizzati dagli attaccanti per rilevare reti wireless “aperte”, cioè quelle reti che permettono l’accesso senza autenticazione o tramite un meccanismo di autenticazione insicuro, come il WEP;

• attacchi di tipo Denial Of Service: ad esempio, l’invio di grandi quantità di dati verso un “access point”;

• attacchi di spoofing: quando un attaccante cerca di impersonare l’identità di un utente legittimo.

I sensori Wireless possono essere sia fissi, ad esempio su un PC desktop con interfaccia wireless, che mobili, ad esempio un portatile con integrato un Wireless IDS. Questi ultimi sono particolarmente utili per individuare attaccanti in movimento.

Documenti correlati