Intrusion Detection System e Intrusion Prevention System: una panoramica

Il miglior modo per proteggere una rete o un singolo computer sta nel riconoscere e respingere in maniera preventiva gli attacchi, ancora prima che questi possano causare danni. Molti si affidano per questo ai cosiddetti Intrusion Detection System (IDS) o ai più versatili Intrusion Prevention System. In questa guida scoprirete cosa siano questi due programmi di sicurezza e come funzionino esattamente.

Che cos’è un Instrusion Detection System?

Un Instrusion Detection System (IDS), che in italiano è traducibile con sistema di rilevamento delle intrusioni, serve a individuare in anticipo attacchi verso un computer o una rete. I software IDS possono essere installati sia direttamente sul sistema che si vuole controllare, sia su un dispositivo separato. Molti fornitori offrono software IDS preconfigurati, che sono però relativamente costosi.

Gli Intrusion Detection System controllano ed analizzano tutte le attività di rete, al fine di scovare un traffico dati insolito e quindi, in tal caso, informare l’utente interessato. In questo modo l’utente ha la possibilità di reagire ai tentativi di accesso da parte dell’intruso e bloccare questi attacchi sul nascere. In linea di massima la differenza tra i metodi di individuazione degli attacchi sta nella loro impostazione, ovvero se sono basati su host o su rete.

Intrusion Detection System basati su host

I primi IDS basati su host furono già impiegati negli anni 80 con lo scopo di proteggere le reti di computer centralizzate. Il sistema di identificazione veniva quindi installato semplicemente sul computer centrale, dal quale dipendono tutti i terminali collegati, e controllava perciò il traffico dati su questo host, in modo da poter analizzare attentamente i file di login, i dati del kernel e i file di sistema. Con lo sviluppo dei terminali a postazioni di lavoro autonome con capacità di calcolo propria si è stati costretti ad adeguare la tecnica basata su host. Per poter sorvegliare allo stesso modo i singoli sistemi autonomi si è dunque passati ad installare sui medesimi dei moduli speciali, chiamati anche monitoring agent o, in italiano, agenti di monitoraggio. Questi filtravano il traffico dati ed inoltravano i dati al server centrale, che dal canto suo si occupava dell’individuazione degli attacchi. Proprio per questo sviluppo si parla anche di Intrusion Detection System distribuiti.

Intrusion Detection System basati su rete

L’aumentare della connessione delle reti locali con Internet ha richiesto un ulteriore sviluppo della tecnica IDS. Da una parte l’approccio basato su host non era adatto ai flussi dati flessibili e complessi di Internet; dall’altra gli attacchi non erano più fisicamente vicini al sistema target dell’attacco, ma potevano essere eseguiti da lontano su diversi client attraverso la rete. Poiché gli accessi non autorizzati devono passare necessariamente attraverso il protocollo TCP/IP ovvero l’UDP (User Datagram Protocol), i sistemi basati su rete hanno smesso di controllare i dati campione, iniziando ad analizzare invece i pacchetti IP, motivo per cui erano abbinati al firewall utilizzato. In questo modo un’unità di sorveglianza centrale non è più limitata al controllo di un singolo sistema, inteso come dispositivo, ma vigila invece sull’intero traffico dati della rete.

Come lavorano gli Instrusion Detection System moderni

La tendenza degli Intrusion Detection System odierni è quella di combinare i due approcci, garantendo in questo modo un maggiore tasso di rilevamento degli attacchi. Questi sistemi ibridi si differenziano per un loro sistema di gestione centrale, al quale vengono fornite informazioni attraverso un software basato sia su rete sia basato su host. Tre elementi fanno parte del processo di rilevamento:

Monitoraggio dati

Con il monitoraggio dati si raccolgono e filtrano in maniera preventiva tutti i dati rilevanti necessari per smascherare gli intrusi. Si tratta dei dati campione, già accennati sopra, come i file di log dei vari computer e dei programmi di sicurezza, oltre che delle informazioni di sistema, come ad esempio il carico della CPU, il numero di connessioni di rete attive o il numero consecutivo di tentativi di login. Inoltre il monitoraggio dati, nell’IDS ibrido, utilizza naturalmente anche le informazioni relative alle connessioni TCP/IP come l’indirizzo sorgente e quello di destinazione ed ulteriori caratteristiche dei pacchetti dati inviati e ricevuti, ricevuti dal sensore IDS basato su rete.

Analisi

