INFORMATICA - SICUREZZA - IDS

Gli IDS (Intrusion Detection System) diverranno sempre più intelligenti e soprattutto parte indispensabile dei sistemi di protezione delle reti... Marco Mattiucci

Anno 2007

Per intrusione si intendono “gli accessi o i tentativi di accesso a risorse di un sistema informatico da parte di un utente che non possiede i richiesti privilegi” [32]. Il rilevamento dell’intrusione è quindi da intendersi come il “problema di identificazione di quegli utenti che stanno impiegando (o tentando di impiegare) le risorse di un sistema informatico senza averne i richiesti privilegi” [33, 34]. Questa definizione include ovviamente anche coloro che pur avendo determinati privilegi sul sistema (e quindi potendo accedervi) cercano di violare tali diritti magari allargandoli ad altre risorse.

Nel processo di ID (Intrusion Detection), a prescindere da come sia costruito, si parte da sintomi evidenziati sul sistema o sui dati delle comunicazioni digitali per realizzare che l’intrusione è avvenuta. In pratica si cercano le prove dell’avvenimento di una violazione nell’ambito di un sistema informatico generalmente distribuito. È abbastanza evidente il parallelismo con quanto avviene nel FC (Forensic Computing) ma esistono delle differenze sostanziali che è il caso di esaminare proprio per poter meglio capire, successivamente, come avvicinare i due settori.

a. Lo scopo dell’ID è individuare evidenze di cyber-attack per poter garantire un’efficace protezione del sistema mentre il FC è concentrato sull'individuazione di evidenze di fatti anche molto complessi e sicuramente non così limitati.

b. L’ID per la protezione del sistema ha molto più senso se svolto quasi in concomitanza con il fatto (l’intrusione) mentre il FC opera sempre “post-mortem”. Questo non toglie che ID può essere svolta dopo il fatto in maniera forense ed a scopi differenti dalla protezione.

c. Le evidenze da trovare nella ID non devono necessariamente essere ammissibili legalmente come nel FC ma solo permettere di sviluppare una valida strategia di difesa. Si noti a tale proposito che non tutte le intrusioni hanno valenza di violazione legale e quindi non possono essere considerate da un punto di vista forense (tutto dipende da come è stata impostata la politica di gestione del sistema informatico nel suo ambito operativo).

La logica conclusione è che nell’ID si possono impiegare tool e strategie che non devono necessariamente dare garanzie legali per cui la flessibilità consentita è molto più ampia. In generale l’ID, allo stato attuale, non può essere compiuta in maniera completamente automatizzata ma esistono dei tool hardware/software di grande utilità per gli amministratori di sistema che vengono denominati Intrusion Detection System i quali “monitorizzano gli eventi in un sistema informatico complesso analizzando essi e la loro correlazione al fine di segnalare problemi di sicurezza” [35]. Gli IDS esistenti possono essere classificati in base ai seguenti attributi funzionali [35, 36]:

1. Classificazione in base alla sorgente di dati analizzata

Si riconoscono in letteratura 4 tipi diversi di IDS in base alla sorgente di informazioni analizzata per ricavare evidenze di intrusioni:

a. Network based IDS (NIDS): un NIDS [37] intercetta ed analizza i pacchetti che viaggiano sulla rete mediante una scheda di rete “stealth” non raggiungibile quindi da nessun utente per quanto privilegiato. Si tratta quindi di una macchina dedicata che opera normalmente in real time e 24 ore su 24 il cui accesso fisico deve essere destinato prevalentemente all’amministratore o al responsabile per la sicurezza.

b. Host based IDS (HIDS): un HIDS [38] monitorizza ed analizza predeterminati file di log ed in particolare gli audit log del sistema operativo. Opera sia in modalità tempo reale che periodica anche se il concetto di tempo reale è vincolato all’aggiornamento dei log dato che non interviene direttamente sulle comunicazioni digitali. Alcuni HIDS svolgono anche monitoraggio delle porte dell’host.

c. Application based IDS (AIDS): si tratta di speciali HIDS che si concentrano su particolari audit log di applicazioni specifiche.

d. Stack based IDS (SIDS): ultima tecnologia di ID [36], un SIDS opera direttamente sulla pila TCP/IP monitorando il passaggio dei pacchetti attraverso gli strati del protocollo di rete. 

2. Classificazione in base al metodo di analisi dei dati

In questo senso si possono riconoscere due tipologie di IDS [35]:

a. Fingerprint based IDS: sono sistemi di rilevamento basati su un database di caratteristiche di classi di attacchi. Quando un matching tra gli eventi ultimamente registrati ed una classe di caratteristiche in database è positivo (o sufficientemente positivo) l’IDS segnala la possibilità che sia in atto un’intrusione. Sfortunatamente tali IDS sono estremamente rigidi perché non possono aggiornare autonomamente le classi di attacchi noti e quindi qualora si presenti un’intrusione non classificata non la evidenziano affatto.

b. Historical profile based IDS: esistono diversi IDS di natura commerciale e sperimentale che cercano di determinare un profilo medio nel periodo di impiego del sistema controllato. Qualora l’IDS rilevi una brusca variazione di tale profilo segnala una possibile intrusione o quanto meno una irregolarità di funzionamento. Si impiegano a tale scopo: strategie a soglia, strategie statistiche/probabilistiche, reti neurali e sistemi esperti [39].

Gli IDS di tipo b. consentono di rilevare nuove tipologie di attacchi ma, contrariamente agli a., presentano all’amministratore un discreto numero di falsi allarmi. Nella maggioranza dei casi si accetta tale fatto in un’ottica prudenziale. Gli IDS di tipo b. sono stati comunque contestati anche per motivi di privacy in quanto, data l’analisi dei profili di lavoro degli utenti che svolgono è come se catalogassero le modalità di svolgimento delle attività di coloro che usufruiscono del sistema informatico controllato (tempi, applicazioni impiegate, flusso di comunicazioni, ecc.).

3. Classificazione in base alla reazione di fronte alle intrusioni

Si individuano due classi di IDS [35] in base alla loro risposta di fronte ad attacchi ed intrusioni:

a. Active IDS: reagiscono alla situazione anomala eseguendo delle applicazioni particolari previste dall’amministratore, modificando l’ambiente del sistema (isolando ad esempio delle risorse) e talvolta, nel caso riesca ad identificarlo, anche agendo direttamente sul responsabile dell’attacco isolandolo e registrandone accuratamente le successive azioni e comunicazioni.

b. Passive IDS: un IDS passivo si limita a notificare allarmi all’amministratore di sistema che è responsabile di decidere le azioni da intraprendere.

Gli IDS attivi possono risultare pericolosi nel caso di falsi allarmi. In taluni casi, data la possibile interazione diretta con il presunto responsabile dell’intrusione, possono anche svolgere azioni al limite illegali e quindi le reazioni di tali tool sono da calibrare attentamente.