IDS
Transcript
IDS
Meccanismi per la Gestione degli Attacchi di prevenzione (ad es. controllo accesso, crittografia) di rilevazione di tolleranza • Rollback recovery • Rollforward recovery lberto Montresor Intrusion Detection Intrusion Detection (ID) • L'arte di rilevare intrusioni all'interno di un singolo host, di una rete o in generale di un sistema distribuito ID può essere: • Automatica (IDS) • Manuale (amministratore di sistema) • Attiva • Passiva Intrusion Dection System (IDS) • lberto Montresor Un meccanismo automatico per rilevare intrusioni Intrusion Detection Non è possibile utilizzare • solo approcci automatici • solo approcci manuali Infatti: • nel primo caso è possibile che l'analisi effettuata dagli IDS non copra tutti i possibili attacchi • nel secondo caso: la mole di informazioni da guardare è troppo elevata lberto Montresor Errori associati a IDS Falsi positivi • E' una situazione in cui l'IDS notifica l'amministratore di un evento eccezionale, ma: non è un'intrusione • Troppi falsi positivi : l'amministratore smette di "ascoltare" l'IDS a causa del rumore Falso negativo • E' una situazione in cui un'intrusione è in corso, ma: l'IDS non riesce a rilevare l'intrusione • Un falso negativo : il sistema è compromesso lberto Montresor Errori associati a IDS Subversion • In italiano manomissione, avviene quando un attaccante modifica il funzionamento di un intrusion detector al fine di causare un falso negativo • Il sistema deve essere in grado di proteggere se stesso lberto Montresor Intrusion Detection Systems (IDS) Obiettivi di un IDS • Minimizzare sia il numero di falsi negativi che il numero di falsi positivi Considerazioni • Minimizzare il numero di falsi negativi può comportare un numero di falsi positivi non nullo • non può essere l'obiettivo primario lberto Montresor • Ma minimizzare il numero di falsi positivi può comportare un elevato numero di falsi negativi • Quanto "rumore" è possibile sopportare? Componenti di un IDS Sensori • Compito dei sensori è raccogliere informazioni • Ad esempio: pacchetti di rete, log file, system call Meccanismi di analisi • Il suo compito è determinare se è avvenuta un'intrusione • L'output dell'analisi può contenere prove dell'avvenuta intrusione Interfaccia utente • Permette di interagire con l'IDS lberto Montresor Componenti di un IDS Honeypot • Componente addizionale, sostanzialmente un sensore • E' una trappola: • un sistema "fintamente" debole che offre finti servizi e serve ad attirare gli attaccanti Esempi • Deception Tool Kit • Honeynet lberto Montresor Classificare e valutare gli IDS Gli IDS possono essere classificati in base ad alcuni parametri • Architettura utilizzata • Temporizzazione • Sorgente delle informazioni • Tipo di analisi svolta • Tipo di risposta lberto Montresor Host-Based System - Vantaggi Possono rilevare attacchi interni all'host • • • • Attività di accesso ai file Attività di logon/logoff (attacchi di forza bruta) Cambiamenti negli account Cambiamenti di politiche Possono verificare se un attacco ha avuto successo • Verifica dei log Possono operare in ambienti in cui il traffico è criptato (a livello rete/trasporto) Possono rilevare Trojan Horse e altri attacchi che coinvolgono l'integrità del software lberto Montresor Modello di intrusione Anomaly detection model • Le intrusioni sono rilevate cercando attività che si differenzino dal normale comportamento di un utente • Esempio: • errori nella digitazione di una password più frequenti Misuse detection model • Le intrusioni sono rilevate cercando di scoprire attività che corrispondano a tecniche note di intrusione • Esempio: • tentativi di creare file di tipo setuid • letture del file /etc/passwd lberto Montresor Anomaly detection Modello classico per Anomaly Detection [Denning 87] lberto Montresor • infrangere la sicurezza di un sistema comporta spesso un uso anormale del sistema • le violazioni di sicurezza possono essere rilevate osservando variazioni nel comportamento del sistema Anomaly detection Profilo per utente / macchina / rete • Viene costruito un modello per ognuna delle entità attive nel sistema, che contiene metriche basate sul funzionamento dell'entità • Una metrica è definita come: una variabile che rappresenta una misura quantitativa accumulata su un periodo • Esempi: • carico medio della CPU, n. di processi per utente, n. di connessioni di rete, etc. lberto Montresor Anomaly detection Tecniche utilizzate • Threshold • Viene stabilita una soglia, che può essere statica o dinamica, per ognuna delle metriche considerate • Rule-based • Il comportamento accettabile non viene stabilito tramite una soglia precisa, ma in base a regole complesse • Misure statistiche • Analisi della distribuzione statistica delle richieste • Un caso particolare del precedente lberto Montresor Anomaly detection Tecniche utilizzate • Reti neurali • Sistemi di classificazione basati su machine learning • Algoritmi genetici • Sistema immunitario lberto Montresor Anomaly Detection – Vantaggi e svantaggi Vantaggi • Sono in grado di rilevare i "sintomi" di un attacco, senza conoscerne esattamente i dettagli • Possono essere utilizzati al fine di rilevare nuovi attacchi per i misuse detector Svantaggi • Alto numero di falsi positivi • Possono richiedere una grande quantità di training da parte dell'amministratore di sistema lberto Montresor Misuse detection Misuse detection • Si basa sulla conoscenza di un dizionario di attacchi • Corrisponde ad eseguire pattern matching • si "loggano" gli eventi eseguiti dal sistema • il meccanismo di analisi cerca i segni di un attacco negli eventi contenuti nei log Tassonomia: misuse detection • Signature-based ID • State-based ID lberto Montresor Signature-based misuse detection Signature detection • la forma più comune utilizzata nei prodotti commerciali • specifica ogni attacco come un pattern di eventi (signature) • ogni possibile attacco è caratterizzato dalla sua signature Nota: • spesso le signature sono definite in modo (troppo) preciso • leggere varianti dello stesso attacco non vengono rilevate lberto Montresor State-based misuse detection State-transition analysis • Un attacco è visto come una sequenza di azioni • a partire da uno stato iniziale non compromesso • fino ad uno stato finale compromesso • attraverso una serie di stati intermedi • passando da uno stato all'altro attraverso transizioni di stato • I possibili attacchi possono essere rappresentati come un grafo • Tutti i possibili percorsi sul grafo sono analizzati, non solo le sequenze di azioni note lberto Montresor Misuse detection - Vantaggi/svantaggi Vantaggi • Efficace nel rilevare attacchi senza generare un numero enorme di falsi positivi • Permette di identificare velocemente e affidabilmente una tecnica/tool di attacco precisa • Il grado di conoscenza del sistema richiesto agli amministratori di sistema è ridotto Svantaggi • lberto Montresor Il sistema è in grado di rilevare solo attacchi già noti Misuse detection vs anomaly detection Il problema della "knowledge base": Anomaly detection: • Il sistema deve essere istruito sul comportamento normale • E' compito dell'amministratore del sistema • Può essere automatizzato Misuse detection • Il sistema deve essere istruito sul comportamento anormale • E' compito del produttore dell'IDS lberto Montresor Misuse detection vs anomaly detection Sistemi commerciali • Gran parte basati su misuse detection • Integrano alcune tecniche di anomaly detection Sistemi "di ricerca" • lberto Montresor Affermano che le tecniche di anomaly detection sono superiori, perchè è possibile automatizzare la fase di training Architettura Definizioni • Host: il dispositivo in cui l'IDS viene eseguito • Target: il dispositivo che deve essere analizzato Co-locazione Host-Target • In molti casi, host e target coincidono. Questo aumenta il rischio di subversion • Comune in ambiente mainframe Separazione Host-Target • Host e target sono separati. Per manomettere l'IDS, l'attaccante deve compiere una seconda intrusione lberto Montresor Architettura In caso di separazione host-target: • Architettura centralizzata • Tutto il monitoraggio, l'analisi e i report vengono effettuati da una posizione centralizzata • Architettura parzialmente distribuita • Il monitoraggio e l'analisi vengono effettuati da un nodo centrale e riportati ad un insieme di nodi • Architettura totalmente distribuita • Monitoraggio, analisi e i report vengono effettuati in vari punti del sistema lberto Montresor Temporizzazione Definizione • Il tempo che intercorre fra gli eventi che vengono monitorati e l'analisi su tali eventi Analisi periodica (batch mode) • Basata su log e tracce ottenute dal sistema operativo • Non permette risposte attive Analisi continua (real-time) • Basata su un flusso costante di informazioni • Può influire sull'esito dell'attacco lberto Montresor Sorgente dei dati Host-based (HIDS) • effettua l'audit dei dati provenienti da un singolo host Network-based (NIDS) • effettua l'audit del traffico di rete Application-based IDS • specializzato per applicazioni specifiche Approccio "distribuito" • lberto Montresor combina application IDS, HIDS e NIDS al fine di scoprire intrusioni più complesse Network-Based IDS - Vantaggi TCO (total cost of ownership) più basso • Sono richiesti un numero minore di componenti • Possono monitorare una rete molto grande • Più semplicemente configurabili, non intrusivi In grado di rilevare attacchi che un sistema basato su host non è in grado di rilevare • IP-based Denial of Service • PacketContent Più difficile per un attaccante rimuovere le tracce • Utilizza il traffico di rete catturato • Possono essere resi invisibili agli attaccanti lberto Montresor Network-Based Systems - Vantaggi Possono operare in real-time • Notifica e risposta veloce • Possono bloccare un attacco prima di subire danni Possono vivere fuori dalla DMZ • Possono vedere attacchi bloccati dai firewall • Possono vedere attacchi falliti • Possono ottenere informazioni critiche (raffinamento delle politiche) Indipendenza dal sistema operativo lberto Montresor Network-Based IDS - Svantaggi Possono avere difficoltà a processare tutti i pacchetti in una rete molto trafficata Molti dei vantaggi dei network IDS non si applicano alle reti basate su switch Non possono analizzare pacchetti crittografati Non possono discernere fra un attacco riuscito o fallito lberto Montresor Host-Based System - Svantaggi Più difficili da gestire, in quanto ogni host deve essere configurato separatemente Sono parzialmente basati su co-locazione hosttarget, quindi sensibili a subversion Non rilevano attacchi preventivi (network scan) La quantità di informazioni da analizzare può essere molto elevata Performance penalty lberto Montresor Valutazione di Application-Based IDS Vantaggi • Permettono di tracciare attività non autorizzate a livello di utente • Possono operare in ambienti in cui il traffico è criptato (a livello session/application) Svantaggi: • più vulnerabili a subversion, in quanto i loro log sono meno protetti di quelli originati dal sistema operativo • spesso sono vulnerabili ad attacchi di tipo trojan horse lberto Montresor Gerarchia e flusso di informazione Distributed IDS Network IDS Host IDS Application IDS lberto Montresor Flusso di informazione Caratteristiche di un buon IDS Non deve essere una "scatola nera" • Il suo funzionamento interno deve essere analizzabile dall'esterno Deve essere fault-tolerant • Deve essere in grado di resistere ai guasti, senza che sia necessario ristabilire la sua knowledge base Deve resistere alle manomissioni • Deve essere in grado di monitorare se stesso in modo da verificare che non sia stato modificato lberto Montresor Caratteristiche di un buon IDS Deve imporre un overhead minimo sul sistema target • Un IDS che rallenta troppo il funzionamento di un computer o di una rete non verrà tollerato dagli utenti Deve essere possibile customizzare il suo comportamento in base al sistema target • Ogni sistema ha un pattern di utilizzazione differente Deve essere in grado di adattare il proprio comportamento ad un sistema target in evoluzione • lberto Montresor Il profilo del sistema target può cambiare durante gli anni (nuove applicazioni aggiunte, etc.) Come funziona un HIDS Host Based IDS • Generalmente, monitora i log di sistema • Controllano file ed eseguibili chiave del sistema attraverso checksum e informano di cambiamente inattesi • Alcuni prodotti controllano l'attività sulle porte di rete e avvisano l'amministratore quando porte specifiche vengono accedute • Possono utilizzare espressioni regolari molto potenti per definire signature lberto Montresor IDS – Aspetti da considerare Quando si utilizza un IDS, è necessario considerare i seguenti aspetti: lberto Montresor • L’integrità del software che si utilizza per rilevare le intrusioni • il controllo dei comportamenti degli host connessi in rete e della rete stessa • le forme fisiche di intrusione nei sistemi IDS – Integrità del software Regola da seguire: • Quando si cercano segni di intrusione sui propri sistemi, si dovrebbe utilizzare un insieme di software verificato contenente solo copie sicure non modificate Software da considerare: • Software IDS • Sistema operativo • kernel • librerie di sistema • file di dati e di configurazione • utility di sistema da cui dipende l'IDS lberto Montresor IDS – Integrità del software Aspetti da tenere in considerazione: • Si dovrebbe evitare di fare affidamento sul software del sistema che viene analizzato • La rilevazione delle intrusioni dipende molto dall’affidabilità delle informazioni che si raccolgono sullo stato e sul comportamento dei sistemi • Esempi: • programma rootkit (www.rootkit.com) – sostituire il comando ps su un sistema UNIX con uno che non visualizza il processo dell’attaccante • lberto Montresor • modifica dei file log per eliminare tracce Mascherando la loro presenza, gli attaccanti prolungano il periodo che hanno a disposizione per usare quel sistema per i loro scopi – eventualmente anche per molti mesi IDS – Cinque modi per assicurare l’integrità Spostamento fisico del disco: • Si sposti il disco dal sistema sospettato ad un sistema protetto e si esamini il contenuto usando il software del secondo sistema • Pro: il più affidabile • Contro: non automatizzabile, comporta interruzione di servizio • Quando usarlo: quando si ha una ragionevole certezza che un sistema è stato compromesso • Note: • Quando si chiude il sistema sospetto, questa azione può cancellare le prove che si stava cercando lberto Montresor IDS – Cinque modi per assicurare l’integrità Collegamento di un disco verificato lberto Montresor • Si colleghi al sistema sospetto un disco verificato, protetto da scrittura, contenente il sistema operativo e tutto il software necessario • Vantaggi e svantaggi simili al metodo precedente • Nota: si basa sull’attendibilità dell’hardware del sistema sospetto IDS – Cinque modi per assicurare l’integrità Creazione di immagine del disco del sistema sospetto • Vantaggi: • non influenza l’attività del sistema • preserva la prova originale per procedimenti legali successivi • Svantaggi • Come creare un’immagina verificata del sistema? • Può richiedere hardware dedicato, su cui bisogna fare affidamento lberto Montresor IDS – Cinque modi per assicurare l’integrità Utilizzazione di strumenti esterni • Si utilizza strumenti esterni (ad es. CD-ROM) che contengano un insieme verificato di strumenti software • Vantaggi: • Semplice da effettuare • Non influenza l’attività del sistema • Svantaggi • Si utilizza sistema operativo della macchina sospetta, il che è potenzialmente pericoloso lberto Montresor IDS – Cinque modi per assicurare l’integrità Verifica del software installato • Si confronta il software sul sistema sospetto con una copia di riferimento • confronto su file completi • confronto su somme di controllo crittografiche • Gli strumenti di controllo dovrebbero essere posti su un meccanismo esterno verificabile • Stessi vantaggi/svantaggi del metodo precedente lberto Montresor IDS – Esame del comportamento dei sistemi Aspetti da considerare: • L’esame dei processi è complesso, richiede tempo e molte risorse • Il grado di accuratezza con cui si riescono ad individuare comportamenti sospetti dipende dalla conoscenza del comportamento dei processi che ci si aspetta di eseguire Elementi da ricercare: lberto Montresor • processi mancanti • processi extra • processi con un’identificazione utente insolita IDS – Esame del comportamento dei sistemi Elementi da ricercare • Processi attivi in orari imprevisti • Processi che terminano prematuramente • Processi che consumano troppe risorse • Attacchi DoS, sniffer • E’ formattato insolitamente nel nome e negli argomenti • Es: /sshd invece di /usr/sbin/sshd • processi che compaiono in un numero insolitamente elevato lberto Montresor IDS – Notifiche agli utenti Informare gli utenti • Gli utenti di un sistema devono essere informati • dello scopo e dei tipi di controlli che si eseguiranno • le conseguenze di un comportamento non autorizzato • Metodo comune: presentazione di un messaggio a video Esempio: • lberto Montresor “Chiunque utilizzi questo sistema consente espressamente tale controllo ed è avvisato che se il controllo rivelerà possibili prove di attività criminose, il personale del sistema lo comunicherà alle autorità competenti” Sistemi IDS esistenti Ricerca su IDS • EMERALD (Event Monitoring Enabling Responses to Anomalous Live Disturbances) • STAT (State Transition Analysis Tool) Altri (solo alcuni esempi) • AID (Adaptive Intrusion Detection system) • ASAX (Advanced Security audit trail Analysis on uniX • Autonomous Agents for Intrusion Detection • GASSATA (Genetic Alg. for Simplified Security Audit Trail Analysis) lberto Montresor Sistemi IDS esistenti HOST IDS Commerciali e OpenSource • Generici: ISS RealSecure Server Sensor. • Controllo del file system: Tripwire, AIDE • Controllo delle connessioni di rete di un host: BlackICE, PortSentry • Controllo dei log file di un host: LogSentry, Swatch lberto Montresor Emerald Event Monitoring Enabling Response to Anomalous Live Disturbance (!) • Sviluppato da SRI International • Parte dall'esperienza accumulata nei prodotti di ricerca IDES/NIDES Caratteristiche • Fully-distributed: basato su Application-Host-Network • Basato su una struttura gerarchica • Una rete è suddivisa in un insieme di domini, ognuno dei quali contiene uno o più servizi • "Divide and conquer" lberto Montresor Emerald Tre livelli di analisi • Monitor di servizio • Effettuano intrusion detection per componenti individuali e servizi di rete all'interno di un dominio • Analisi statistica e di signature locale • Monitor di dominio • Integrano l'informazione all'interno di un dominio per cercare attacchi più generali • Monitor di enterprise • Analisi inter-dominio • Utile per attacchi di larga-scala come worm lberto Montresor Emerald L'architettura di ogni monitor • Profiler engines (anomaly detection) • Signature engines (signature analysis) • Resolver component integrazione dei risultati provenienti dagli engine lberto Montresor STAT Basato su state-analysis (ne è il precursore) Sviluppato presso UCSB Un'intera "linea di sviluppo": • USTAT • Basato su host singolo • Specializzato per sistemi UNIX • NSTAT • In grado di analizzare più host • Abstraction layer che permette di astrarre qualunque tipo di evento e analizzare solo gli eventi astratti • Netstat • Basato su network lberto Montresor STAT Un sistema STAT è composto da: • un preprocessore • una knowledge-base, composta di • fact-base • rule-base • inference engine • decision engine Pre-processore • Il preprocessore analizza i dati provenienti dai sensori e li trasforma in audit-independent trace lberto Montresor STAT Fact-base • Contiene informazioni sugli oggetti del sistema (queste informazioni descrivono lo stato del sistema) • Ad esempio: descrizione dei file critici dal punto di vista di sicurezza Rule-base • Contiene informazioni sulle transizioni di stato • Signature action • Stati collegati Inference engine • lberto Montresor Il meccanismo di analisi che combina l'input del preprocessore alle informazioni della knowledge base STAT Decision engine • Informa l'amministratore sui risultati provenienti dall'inference engine • Il tipo di informazione può assumere una delle seguenti forme: • Informa l'amministratore che un attacco è riuscito • Informa l'amministratore che un attaccante è riuscito a raggiungere un punto critico nel diagramma degli stati • Suggerisce eventuali azioni di risposta • Osserva un ruolo attivo nel rispondere lberto Montresor ISS RealSecure Real-time IDS con architettura basata su tre componenti: • Administrator module • console di gestione in grado di monitorare qualunque numero di host Windows-Unix • Host-based recognition engine • installato su ogni macchina da monitorare • analizza i log e determina se un attacco ha avuto successo • reagisce – terminando account – "uccidendo" processi – avvisando l'amministratore (paging/SMS) lberto Montresor ISS RealSecure Real-time IDS con architettura basata su tre componenti: • Network-based recognition engine • viene eseguito su macchina separata • signature-based • in caso di attacco, può reagire – terminando la connessione – registrando la connessione (forensics) – avvisando l'amministratore (paging/SMS) – riconfigurando i firewall – con azioni definite dall'amministratore lberto Montresor Tripwire Tool di analisi del file system • Versioni • Commerciali: Windows, Linux/UNIX • Open-source: Linux/Unix • Calcola checksum crittografici di un file system • Deve essere inizializzato in modo "sicuro" (prima di connettere la macchina alla rete) • Si crea un database di checksum • Periodicamente, i checksum vengono verificati • Ogni modifica viene rilevata lberto Montresor