Il flusso dati raccolto e prefiltrato viene inviato dal monitoring all’analizzatore, che ha il compito di elaborare e valutare le informazioni ricevute in tempo reale, altrimenti non si riuscirebbe a controllare i tentativi di accesso. Il processo di analisi risulta quindi relativamente pesante sull’hardware in questione (soprattutto in relazione alla CPU e alla RAM). In particolare nelle grandi reti aziendali risulta infatti la giusta configurazione di questi componenti dell’IDS una delle operazioni più complicate, ma anche il compito più importante, per garantire la funzionalità del sistema. L’analizzatore può contare su due diversi metodi per la classificazione dei dati.

  • Con la tecnica della Misuse Detection (traducibile con rilevamento per uso improprio) l’analizzatore tenta di riconoscere tra i dati ricevuti degli schemi di attacco già noti. Questi sono salvati in una banca dati separata, che viene aggiornata regolarmente. Per ogni schema il database fornisce informazioni sulla gravità degli attacchi. Ma sebbene in tal modo questi modelli già conosciuti possono essere facilmente riconosciuti e classificati, uno schema di attacco non presente nella banca dati riesce a non essere individuato.
  • La tecnica dell’Anomaly Detection (traducibile con rilevamento per anomalia) si basa su un altro principio: questo procedimento di analisi parte dal presupposto che, un accesso non autorizzato causa un comportamento del sistema anormale, dal quale risultano dei valori diversi da quelli soliti. Dunque, per esempio, l’analizzatore può essere configurato in modo da lanciare l’allarme quando il carico della CPU o il tasso di accessi alle pagine supera un determinato valore (impostazione statica) o, in alternativa, per la sua valutazione sceglie di basarsi sulla successione temporale degli eventi (impostazione logica). Con l’aiuto dell’Anomaly Detection è dunque possibile rilevare nuovi attacchi sconosciuti fino a quel momento; però d’altra parte questa tecnica di individuazione attiva in alcuni casi avverte anche nel caso di uno stato insolito del sistema, che non è però da ricondurre ad un’intrusione.

Trasmissione dei risultati

Nell’ultimo passaggio l’Intrusion Detection System informa l’amministratore della rete nel caso in cui sia stato rilevato un attacco o sia stato registrato un comportamento sospetto del sistema. In base al possibile rischio vi sono diverse forme con le quali può essere inviata la comunicazione, come ad esempio:

  • Può essere inviata un’e-mail, contenente delucidazioni riguardanti l’attacco;
  • può essere attivato un allarme locale, come una finestra pop-up sulla console di sicurezza;
  • può essere inviato un messaggio di allarme ad un dispositivo mobile.

Ricapitolando, il grado di pericolosità viene stabilito con la tecnica dell’Anomaly Detection in base all’ampiezza del distacco dai valori di norma, mentre con il processo del Misuse Detection viene ricevuta una sorta di raccomandazione da parte della banca dati in cui sono contenuti gli schemi di attacco conosciuti.

I vantaggi e gli svantaggi di un Intrusion Detection System

Data la versatilità delle loro tecnologie, gli Intrusion Detection System sono in grado di determinare anche quegli attacchi, che invece i soliti firewall non riescono a rilevare. Analizzano i pacchetti dati fino al più alto livello del modello ISO/OSI e controllano così in maniera mirata i singoli programmi in esecuzione. I sistemi che utilizzano l’Anomaly Detection sono anche in grado, grazie al loro procedimento di analisi, di scoprire nuovi e flessibili schemi di attacco ed in questo modo aumentare il livello di sicurezza di una rete. Ad ogni modo non bisogna commettere l’errore di considerare un sistema IDS come un sostituto del firewall, perché solo una combinazione tra i due componenti permetterà di ottenere una protezione adeguata.

Essendo gli Intrusion Detection System delle componenti attive di una rete, anche loro potrebbero diventare l’obbiettivo di un attacco, specialmente se colui che guida l’attacco è a conoscenza della loro presenza. Data la debolezza degli IDS verso gli attacchi DoS, l’intruso riesce spesso ad arrestare il software IDS velocemente. Inoltre l’intruso può approfittare della funzione automatica di notifica del sistema, per avviare un attacco partendo proprio dall’IDS. In particolare il rilevamento delle anomalie presenta una grave vulnerabilità nel caso di una configurazione errata, mentre qualora ci siano impostazioni troppo sensibili, il numero di messaggi di allarme diventa relativamente alto senza che siano realmente avvenuti accessi illeciti.

In ogni caso bisogna ponderare bene i costi di questi sistemi di sicurezza, ovvero la spesa in relazione all’utilizzo e i tempi necessari per installarli, poiché non vi serve solamente un software IDS, bensì anche un ambiente hardware adeguato. Anche quando si tratta di soluzioni open source performanti come Snort, basato su rete, Samhain, basato su host, o Suricata, ibrido, la corretta installazione, la configurazione e la manutenzione spettano a voi.

Che cos’è un Intrusion Prevention System?

