Indietro

ⓘ Network intrusion detection system




                                     

ⓘ Network intrusion detection system

I NIDS, Network Intrusion Detection System, sono degli strumenti informatici, software o hardware, dediti ad analizzare il traffico di uno o più segmenti di una LAN al fine di individuare anomalie nei flussi o probabili intrusioni informatiche.

I più comuni NIDS sono composti da una o più sonde dislocate sulla rete, che comunicano con un server centralizzato, che in genere si appoggia ad un Database. Fra le attività anomale che possono presentarsi e venire rilevate da un NIDS vi sono: accessi non autorizzati, propagazione di software malevolo, acquisizione abusiva di privilegi appartenenti a soggetti autorizzati, intercettazione del traffico sniffing, negazioni di servizio DoS.

                                     

1. Funzionamento

Le logiche su cui i NIDS si basano per riconoscere flussi non autorizzati si distinguono in:

  • Pattern Matching: labilità del NIDS di confrontare i flussi a delle signatures, stile Antivirus, e di notificarli prontamente. Le signatures in genere indicano un set di condizioni, ad esempio: Se un pacchetto è IPv4, TCP, la porta di destinazione la 31337, e il payload contiene foo, fai scattare "lallarme".
  • Anomaly Detection: il riconoscimento di flussi sospetti grazie ad un sofisticato meccanismo di funzioni e algoritmi matematici che si rifanno alle RFC e ai loro standard. Se uno o più flussi non rispettano gli standard, il sistema segnala lerrore con il consueto allarme.

Quando i NIDS rilevano degli eventi significativi li classificano in base alla loro criticità, ad esempio Low, Medium, High; spesso si presentano dei falsi positivi, ovvero eventi che in realtà non costituiscono un pericolo per i sistemi informatici, dovuti in genere a malconfigurazioni da parte degli amministratori dei sistemi. In genere i sensori di rete che comunicano con il server centralizzato del NIDS effettuano un monitoring full-duplex passivo della rete, posizionati dietro un network tap, brutalmente definibile come un rubinetto che regola il traffico e che si preoccupa di far rimanere la sonda invisibile sulla rete. Affinché i sensori lavorino correttamente devono essere sottoposti ad un continuo aggiornamento delle signatures per contrastare le vulnerabilità più recenti.

I moderni NIDS lavorano sempre con dei Firewall, a tal scopo stanno prendendo sempre più piede nel settore commerciale gli IPS, intrusion prevention system, che oltre a fornire il controllo sui flussi, procedono ulteriormente bloccando quelli non autorizzati.

                                     

2. Pro e contro

In un sistema informatico che implementa valide politiche di sicurezza, un buon sistema di incident response e che adotta firewall, antivirus e tutte le più moderne misure di sicurezza, i NIDS giocano un ruolo fondamentale, in quanto:

  • segnalano se qualche altra misura di sicurezza, come il firewall o lantivirus, non ha funzionato correttamente;
  • rilevano la presenza di eventuali worm che cercano di inviare informazioni allesterno della rete;
  • sono difficili da rilevare in quanto agiscono passivamente.
  • effettuano il monitoraggio delle risorse condivise utilizzate;
  • analizzano il payload dei pacchetti identificando il traffico anomalo;
  • danno informazioni sulle scansioni che la rete ha ricevuto;
  • permettono di ricevere allarmi real-time;
  • permettono di capire quali misure preventive adottare al fine di evitare eventuali attacchi futuri;
  • evidenziano eventuali vulnerabilità della rete;
  • evidenziano eventuali errori nella configurazione del sistema;
  • permettono di monitorare il comportamento degli utenti interni alla rete;
  • rilevano eventuali attacchi provenienti dalla rete interna verso la rete esterna;

Le ampie funzionalità descritte hanno portato alcuni amministratori di rete a pensare che i NIDS siano in grado di segnalare e risolvere qualsiasi problema di sicurezza. Paradossalmente, pensare che i NIDS garantiscano totale sicurezza date le loro enormi potenzialità, può risultare controproducente in quanto ciò genererebbe un falso senso di sicurezza. Non esiste, infatti, né totale sicurezza, né un unico prodotto che permetta di essere totalmente sicuri.

