Caratteristiche e tipologie dei sistemi di rilevamento delle intrusioni in informatica

Caratteristiche e tipologie dei sistemi di rilevamento delle intrusioni in informatica

Gli attacchi informatici, nell’ultimo decennio, hanno registrato, a livello globale, un incremento significativo sotto il profilo della frequenza, dell’impatto e delle dimensioni, al punto che risulta necessario sviluppare costantemente nuove tecniche di difesa che riescano a contrastarli. Proprio per questo, è pratica comune utilizzare delle tecniche basate su machine learning, in modo da addestrare dei sistemi capaci di rilevare repentinamente possibili attacchi. Tuttavia, anche questi sistemi hanno delle vulnerabilità, che possono essere sfruttate creando degli input specifici, detti campioni o esempi avversari, che hanno lo scopo di causare un output errato.

Che cos’è un sistema di rilevamento delle intrusioni?

Un sistema di rilevamento delle intrusioni, detto Intrusion Detection System o, più semplicemente, IDS, è un sistema di monitoraggio che rileva attività anomale, come le intrusioni (qualsiasi tipo di attività non autorizzata che causa danni a un sistema informativo), e che genera degli allarmi ogni volta che queste vengono rilevate. Il suo compito quindi, a differenza dei firewall, non è quello di bloccare qualsiasi connessione o codice considerati malevoli, ma quello di generare degli avvisi che verranno esaminati dai responsabili della sicurezza di quel sistema, i quali investigheranno il problema e sceglieranno le azioni da svolgere per rimediare alla minaccia.

Ad oggi il loro utilizzo è considerato necessario in quanto le nuove tecniche di attacco sono diventate talmente sofisticate da rendere obsoleti i normali firewall.

Caratteristiche e tipologie dei sistemi di rilevamento delle intrusioni in informatica

Tipologie di IDS

Esistono diverse tipologie di IDS. In riferimento al modo in cui lavorano si distinguono i Signature-Based IDS o SIDS e gli Anomaly-Based IDS o AIDS. Ragionando invece sulla loro disposizione si individuano gli Host-Based IDS o HIDS e i Network-Based IDS o NIDS.

SIDS e AIDS

Un SIDS si basa su tecniche di riconoscimento di pattern al fine di rilevare una tipologia di attacco conosciuto. Un componente cardine di questa architettura è il Database delle Signature: questo contiene le firme di tutte le intrusioni conosciute. La firma di una intrusione è una sequenza continua di bytes, spesso tradotta in stringa alfanumerica, che la identifica univocamente. Ogni volta che viene rilevata una nuova intrusione se ne calcola la firma e si inserisce nel database in modo da mantenerlo aggiornato. Il compito di un SIDS è quello di analizzare un comportamento, calcolarne la firma e ricercarne delle corrispondenze all’interno del Database delle Signatures, trovate le quali viene generato un allarme.

Per quanto riguarda la loro efficienza, i SIDS normalmente hanno un eccellente grado di rilevamento di intrusioni già conosciute e un basso tasso di segnalazione di falsi positivi, cioè comportamenti normali erroneamente rilevati come malevoli. Tuttavia, hanno molte difficoltà nel riconoscere nuove tecniche di intrusione, come gli attacchi Zero-Days, in quanto, per queste, non esiste nessun signature all’interno del database (verrebbe inserita per la prima volta solo dopo che questa intrusione è stata commessa e rilevata). Inoltre, un ulteriore svantaggio è la necessità di aggiornare costantemente il database dei signature.

Oggi questo approccio al rilevamento delle intrusioni è stato quasi totalmente abbandonato in favore degli AIDS. Questo perché gli attacchi più comuni sono gli Zero-Days, sui quali non si ha alcuna conoscenza a priori, e i malware polimorfi che, cambiando spesso forma, modificano la loro firma rendendone impossibile l’identificazione.

