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