Anche se i NIDS sono sicuramente necessari a garantire un buon livello di sicurezza del sistema, da soli non sarebbero sufficienti in quanto:

  • richiedono notevoli risorse in termini di spazio per larchiviazione dei log;
  • non sostituiscono gli altri meccanismi di protezione.
  • incrementando il numero delle firme, può essere ridotta lefficienza del NIDS;
  • presentano problemi nel gestire attacchi che utilizzano pacchetti frammentati;
  • non possono analizzare informazioni criptate;
  • non individuano attacchi che sfruttano vulnerabilità non ancora rese pubbliche detti 0-day;
  • identificano un tentativo dattacco ma non rilevano se questo è riuscito;
  • quando cè una grande quantità di traffico da processare, è possibile che vengano persi dei pacchetti, con conseguente fallimento nella rilevazione di un attacco;
  • non sostituiscono lesistente staff di sicurezza in quanto necessitano di costante monitoraggio;
  • agiscono passivamente, ovvero non bloccano il traffico dannoso anche se possono essere configurati per interagire con un firewall;

Da quanto detto, emerge che i NIDS sono necessari ad aumentare il controllo sullattività dei sistemi ma non sono sufficienti a garantire la continuità del servizio in quanto agiscono passivamente.

                                     

3. NIDS vs Firewall

Sia i firewall che i NIDS collaborano al fine di prevenire accessi abusivi ad una rete. Entrambi sono fondamentali ma nessuno è sufficiente a garantire da solo un elevato livello di sicurezza. A parte queste analogie, ci sono delle sostanziali differenze tecniche che li caratterizzano. I firewall hanno funzione di filtraggio dei pacchetti allo scopo di bloccare il traffico non conforme alle loro politiche.

I pacchetti vengono filtrati in base allindirizzo IP sorgente o di destinazione e alle corrispettive porte. Difficilmente i log memorizzati riguardano il traffico permesso, in quanto ritenuto affidabile. Se alcuni dei pacchetti dannosi riuscissero a superare il firewall a causa di una configurazione non corretta dello stesso, o di una qualsiasi vulnerabilità sfruttata, non solo sarebbe possibile portare a termine un attacco con successo ma, soprattutto, non verrebbe memorizzata alcuna informazione in merito.

Per ovviare a questo problema, entrano in gioco i NIDS, i quali analizzano il contenuto di tali pacchetti e segnalano con un allarme ogni attività anomala individuata, indipendentemente dal successo o dallinsuccesso della stessa. Inoltre nel caso in cui un attacco provenisse dallinterno della rete, il firewall non avrebbe utilità alcuna. Esso infatti, pur essendo capace di filtrare il traffico verso e dalla rete esterna, non ha alcun potere sul traffico interno alla rete.

Altra debolezza dei firewall è dovuta al fatto che talvolta gli utenti per ingenuità o impazienza si collegano a Internet creando connessioni non autorizzate tramite modem. Questo comportamento mette a rischio lintera rete perché il traffico generato, anche in questo caso, non sarà filtrato dal firewall. I NIDS, pertanto, pur monitorando il traffico interno alla rete, non eliminano i firewall.



                                     

4. Tecniche di Analisi dei Pacchetti

Impostando la scheda di rete del NIDS in modalità promiscua, è possibile ascoltare in maniera passiva tutto il traffico passante sul segmento di rete, senza interferire sullo stesso. Lanalisi dei pacchetti può essere effettuata mediante tre tecnologie: la pattern matching analysis, la stateful pattern matching analysis e la protocol analysis.

La Pattern Matching Analysis si occupa di analizzare i contenuti dei pacchetti alla ricerca di sequenze di bit prefissate. Questo è un approccio semplice da implementare ma, allo stesso tempo, abbastanza rigido e pesante dal punto di vista computazionale in quanto ogni pacchetto deve essere confrontato con centinaia di firme di intrusion detection. Ogni firma è associata a un attacco specifico e istruisce lIDS sul tipo di pacchetto da considerare anomalo. Ciascuna firma assume una struttura composta da sei componenti, e che vengono confrontati con i pacchetti in ingresso e in uscita nel seguente modo: SE il protocollo utilizzato è, lindirizzo IP sorgente è, la porta associata allindirizzo IP sorgente è, lindirizzo IP di destinazione è, la porta associata allindirizzo IP di destinazione è e il payload contenuto nel pacchetto è, ALLORA genera un allarme. In base a quanto descritto fino ad ora, un allarme viene generato quando si verifica il pattern matching tra un pacchetto e una regola. Questo significa che sarebbe sufficiente dividere la stringa dellexploit contenuta nel payload in due frame TCP, per non far rilevare lattacco. Per risolvere questo problema, è stata introdotta la Stateful Pattern Matching Analysis che è un criterio più sofisticato di analisi che effettua gli stessi controlli della Pattern Matching Analysis tenendo però conto dello stream TCP dei dati. Questo comporta maggiore carico computazionale in quanto capita spesso che ci siano sessioni TCP aperte da monitorare per un lungo periodo.

