È inevitabile che quando si parla di sicurezza informatica si pensi sempre alla migliore protezione possibile del sistema informativo aziendale. Le tipologie degli attacchi informatici si moltiplicano rapidamente e parecchi amministratori di sistema ne fanno conoscenza sulla propria pelle. È dunque importante appostare delle sentinelle vicino ai dati da proteggere o addirittura monitorare la vostra rete per vedere se siete vittima di un attacco: un IDS aiuta a svolgere tale funzione, come se fosse una videocamera installata nel caveau di una banca. Iniziamo ad analizzare l’argomento partendo dall’oggetto in questione: l’intrusione.
Una intrusione è una violazione delle politiche di sicurezza e di gestione predisposte in un sistema protetto. Non ha senso parlare di violazioni o intrusioni se un sistema non è esplicitamente protetto, ossia se non sono state predisposte barriere protettive evidenti (risorse umane, software ed hardware) ed una precisa politica di gestione della sicurezza. Le barriere devono essere evidenti nel senso di essere note a tutto il personale del sistema complesso che si protegge ed ovviamente a qualsiasi curioso che "per sbaglio" tentasse dall’esterno di accedervi senza i dovuti privilegi.
Un intruso in un sistema informatico è innanzitutto considerabile come una persona curiosa. Proprio tale atteggiamento, infatti, guida le prime fasi dell’intrusione anche dal punto di vista tecnico. Si cerca cioè di individuare, mediante attività apparentemente poco rischiose per il sistema, le sue maggiori vulnerabilità: le connessioni dati presenti, i servizi attivi, le applicazioni raggiungibili, le porte disponibili, il tipo di sistema operativo e così via. Successivamente, definite le vulnerabilità, l’intruso può iniziare la sua azione di intrusione mostrando la vera natura attraverso una delle seguenti attività:
- Impiegare un servizio disponibile per entrare nel sistema apparentemente in maniera corretta.
- Impiegare un servizio ai limiti delle sue possibilità facendogli svolgere funzioni non preventivate.
- Impiegare un servizio al fine di determinarne la caduta per poi eventualmente assumerne i privilegi all’atto della riattivazione.
A questo punto l’intrusione può effettivamente essere portata a termine in diversi modi:
- Copia, alterazione e/o rimozione di dati (file, log, database ecc.).
- Appropriazione di altri servizi.
- Appropriazione di privilegi e password.
- Alterazione dei software e creazione di backdoor.
- Istallazione di worm per controllo remoto o rilevazioni delle comunicazioni.
Il tutto può perdurare anche per diverso tempo almeno fino a quando l’intruso o le sue tracce non vengono rilevati oppure, come accade di frequente, l’intruso stesso perde di interesse e smette di impiegare le risorse o le danneggia definitivamente.
Intrusion Detection
Il rilevamento dell’intrusione è 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". 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 Intrusion Detection (che chiameremo per comodità ID), 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. Lo scopo dell’ID è individuare evidenze di attacco per poter garantire un’efficace protezione del sistema.
L’ID per la protezione del sistema ha molto più senso se svolto quasi in concomitanza con il fatto (l’intrusione); questo non toglie che l'ID può essere svolta dopo il fatto ed a scopi differenti dalla protezione. Le evidenze da trovare nella ID non devono necessariamente essere ammissibili legalmente 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 giudiziario (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 "monitorano gli eventi in un sistema informatico complesso analizzando essi e la loro correlazione al fine di segnalare problemi di sicurezza".
I sistemi IDS devono essere collocati in posizioni strategiche, più utili vicino ad attività importanti, all’interno di vari livelli di sicurezza, configurati in modo appropriato e monitorati. Nella maggior parte degli ambienti, essi dovranno occuparsi di una quantità notevole di traffico di rete mal formato. Chi gestisce un IDS deve essere in grado di destreggiarsi con questo tipo di traffico e tollerare parecchio rumore; deve inoltre anche essere certo di non diventare troppo permissivo a causa delle tendenze dei sitemi IDS a gridare al lupo.
Sono disponibili molti strumenti IDS, sia gratuiti che a pagamento. Gli sniffer, come Snort, Ethereal e Bro sono molto uitili. Nel prossimo articolo vedremo nei dettagli l’utilizzo di un IDS come Sniffer per la riproduzione del flusso TCP.