Sul mercato sono presenti diversi intrusion detection system (IDS) che spaziano dalle soluzioni di livello enterprise per il monitoring delle reti ai semplici sistemi per la gestione dei log in all’host. Sottolineiamo poi che c’è una certa differenza fra un sistema di intrusion prevention (IPS) e un Intrusion detection system: il primo si comporta meglio con un attacco già attivo e prova a bloccarlo, mentre un IDS tenta di registrare l’attacco e, in alcuni casi, informa un addetto al fine di attivare un piano di risposta all’incidente specifico.
Intrusion detection system ecco cos’è
IDS è un sistema hardware o software, a volte una combinazione dei due, progettato per individuare accessi non autorizzati a pc o reti.
Un sistema di Intrusion detection comprende i seguenti elementi: sensori per ricevere informazioni, un motore che analizza i dati, una console di monitoraggio e un database dove sono memorizzate le regome necessarie a identificare anomalie e violazioni.
Il beneficio che apporta un IDS è che possiamo vedere cosa passa attraverso la rete e quindi tentare di isolare qualsiasi traffico che sembra maligno. Questo è un aspetto importante, poiché si tratta di una funzione che manca in molti firewall.
Da quando i firewall funzionano sugli strati più bassi della comunicazione di rete, le loro regole di filtraggio sono generalmente limitate agli indirizzi IP, alle porte, all’ora del giorno e soltanto ad alcuni altri criteri. Con firewall che non esaminano le informazioni contenute in un pacchetto e prendono decisioni basandosi soltanto sugli header del pacchetto stesso, risulta evidente che viene consentito il passaggio di un certo traffico maligno.
Il ruolo dei IDS è di controllare in modo approfondito questi pacchetti, guardare i dati contenuti al loro interno e rispondere a domande come: “È un tentativo di portare al buffer overflow il server che spedisce le email?” oppure “Uno dei nostri utenti ha appena attivato l’ultimo exploit?”
È abbastanza importante per un amministratore essere informato di tutti i pacchetti che attivano questi segnali di pericolo all’interno degli IDS. Anche se gli avvertimenti sono spesso falsi allarmi, possiamo usare queste informazioni per esaminare ulteriormente lo stato della nostra rete al fine di scoprire se abbiamo a che fare con problema rilevante. Possiamo pensare a un IDS come a un allarme preventivo che avvisa quando transita qualcosa che potrebbe richiedere la nostra attenzione. Quando tentiamo di proteggere la nostra rete.
NIDS e HIDS
Gli IDS possono poi essere suddivisi in NIDS – Network Intrusion Detection System o HIDS – Host based intrusion detection system.
La differenza è che i primi controllano la rete e i secondi monitorano l’host. Questo aspetto risulta importante quando si sceglie un IDS, in quanto dobbiamo essere sicuri di cosa vogliamo controllare esattamente. Per esempio, molti amministratori non impiegheranno un HIDS su macchine Windows o Unix considerando la loro capacità built-in di produrre log dettagliati (event logs/syslog) e quindi preferiscono controllare il traffico sulla rete per individuare eventuali segnali di comportamenti maligni. Questa modalità può anche essere più affidabile dell’host monitoring, perché i log di un host compromesso non risultano ovviamente attendibili.
In generale NIDS sono fatti girare su dispositivi che hanno la capacità di controllare quanto è più possibile della rete, solitamente sopra o vicino a un gateway o su una sorta di porta di controllo su uno switch (SPAN/Mirror port).
NIDS configura la scheda di rete o le schede sul dispositivo per funzionare in modo “promiscuo”, il che significa che saranno fatti passare i pacchetti attraverso lo stack di rete indipendentemente dal fatto che siano o meno indirizzati a una particolare macchina. Ciò è importante perché, oltre a se stesso, un NIDS controllerà spesso le varie macchine. L’NIDS sull’host prenderà tali pacchetti e ne verificherà il contenuto informativo (e a volte anche gli header) per stabilire che non siano presenti tracce di codice maligno. Questa modalità operativa può ricordare quella dell’intelligenza artificiale, dato che l’NIDS analizza i pacchetti che gli transitano vicino; in realtà agisce in un modo molto più semplice.
Gli exploit, i virus, i worm, lo spyware e altro software maligno generano traffico di rete e questo traffico mostra spesso pattern specifici relativamente al software in uso, una specifica stringa in un exploit, specifici host che contatta e specifiche opzioni negli header del TCP/IP. Ci sono molti tecnici che controllano le loro reti e quando notano qualcosa di strano, la annotano e generalmente si informano presso i propri colleghi per vedere se qualcuno ha notato qualcosa di simile.
Successivamente, se viene rilevata l’attività maligna, qualcuno produrrà una “signature” per il loro IDS preferito e in molti casi per alcuni IDS nello stesso tempo. Sulla base di queste signature, il motore di rilevazione dell’IDS deciderà se contrassegnare un pacchetto come potenzialmente maligno.
Questo metodo raramente offre un’accuratezza del 100% perché possono essere forniti falsi positivi o negativi. La rilevazione è progettata come strato supplementare di difesa e non può dire con certezza se una rete è stata o meno compromessa. Quello che può fare è avvisare un amministratore che qualcosa sta succedendo.