La Protocol Analysis invece, genera un allarme per ogni violazione delle specifiche tecniche di un protocollo. Si supponga, per esempio, che un client intenda aprire una connessione TCP con un server, a tal fine invia un pacchetto SYN e si aspetta di ricevere o un pacchetto SYN/ACK o un RST/ACK. Qualsiasi altro pacchetto ricevuto viene considerato una violazione e genera un allarme. Questa tecnica minimizza, qualora il protocollo sia ben definito, il numero di falsi positivi generati se traffico lecito viene riconosciuto come anomalo, tuttavia, non è raro trovare delle RFC ambigue che lasciano spazio agli sviluppatori di implementare il protocollo a propria discrezione.

                                     

5. Allarmi falsi positivi e falsi negativi

I NIDS lavorano con grandi quantità di dati e per funzionare necessitano di almeno un algoritmo di generazione degli allarmi. Alcuni amministratori scelgono di ritenere anomalo tutto il traffico considerato non affidabile politica chiusa, altri invece scelgono di ritenere affidabile tutto il traffico non considerato anomalo politica aperta. Nella prima ipotesi il carico computazionale del NIDS sarà rilevante e verrà generato un alto numero di falsi allarmi detti falsi positivi che possono essere dovuti a:

  • pacchetti generati da alcuni dispositivi di rete non riconosciuti dal NIDS;
  • circostanze normali ritenute pericolose dal NIDS, come per esempio la visualizzazione di una pagina web contenente il codice sorgente di un exploit.
  • violazioni di protocolli non dovute ad attacchi ma ad implementazioni ambigue;

Nella seconda ipotesi il numero di allarmi sarà notevolmente minore, ma si corre il rischio di non identificare il traffico anomalo che non trova alcuna corrispondenza con le regole impostate, generando falsi negativi che sono più difficili da rilevare e possono essere dovuti a:

  • traffico cifrato;
  • quantità di traffico elevata a tal punto da non essere supportata dal NIDS;
  • attacchi 0-day dei quali non è stata ancora resa nota la corrispettiva firma.
  • firme errate o troppo generiche;
  • configurazioni non appropriate della rete;

Il numero di falsi negativi può essere limitato solo con una costante manutenzione del NIDS e con un frequente aggiornamento delle firme. Per trovare il giusto equilibrio tra falsi positivi e falsi negativi, è opportuno analizzare approfonditamente la topologia della rete ed eliminare la causa che genera falsi allarmi. Procedere eliminando radicalmente la regola corrispondente ad un attacco, potrebbe essere una scelta troppo ingenua e superficiale che talvolta può comportare il rischio di non rilevare attacchi reali.

                                     

6. Risposta dei NIDS

Gli IDS generalmente non intervengono sul traffico, ma si limitano a rispondere passivamente segnalando le anomalie tramite messaggi di testo, email, o telefonate. La modalità di segnalazione dellallarme spesso dipende dalla gravità dello stesso. Alcuni IDS, possono anche essere programmati per rispondere attivamente agli attacchi più seri, adottando una delle seguenti contromisure:

  • monitorando lintero scambio di pacchetti;
  • inviando un pacchetto RST allattaccante simulando che esso provenga dal sistema attaccato al fine di far credere che la vittima non sia raggiungibile;
  • interagendo con un firewall di rete per bloccare temporaneamente o permanentemente le connessioni con la vittima;
  • eseguendo un nslookup, un portscan o un traceroute verso il sistema attaccante per reperire maggiori informazioni.

Tuttavia, configurando lIDS per rispondere attivamente ad attacchi, in caso di falsi positivi si rischierebbe il blocco delle connessioni che normalmente dovrebbero essere consentite causando un DoS.



                                     

7. Posizionamento

Una delle attività maggiormente critiche nella configurazione e messa in opera di un IDS è il suo posizionamento allinterno della rete da monitorare. In base alla topologia della rete, possono presentarsi diversi casi. Quando in un segmento di rete gli host sono collegati da un hub, limplementazione di un NIDS è relativamente semplice perché lhub è una componente di rete che si occupa di replicare ogni singolo pacchetto su tutte le porte. In questo modo è sufficiente collegare il NIDS a una porta qualsiasi dellhub per poter leggere tutto il traffico passante.

In presenza di uno switch, invece, la situazione è diversa e limplementazione dei NIDS è maggiormente complicata. Gli switch, infatti, lavorano ad un livello superiore della pila ISO/OSI rispetto agli hub e quando devono inviare un pacchetto, lo inviano solo verso la relativa porta di destinazione. Una soluzione per poter leggere tutto il traffico del segmento di rete è il port mirroring che consiste nel monitorare una o più porte dello switch, copiandone il traffico su unaltra porta detta mirror port. Tale porta dovrà necessariamente avere una capacità di banda possibilmente pari alla somma della capacità di banda di tutte le porte monitorate. Solo in questo modo il traffico potrà essere gestito in modo opportuno.