L’Intrusion Prevention System (IPS), che può essere liberamente tradotto in italiano con sistema di prevenzione delle intrusioni, come suggerisce il nome, va oltre all’Intrusion Detection System: dopo aver appurato la possibilità di un attacco, questo tipo di sistema non si limita ad informare l’amministratore, ma attiva immediatamente delle misure di sicurezza adeguate. In questo modo evitano che passi un intervallo di tempo troppo lungo tra il rilevamento di un intruso e l’attuazione di azioni volte a fermarlo, come può invece capitare con i programmi IDS. Per quanto riguarda i metodi di analisi dei dati utilizzati dai due meccanismi di difesa della rete, non vi è una grande differenza. Oggi come oggi un IPS così come un IDS ricorrono agli stessi sensori, basati su host e su rete, allo scopo di registrare e classificare i dati del sistema e i pacchetti di rete.

Un Intrusion Prevention System dovrebbe solitamente venir configurato in maniera molto personalizzata, in modo da impedire che azioni usuali dell’utente vengano classificate come pericolo e quindi bloccate attraverso l’Anomaly Detection. Nel caso in cui utilizziate sia l’uno che l’altro sistema con molti programmi, con alcune applicazioni open source, come ad esempio le sopracitate Snort e Suricata, è possibile scegliere tra un’operazione attiva di blocco ed una semplice attività di sorveglianza. Un’ulteriore opzione è anche quella di utilizzare un sistema che li combini entrambi o che li utilizzi separatamente. Nel caso di quest’ultima variante, l’attività di filtraggio e di blocco possono essere ripartite tra gli ambienti hardware.

La varietà del software IPS utilizzato può variare considerevolmente, come spiegato nell’esempio a conclusione di questo articolo con i programmi gratuiti DenyHosts e Snort.

DenyHosts: la risposta semplice agli attacchi di forza bruta

Con l’aiuto del tool DenyHosts, scritto in linguaggio di programmazione Python, impostate un Intrusion Prevention System, basato su host, per la vostra connessione SSH/SSHD, il quale riconosce ed impedisce gli attacchi di forza bruta (brute force in inglese). A questo scopo il programma open source verifica i dati di authentication log per trovare dei nuovi, falliti tentativi di login durante la connessione SSH. Così facendo, quando un indirizzo IP ha superato la soglia di tentativi errati, soglia che viene prestabilita dall’utente, DenyHosts blocca questo IP e lo inserisce in una blacklist. In questo modo risulta impossibile per l’hacker riprovare a loggarsi in futuro utilizzando lo stesso indirizzo.

Le uniche condizioni per l’utilizzo di DenyHosts sono l’uso di un sistema operativo di tipo Unix e del linguaggio di scripting Python, comprensivo del modulo ipaddr, che è in genere già presente nella maggior parte delle distribuzioni. Le versioni aggiornate di questo tool per IPS possono essere trovate sulla repository ufficiale di DenyHosts su GitHub. Altrimenti, una possibile alternativa con un procedimento molto simile è l’applicazione Fail2ban.

Snort: un sistema di regole flessibile per la sicurezza della propria rete

Già nel 1998 il programmatore Martin Roesch rilasciò Snort, un tool per la gestione della sicurezza; inizialmente solo in versione Unix. Dal 2013 invece è Cisco Systems ad essere responsabile dello sviluppo del programma multipiattaforma con licenza GPL. L’azienda statunitense offre diversi pacchetti di abbonamento a pagamento per questo tool libero, i quali garantiscono tra le altre cose aggiornamenti più rapidi del sistema di regole e supporto aggiuntivo sia ad utenti privati che ad aziende. Snort offre tutte le funzioni necessarie per impostare un efficace Intrusion Prevention System basato su rete. Altrimenti il software offre anche l’opzione di una configurazione di solo controllo e che quindi funziona come base per un Intrusion Detection System.

Snort controlla il traffico della rete in tempo reale ed utilizza il motore BASE per l’analisi, un motore per la Misuse Detection. Questo tool compara i pacchetti dati in entrata ed in uscita con gli schemi di attacco della propria banca dati, che su Snort vengono chiamati regole (rules in inglese). La Cisco Systems aggiorna questo sistema di regole costantemente con gli ultimi schemi di attacco scoperti; chiaramente i clienti che decidono di sottoscrivere l’abbonamento già citato in precedenza, riceveranno gli aggiornamenti in minor tempo. L’utente ha anche la possibilità di definire le proprie regole, così da migliorare ulteriormente la capacità di rilevamento di Snort. Ulteriori informazioni riguardo ad entrambe le versioni, gratuita o a pagamento, sono disponibili sulla sito ufficiale di Snort.


Abbiamo una proposta per te:
Web hosting a partire da 1 €/mese!

Dominio gratis
Certificato SSL Wildcard incluso
Assistenza clienti 24/7
A partire da 1 €/mese IVA escl. per un anno,
poi 8 €/ mese IVA escl.