IDS
L’IDS (Intrusion Detection System) é un sistema di analisi del traffico in tempo reale che costituisce l’estensione logica delle capacità di un firewall. Questo strumento mette a disposizione dell’amministratore funzionalità oggi indispensabili nella gestione della sicurezza di rete, quali l’analisi e il riconoscimento degli attacchi o delle anomalie del traffico di rete. Il sistema di rilevazione delle intrusioni innalza il livello di protezione offerto dal firewall monitorando e analizzando in maniera preventiva il traffico di rete, al fine di identificare pattern sospetti che possano indicare un attacco proveniente sia dall’esterno che dall’interno della rete aziendale. Oltre al riconoscimento degli attacchi, l’IDS svolge anche funzioni di diagnostica di rete e di controllo sulla corretta applicazione delle policy di sicurezza. Segnalando infatti la presenza di traffico in contrasto con le policy stabilite, aiuta a individuare errori di configurazione delle stesse (ad esempio rilevando traffico che il firewall avrebbe dovuto bloccare). L’uso di sistemi (o sonde) IDS è fortemente consigliabile nelle DMZ e a protezione di macchine sensibili. In tale ottica un IDS assume una importanza fondamentale in un ambito wireless al fine di individuare eventuali tentativi di accesso non autorizzato, ad esempio attraverso backdoors o buffer overflow. Alcuni IDS sono in grado di rispondere agli attacchi, ad esempio attraverso un pacchetto generato ad-hoc al fine di scoraggiare eventuali intrusi.
Una completa analisi del mondo “IDS” risulterebbe molto complessa e richiederebbe un libro separato per poter affrontare l’argomento. Questo paragrafo vuole comunicare al lettore l’importanza dei sistemi IDS anche in ambito wireless. Nei prossimi paragrafi verranno analizzati in modo superficiale gli IDS e una configurazione relativamente semplice di un IDS OpenSource.
Gli IDS in dettaglio
Lo scopo di un IDS é di fornire dettagli su un eventuale attacco. A tal fine gli IDS collezionano informazioni dai sistemi e dalle reti, ricercando problemi di sicurezza. In qualche caso, gli IDS riescono anche a reagire in tempo reale alle violazioni di sicurezza. Le funzioni salienti di un IDS sono
- Analisi delle attività di sistema e degli utenti.
- Analisi della configurazione di sistema e di eventuali vulnerabilità.
- Verifica dell’integrità dei files critici del sistema e dei dati.
- Analisi statistica di attività anomale.
- Riconoscimento di patterns relativi a determinati tipi di attacco.
Si possono distinguere due categorie di IDS: una Host based, a protezione dell’host su cui risiede l’IDS e molto spesso con funzioni caratteristiche dell’host quali l’auditing di comandi sospetti, l’altra è il Network IDS, che si occupa di monitorizzare il traffico di rete e rilevare eventuali tentativi di intrusione e di esecuzione di comandi sospetti. Esiste un’altro tipo di IDS, ma che può essere racchiusa sotto la categoria Host Based, ovvero il File Integrity Checker che é in grado di individuare i files cambiati nel sistema. Tra queste categorie, il Network IDS é quella più diffusa, in quanto permette il riconoscimento di attività sospette che passano sulla rete senza dover installare software aggiuntivo su ogni server.
Un IDS é in grado di analizzare eventi sospetti attraverso tre differenti tipologie di analisi, ovvero analisi basate su eventi o signatures, analisi statistiche e sistemi auto-adattanti. Nel caso di sistemi basati su signatures, il software IDS ragiona esattamente come un anti-virus. Il produttore del software produce un elenco di modelli (o patterns) che verranno ricercati all’interno del traffico di rete e, se questi verranno trovati, manderà un avvertimento all’amministratore. Questa é la tipologia di IDS più diffusa. Un sistema basato su analisi statistiche é in grado di costruirsi un “modello” dell’ambiente, ad esempio tenendo traccia di quanto duri una sessione telnet media. L’amministratore verrà notificato qualora il sistema riveli una sessione telnet differente dal suo modello. L’ultima tipologia di analisi é quella più complessa, dove la ricerca si sta concentrando, ovvero quella dei sistemi auto-adattanti. Questi sistemi partono con regole generiche sull’ambiente e iniziano ad imparare dall’ambiente circostante, quindi “adattandosi”. Dopo aver imparato le tipologie di traffico nell’ambiente di rete, questi sistemi notificano l’amministratore nel caso esista del traffico differente da quello che hanno imparato.
Qualsiasi sia il tipo di analisi che il sistema é in grado di effettuare, ogni IDS può non tenere traccia di eventi sospetti (detto anche falsi negativi) o può segnalare eventi sospetti anche quando non esiste nessun attacco (i falsi positivi). É importante capire che qualora un’organizzazione decida di installare un sistema IDS esso va costantemente analizzato da amministratori preparati.
Network IDS
I Network IDS (NIDS) sono divisi in due componenti logici: il sensore (o sonda) e la stazione di controllo (anche detta di management). La sonda viene installata in un segmento di rete e tiene traccia di eventi sospetti, mentre la stazione di management riceve gli allarmi dalle sonde e li visualizza su un monitor ad un operatore. I sensori sono sistemi dedicati al controllo del traffico di rete, che hanno una interfaccia di rete configurata in promiscuous mode: grazie a questa modalità, la scheda é in grado di ricevere ed analizzare tutto il traffico di rete. Qualora trovasse un’attività sospetta, la sonda manderà un allarme alla stazione di management. La stazione di controllo visualizza gli allarmi ed é solitamente in grado di effettuare delle ulteriori analisi. Alcune stazioni di management sono anche in grado di integrarsi con un framework di management più ampio, di solito adottati nei Network Operating Centre (NOC), quale ad esempio HP OpenView.
Host IDS
Un sistema di IDS host-based ricerca segnali di intrusione nel sistema locale. Di solito questi sistemi si appoggiano ai sistemi di audit e di log del sistema operativo come fonte di informazioni per le analisi. In particolare analizzano attività sospette riguardanti il sistema locale, quali login sbagliate, tentativi di accesso a files protetti o alterazioni dei privilegi di sistema. Questo genere di IDS é di solito basato su regole, ad esempio il privilegio di amministratore può essere raggiunto soltanto attraverso il comando su. Ogni tentativo di accesso come root direttamente dal prompt di login può essere quindi considerato un attacco.
File Integrity Checkers
Un sistema File Integrity Checker esamina i files del computer per determinare se un file é stato alterato dall’ultima volta che il programma é stato eseguito. Il programma é basato su un database che tiene traccia del valore di hash di ciascun file del computer e ogni volta che viene eseguito paragona i files presenti nel sistema con quelli che ha nel database. Se il valore di hash differisce allora il file é da considerarsi modificato. Un valore di hash é dato da una funzione matematica che produce un valore a lunghezza fissa a partire da un file. Lo stesso file produrrà sempre lo stesso valore di hash ed un cambiamento a questo file produrrà un valore di hash differente. Esiste un caso raro in cui due files diversi producono lo stesso hash. Questa é una limitazione dei File Integrity Checkers che di solito viene sfruttata da potenziali intrusi per alterare i files di configurazione, senza però essere “visti” dal programma di controllo. Un esempio di File Integrity Checker é il famoso Tripwire (http://www.tripwire.org/).
Configurazione dello switch per un NIDS
Prima di configurare un NIDS, é necessario procedere ad una corretta configurazione dello switch su cui il sistema IDS verrà attestato. Un hub riceve un pacchetto su una porta e manda una copia, ripetendo il segnale, su ogni porta tranne quella da cui lo ha ricevuto. Uno switch, invece, analizza tutti i MAC address delle stazioni collegate alle sue porte e, quando un client manda un pacchetto destinato ad un’altro client, questo viene ripetuto soltanto sulla porta del client di destinazione. Questo comportamento, tipico dello switch, permette un significante incremento di prestazioni, ma lo rende inadatto ai sistemi IDS o, più semplicemente, a degli analizzatori di rete (o sniffer). Per esempio, se si vuole catturare il traffico ethernet mandato dall’host A all’host B, ed entrambi sono collegati ad un hub, é sufficiente collegare un analizzatore sull’hub per visualizzare il traffico che passa.
In uno switch, invece, il traffico tra l’host A e l’host B é solamente ripetuto sulla porta di B, pertanto il traffico non é catturabile dallo sniffer.
Per poter analizzare il traffico é necessario abilitare una funzionalità detta port monitor o port mirroring. Non tutti gli switch dispongono di tale funzionalità: é necessario pertanto verificare con il produttore del proprio switch che il port mirroring sia disponibile. Negli switch Cisco questa caratteristica é detta Switched Port Analyzer (SPAN). Esistono due modi di attivare SPAN sui sistemi della Cisco dipendenti dal tipo di OS dello switch. Negli switch che montano i sistemi IOS, ad esempio la serie 2900XL, 3500XL e 4600, é necessario posizionarsi sulla interfaccia in cui é attestato l’IDS (esempio la FastEthernet 0/10) ed eseguire i seguenti comandi:
Switch(config)# int fa0/10 Switch(config)# port monitor FastEthernet 0/1 Switch(config)# port monitor FastEthernet 0/2 Switch(config)# port monitor VLAN 10
Il comando port monitor permette di analizzare una porta o una VLAN. In questo modo, tutto il traffico destinato a quella/e porta/e o VLAN verrà mandato alla sonda IDS. Sui sistemi che usano CatOS, ad esempio la serie 5000 e 6000, il comando é:
set span src_mod/src_port dest_mod/dest_port set span src_vlans dest_mod/dest_port
il valore di dest_mod/dest_port é la porta dove é attestato l’IDS, ad esempio:
set span 0/1-2 0/10 set span 10 0/10
Il primo esempio é relativo al monitoring delle porte 0/1 e 0/2, mentre il secondo é quello della VLAN 10.