Come detto, la scelta del posizionamento degli IDS è unattività molto delicata che deve tener conto delle esigenze della rete e delle risorse di cui si dispone.

Unaltra variabile da considerare nel posizionamento di un IDS è la sua collocazione rispetto ad un firewall. Posizionando lIntrusion Detection System allesterno del firewall, si identificheranno tutte le attività anomale incluse quelle che non avranno accesso alla rete in quanto bloccate dal firewall. Un IDS disposto in questo modo sarà più esposto agli attacchi provenienti dallesterno perché privo di protezione. Le risorse richieste sono ingenti in quanto la quantità di traffico analizzato e di log memorizzati sarà rilevante. Una soluzione più economica consiste nel posizionare lIDS allinterno del firewall per monitorare solo il traffico che accede alla rete. In tal modo saranno generati meno allarmi e ci saranno meno log da analizzare.

Se invece, lobiettivo dellIDS è la protezione dei server, una valida alternativa è installare il sistema di intrusion detection nella Demilitarized Zone DMZ. Tuttavia, gli altri segmenti di rete rimarrebbero privi di monitoraggio.

Pertanto, nel caso in cui le risorse a disposizione siano elevate, la soluzione più robusta consiste nellinstallare un IDS per ogni segmento di rete. Questo permette di tenere sotto controllo lintera rete, di configurare ciascun Intrusion Detection System in maniera diversa in base alle esigenze del singolo segmento e di evitare eventuali sovraccarichi dei sistemi. Inoltre, se un IDS dovesse venire meno per una qualsiasi ragione come ad esempio errori hardware/software o attacchi di vario tipo, gli altri segmenti di rete continuerebbero ad essere monitorati.

                                     

8. Log Analysis

Lanalisi dei log è di fondamentale importanza nel processo di intrusion detection sia nel caso ci siano stati dei tentativi di intrusione, che nel caso si sia verificato un incidente informatico. I log memorizzano record contenenti informazioni sul timestamp, sul protocollo utilizzato, sullindirizzo IP sorgente e di destinazione e sulle porte utilizzate da qualsiasi attività anomala monitorata. Possono anche essere contenuti dati aggiuntivi come una descrizione testuale dellevento o il numero della regola che ha generato lallarme. Quando vengono generati log causati da eventi di una certa entità, è opportuno memorizzare anche il payload del pacchetto che ha generato lallarme per avere maggiori dettagli sullevento. Facciamo un esempio considerando una richiesta DNS. In corrispondenza di questo evento, verrà generato un log dove sarà riportato che il potenziale attaccante con indirizzo IP 100.200.100.200 ha inviato un pacchetto UDP al destinatario 90.80.70.60, sulla porta 53. Ciò non sarà sufficiente a capire se la richiesta DNS è stata dannosa o meno. La situazione sarebbe differente nel caso in cui si potesse analizzare anche il payload del pacchetto.