Un AIDS si basa sull’idea che un comportamento normale differisca da uno anomalo. La soluzione è allora quella di predisporre dei modelli di comportamento degli utenti, cosa che in passato era svolta tramite euristiche. Data la grandissima difficoltà nel trovare quelle migliori, differendo il comportamento degli utenti da sistema a sistema, si è fatta strada l’idea di utilizzare delle tecniche di Machine Learning che, autonomamente, sono in grado di apprendere la differenza tra i vari tipi di comportamento. Proprio grazie a questo approccio, oggi gli AIDS sono in grado di risolvere la maggior parte dei problemi dei SIDS, come quello di rilevare gli attacchi Zero-Day o le intrusioni relativamente nuove. Inoltre, sono difficili da superare dal momento che un attaccante non può conoscere quale comportamento è classificato come anomalo senza prima allertare il sistema.

Gli AIDS presentano però diversi svantaggi. Tra i principali vi è la necessità di addestrare il modello di Machine Learning, per il quale bisogna disporre di una grandissima quantità di dati in modo che l’IDS sia in grado di approssimare, in maniera più accurata possibile, i modelli di comportamento. Inoltre, l’addestramento è computazionalmente oneroso e richiede molto tempo, il che è poco adatto al mondo estremamente dinamico della sicurezza informatica. Sarebbe allora necessario ottenere periodicamente nuovi campioni da utilizzare per riaddestrare il modello di Machine Learning. Un ulteriore svantaggio è l’elevato tasso di falsi positivi dovuto al fatto che non esiste una linea di confine netta tra comportamento usuale e comportamento malevolo; infatti, esistono comportamenti al limite che tendono ad essere classificati erroneamente dall’AIDS.

In generale, oggi, SIDS e AIDS sono utilizzati insieme, uno a complemento dell’altro, in modo da aggiungere strati di protezione, migliorare l’efficienza nel rilevamento di anomalie e, di conseguenza, incrementare il livello di sicurezza del sistema.

HIDS e NIDS

 Un HIDS è un IDS interno all’host. Viene distribuito su un particolare endpoint e il suo compito è quello di proteggerlo dalle minacce interne ed esterne.

Gli HIDS hanno in generale una efficienza molto elevata in quanto godono di molti privilegi quale l’accesso al sistema operativo, alla memoria o ai registri. Proprio per questo possono avere la capacità di monitorare il traffico di rete da e verso la macchina, osservare i processi in esecuzione, ispezionare i registri del sistema e i file di log. Inoltre, dato che sono interni all’host, sono in grado di esaminare anche i dati cifrati.

Il problema è che la visibilità di un IDS basato su host è limitata solamente alla macchina sul quale viene distribuito, anche se, come detto, questa è molto approfondita. Un ulteriore svantaggio è dato dal fatto che la sua azione è ritardata: a causa del suo posizionamento entra in azione solamente quando l’intruso, o il malware, si trova già all’interno dell’host; quindi, ha già avuto a disposizione del tempo per entrare in esecuzione ed effettuare azioni potenzialmente dannose.

Un NIDS, al contrario, è una soluzione IDS basata sulla rete ed è progettata per monitorarla e, di conseguenza, proteggere tutti i dispositivi a essa connessi. Ha visibilità su tutto il traffico che scorre attraverso questa ed effettua il controllo basandosi sui contenuti, sui metadati dei pacchetti, quando non cifrati, e sulle statistiche del flusso di ogni comunicazione. Questo punto di vista è quindi molto più ampio di quello degli HIDS e fornisce la capacità di rilevare minacce diffuse. Inoltre, data la loro posizione, possono rilevare una anomalia prima che questa arrivi all’host vittima.

Tuttavia, questi sistemi hanno anche degli svantaggi: non hanno visibilità all’interno degli endpoint che proteggono e godono di pochi permessi rispetto agli HIDS. Inoltre, esistono numerose tecniche di evasione, come la cifratura, la frammentazione dei pacchetti e il flooding della rete, che impediscono ai NIDS di effettuare correttamente la propria analisi.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *