Il Sacro Graal della correlazione Print
La correlazione di allarmi nei sistemi IDS è un problema complesso, per cui non esistono ancora soluzioni efficaci nemmeno a livello di ricerca. La speranza di risolvere i problemi di una tecnologia non matura (gli IDS) con una tecnologia embrionale (la correlazione) potrebbe costare cara agli early adopter.

Nel moderno panorama di continui attacchi e compromissioni di reti informatiche, viene da chiedersi dove e perchè si siano arenati tutti i progetti che avevano a che fare con l'intrusion detection, ovvero con il monitoraggio continuo dei sistemi in cerca di segni d'effrazione.

Una delle motivazioni chiave addotte dagli early adopter delle tecnologie IDS è la difficoltà nel monitoraggio, in termini di analisi dei falsi allarmi, di tuning dei sistemi, e soprattutto in termini di ricostruzione degli eventi, incrociando i dati da una molteplicità di sonde di rete (specie in architetture complesse e distribuite) e di sonde host-based sui server critici. Un'altra motivazione è che i sistemi IDS attuali non sono in grado di rilevare gli attacchi “zeroday", ovvero gli attacchi rivolti contro vulnerabilità non note e catalogate. Infatti, al di là del marketing, tutti i sistemi di intrusion detection in commercio sono fondamentalmente "misuse based", ovvero usano una base di regole (più o meno sofisticata ed aggiornata) per identificare gli attacchi. Risulta ovvio che, a meno di casi fortunati, un sistema del genere non può identificare attacchi nuovi.

L'anomaly detection (ovvero l'analisi statistica e mediante algoritmi di apprendimento del comportamento normale del sistema, alla ricerca di eventuali deviazioni) è l'unica possibile risposta per rilevare un attacco contro una vulnerabilità non pubblica.
Purtroppo, gli algoritmi anomaly-based sono raramente usciti dalle istituzioni di ricerca, e solo alcune piccole compagnie producono sistemi IDS basati su queste tecniche. Ma, anche qualora si dovessero finalmente diffondere, rimarrà il problema di come correlare tra loro gli allarmi di IDS host-based e network-based, misuse-based e anomaly-based. Purtroppo, il vocabolo “correlazione" è stato ampiamente usato ed abusato dai produttori di tecnologie IDS, generando molta sfiducia negli acquirenti. Difatti, spesso viene spacciata come “correlazione" la semplice raccolta, aggregazione e centralizzazione di alert provenienti da fonti distribuite. Questo è un problema di tipo tecnico, già risolto con successo.

Il problema scientifico e tecnologico rilevante, tuttavia, è che nella maggior parte dei casi le informazioni raccolte sono prive di qualsiasi forma di semantica (non è raro trovarle archiviate sottoforma di testo libero). Alcuni IDS misuse-based sono stati opportunamente integrati con basi di conoscenza che consentono ad uno strumento di correlazione di analizzare il contenuto degli allarmi. Tuttavia, a causa della mancanza di standard solidi in questo senso, tale opportunità è limitata alle sonde di un singolo vendor, cosa che in realtà eterogenee è spesso inapplicabile.

Inoltre, permane il problema di come correlare i log degli IDS con quelli, ad esempio, di firewall o antivirus, che raramente sono di un singolo produttore. Infine, bisogna prendere coscienza che il problema chiave di "come correlare le informazioni tra loro" è lungi dall'essere risolto. Ciò che ci aspetteremmo da un sistema di correlazione sono dei “riassunti" compatti degli eventi, che eliminino informazioni ridondanti circa gli attacchi, e che per quanto possibile ricostruiscano relazioni di causa/effetto e scenari d'aggressione.

Vorremmo cioè che l'output ci consentisse ad esempio di seguire la sequenza di azioni effettuate da un aggressore, e identificarne più facilmente la finalità. Pertanto un sistema di questo genere sarebbe tanto più efficace quanto più in grado di ridurre il numero di informazioni presentate all'analista, senza perdere di completezza.

Alcuni sistemi cercano di risolvere questo problema con un motore a regole che associa tra loro attacchi che ricadono in "scenari noti". Questo meccanismo soffre una volta di più dei problemi della misuse detection, e di fronte ad un aggressore creativo o a nuove minacce non può essere efficace. Di male in peggio, alcuni sistemi addirittura sono semplici applicatori di regole e richiedono all'utente finale di definire le sue regole di correlazione. In altri casi, più raramente, vengono utilizzati sistemi di tipo statistico per sopprimere alert che fanno parte del rumore di fondo e cercare di identificare le "novità".

Questo è un meccanismo che può funzionare, ma sicuramente non giunge all'obbiettivo. Infine, nessuno dei sistemi esistenti è sufficientemente generico per essere adattato all'anomaly detection. Quasi tutti i motori si basano su molteplici forme di conoscenza pregressa: per esempio, dei valori di “gravità" di un tipo di attacco, oppure una sua classificazione, quando non delle intere “firme di scenari"; tutte informazioni che mal s'adattano all'integrazione di sistemi anomaly-based.

Purtroppo, da un'analisi seria dell'offerta, si può facilmente cogliere come il progetto di algoritmi per la correlazione di allarmi sia un problema nuovo, aperto e che ancora necessita di molto studio ed investimento in ricerca e sviluppo. La maggioranza degli strumenti, commerciali e non, oggi si basa su algoritmi che non possono prescindere dalla particolare situazione e dal particolare tipo di analizzatori, e purtroppo spesso anche dalla pre-esistenza di regole statiche di correlazione.

I problemi arrivano fino alla definizione di cosa significhi "correlazione", e al significato dei dati in ingresso ai sistemi, ovvero all'eterogeneità (o assenza) della semantica di ciascun formato. C'è ancora molta, molta strada da fare, prima di poter realizzare un sistema di correlazione automatica che non sia semplicemente un soprammobile.