Uno dei problemi maggiori nellanalisi dei log è leterogeneità intrinseca degli stessi, in quanto variano a seconda del firewall, del router o dellIDS utilizzato. Non esistono tool che sincronizzano cronologicamente i log prodotti da sistemi differenti. Può talvolta capitare che la time zone differisca da sistema a sistema, rendendo ancora più complicata lanalisi; tuttavia, per sincronizzare sistemi diversi, possono essere usati protocolli come NTP. Inoltre, di estrema importanza è la capacità di reazione di fronte ad unintrusione. Intervenire tempestivamente quando si identifica unintrusione, spesso è essenziale per evitare che lattaccante possa alterare o eliminare i log. Gli amministratori di rete, tuttavia, dovrebbero prestare attenzione non solo alla possibile manipolazione dei log ma anche alle molteplici attività anomale che possono presentarsi, come quelle che si stanno per analizzare.

  • Lattacco DHCP-POISONING, dove lattaccante fa in modo che un host della rete interna simuli di essere il server DHCP e invii delle risposte ad-hoc alle DHCP-REQUEST che gli arrivano, specificando lindirizzo IP dellattaccante come default gateway. In tal modo tutto il traffico, prima di arrivare allesterno, passerà per la macchina controllata dallattaccante.
  • Le Scansioni verso le macchine della rete, che sono utilizzate dallattaccante per raccogliere informazioni sui sistemi operativi installati, i servizi attivi, le porte aperte e la topologia della rete. Tali informazioni saranno poi usate per effettuare un attacco.
  • Un numero elevato di tentativi di login falliti, i quali sono comuni quando lattaccante cerca di ottenere maggiori privilegi di quelli realmente concessi.
  • Lattacco ARP-POISONING, dove vengono alterate le tabelle ARP degli host appartenenti allo stesso segmento di rete, in modo che la macchina sul quale risiede lo sniffer veda anche il traffico generato dagli altri host.
  • Il traffico sospetto verso indirizzi IP sconosciuti o su protocolli non utilizzati comunemente. Se si rilevano connessioni in uscita provenienti da un server web, questo può significare che il server sia stato compromesso.
  • Se si identificano pacchetti malformati, cè il rischio che un attaccante sia alla ricerca di vulnerabilità sulle varie macchine del sistema o stia tentando di aggirare un firewall.
  • La perdita di connettività, che potrebbe essere associata ad un attacco DoS.
  • Il calo delle performance della rete dovuto alla saturazione della banda, che si verifica perché spesso lattaccante utilizza le macchine compromesse per archiviare programmi, mp3 e film da mettere illegalmente in condivisione con gli altri utenti della rete.
  • Lalta quantità di traffico generata in orari non di lavoro, indice di utenti non autorizzati che stanno usufruendo della rete. Nel caso in cui nella rete attaccata fosse presente uno switch, una volta introdottosi, lattaccante potrebbe intercettare il traffico utilizzando due attacchi.
  • Unattività inusuale del modem, che potrebbe indicare la probabile presenza di dialer.
                                     

9. Aspetti Legali

Qualsiasi attività di monitoraggio della rete deve rispettare le normative in vigore nello stato in cui si trova il sistema informatico le politiche interne aziendali. In caso contrario esiste il rischio di essere perseguiti penalmente per violazione della privacy degli utenti della rete e per intercettazione abusiva di comunicazione informatica. Non sarà, inoltre, possibile utilizzare i dati raccolti per intraprendere azioni legali nei confronti di un intruso. È pertanto opportuno:

  • indicare lo scopo del monitoraggio;
  • specificare il responsabile a cui saranno inviate le segnalazioni di eventuali compromissioni.
  • specificare le tipologie di traffico monitorate;
  • informare gli utenti che la loro attività di rete sarà monitorata;

Dal punto di vista burocratico tali accorgimenti possono essere tradotti in una lettera informativa da far firmare a tutti gli utenti della rete per presa visione. Dal punto di vista tecnico è possibile implementare un" Message of the Day” MOTD che consiste in un messaggio iniziale che informa gli utenti dellattività di logging della rete. In caso di incidente informatico i log rappresentano prove preziose, ed in quanto tali, devono essere ottenute in modo conforme alla normativa vigente ed essere tali da poter illustrare dettagliatamente lo svolgimento dei fatti. È pertanto opportuno fare in modo che la prova ottenuta sia:

  • comprensibile e credibile, ovvero rappresentata in un formato leggibile da chiunque e non ad uso esclusivo degli esperti del settore.
  • autentica ed inalterata anche in caso di spostamenti dei dispositivi che contengono la prova stessa;
  • completa, in quanto non deve mostrare lincidente dallunica prospettiva riconducibile alle azioni compiute dallattaccante, ma deve valutare anche prospettive che potrebbero dare adito a contraddizioni;
                                     

10. Scelta di un NIDS

Per concludere questa panoramica, vengono discussi gli elementi da tenere in considerazione durante la scelta di un NIDS.

  • Aggiornamento delle firme: i NIDS da questo punto di vista funzionano esattamente come gli antivirus. Per poter identificare i nuovi attacchi devono avere nel loro database le firme recenti. Per questa ragione è di estrema importanza che gli aggiornamenti vengano forniti in modo tempestivo e venga data la possibilità di aggiornare il database in modo automatico. Importante è anche la possibilità di utilizzare firme personalizzate create ad-hoc per le proprie esigenze.
  • Capacità della banda supportata: è la quantità di traffico che il sensore può analizzare in ununità di tempo. Si misura in Mb/s o in pacchetti/s.
  • Attività di logging: è opportuno verificare la chiarezza dei log e valutare se loutput viene salvato in formato standard o proprietario.
  • Scalabilità: La possibilità di ampliare le funzionalità del NIDS in caso di esigenze future è di estrema importanza, in particolare andrebbe valutato il numero di sensori supportati e la possibilità di gestire il sistema in maniera centralizzata tramite unapposita console.
  • Costo: deve, ovviamente, essere proporzionato alle risorse che si vogliono proteggere.