...

10 - Dipartimento di Informatica

by user

on
Category: Documents
26

views

Report

Comments

Transcript

10 - Dipartimento di Informatica
INTRUSION
DETECTION SYSTEM
Sicurezza - anno 2008/2009
Cornacchia Gabriele – Martuzzi Marco
Gruppo 10
SICUREZZA & INTERNET
Sempre più utenti usano il proprio
personal computer per ottenere accesso
alle risorse offerte da internet.
 Il protocollo internet non è stato creato
per essere nel suo insieme sicuro.
 La sicurezza quindi è un grande
problema, che richiede tecnologie:

preventive;
 di rilevamento;
 di reazione.

QUANDO UN DATO PUO’ ESSERE
CONSIDERATO SICURO?

Un dato per essere definito sicuro deve possedere le
seguenti caratteristiche:

Confidentiality (confidenzialità): tutelare la segretezza
delle informazioni

Integrity (integrità): tutelare l'integrità delle informazioni

Availability (disponibilità): tutelare l'efficienza del
sistema

Reserve (riservatezza): tutelare la trasmissione per evitare
l’intercettazione da parte di terzi
INTRUSIONE

Un intrusione può essere definita
come qualsiasi insieme di azioni
che tentano di compromettere
l'integrità, la confidenzialità o la
reperibilità di una risorsa.

Tutte le intrusioni sono definite relativamente alla
politica di sicurezza, che definisce cosa è o cosa non
è permesso in un sistema;
CLASSIFICAZIONE DELLE INTRUSIONI

Classificazione delle intrusioni, a seconda della loro
provenienza:

External Penetrator: colui che accede ad un sistema al
quale non dovrebbe avere accesso;

Masquerader: colui che riesce ad accedere ad un sistema
autenticandosi come utente autorizzato;

Misfeasor (malintenzionato): utente abilitato che abusa
dei suoi privilegi attaccando la sicurezza del sistema;

Clandestine user: colui che riesce ad accedere al sistema
autenticandosi come amministratore del sistema.
VIOLAZIONE DELLA SICUREZZA (1/2)

Esistono altri tipi di violazione di sicurezza:

Tentate intrusioni: qualcuno che cerca di introdursi in un
sistema può generare un alto tasso di password errate per
un determinato account;

Fuoriuscita di dati da utenti legittimi: Un utente che tenta
di rubare dati sensibili può loggarsi nel sistema ad orari
inusuali o stampare in stampanti remote non
normalmente usate;

Inferenza : un utente cerca di ottenere dati non
autorizzati da un database attraverso aggregazione e
inferenza;
VIOLAZIONE DELLA SICUREZZA (2/2)

Cavalli di troia: la presenza di un cavallo di troia può far
cambiare il comportamento del programma in termini di
uso di CPU e I/O;

Virus: la presenza di un virus può causare in incremento
nella sovrascrittura di programmi eseguibili o salvataggio
in memoria di programmi;

Denial Of Service: L'intruso cerca di portare il
funzionamento di un sistema informatico al limite delle
prestazioni, fino a renderlo non più in grado di erogare il
servizio.
LE FASI DELL’ATTACCO
Hiding (Mascheramento): l’attacker cerca
di “cammuffarsi”, nascondendo la propria
reale ubicazione, per evitare di essere
tracciato e identificato;
 Information Gathering (Raccolta di
informazioni): l’attacker cerca di
raccogliere il maggior numero di
informazioni pubbliche sul bersaglio;
 System Penetration (Intrusione):
l’attacker sferra l’attacco vero e proprio;
 Cleaning (Pulizia): l’attacker procede con
la cancellazione delle traccie lasciate, per
evitare di essere scoperto.

INTRUSION DETECTION SYSTEM

I.D.S. o sistema di rilevamento delle intrusioni è
uno strumento, software o hardware, che
automatizza il processo di monitoraggio impiegato
per individuare eventi che rappresentano intrusioni
non autorizzate ai computer oppure alle reti locali.
UN PO’ DI STORIA
1980: James Anderson propose alla US
Air Force un metodo per processare gli
audit trails al fine di rilevare attività
inusuali;
 1987: Dorothy Denning presentò il
primo modello astratto di IDS da cui
derivò in seguito IDES;
 1991: L’università della California
introdusse il concetto di DIDS;
 1998: R. Anderson e A. Khattak
introdussero tecniche di Information
Retrieval agli IDS.

COME OPERA UN IDS

Un IDS funziona intercettando tutto il traffico,
analizzando pacchetto per pacchetto, un particolare
segmento di rete e scatenando un allarme per
l'amministratore di rete in caso di matching positivo
di una signature a seguito dell'individuazione di un
pacchetto malevolo.
IDS VS FIREWALL

Un IDS può essere
considerato come un
antifurto, cioè cerca di
rilevarle
eventuali
intrusioni

Un firewall può essere
considerato come una
porta blindata, serve
bloccare le eventuali
intrusioni
IDS PERFETTO

Un IDS perfetto sarebbe quello che riesce ad
individuare tutte le reali intrusioni, perchè ci si
troverà di fronte a:


Falsi positivi: IDS rileva un'anomalia, ma non è successo
niente
Falsi negativi: IDS non rileva un'intrusione avvenuta
You also want to be able sleep at night without your
IDS constantly paging you and your security staff
How much noise can you tolerate?
CARATTERISTICHE PER UN BUON IDS (1/2)

deve funzionare senza sosta e senza la supervisione
umana;

non deve essere una black box (scatola nera);

deve essere fault tolerant;

deve resistere a sabotaggi;
CARATTERISTICHE PER UN BUON IDS (2/2)

deve imporre il minimo overhead del sistema;

deve osservare le anomalie rispetto alla normale
routine di azioni svolte sul sistema;

deve essere adattabile ai vari tipi di sistemi;

deve funzionare anche se si modificano o si
aggiungono nuove applicazioni al sistema.
CLASSIFICAZIONE IDS - Anomaly & Policy

Anomaly detection (o euristici): tutte le volte che
l’IDS registra azioni diverse dal “normale”, segnala
all’amministratore l’avvenuta intrusione.

Pro:
il programma impara da solo quali sono le azioni “normali”;
 facile da implementare;
 si affina con l’aumentare dei dati.


Contro:
potrebbe considerare “normali”, azioni pericolose, solo perché
avvengono di frequente;
 potrebbe portare ad un blocco a causa dell’elevato numero di
falsi positivi.

CLASSIFICAZIONE IDS - Anomaly & Policy

Policy detection (pattern matching): è basato su un
database di azioni innocue o dannose o di regola, per
il rilevamento degli attacchi fornite al sistema
dall'amministratore.

Pro:


minimizza i casi di falsi positivi, se il database è aggiornato di
frequente.
Contro:
maggior dispendio di risorse umane per l’aggiornamento del
database;
 la negligenza dell’amministratore porterebbe ad una insicurezza
globale del sistema.

CLASSIFICAZIONE IDS - NIDS & HIDS

NIDS:

Pro:
real time;
 costi minori dei HIDS;
 non dipendono dalle architetture e dai sistemi operativi, perchè
si basano sui protocolli di rete.


Contro:


il traffico è cifrato rende difficile il compito ai NIDS.
HIDS:

Pro:


utili contro attacchi di tipo Masquerader.
Contro:

non sono real time, si corre il rischio che l'attacco venga scoperto
solo dopo che ha causato danni o disservizi.
DISTRIBUTED INTRUSION DETECTION SYSTEM
Un IDS distribuito, o DIDS, è una combinazione di
sensori NIDS e sensori HIDS, distribuiti attraverso la
rete aziendale, che riportano le informazioni a un
sistema centrale di coordinamento.
 I log degli attacchi sono generati sui sensori e
trasferiti, periodicamente o continuamente, alla
stazione server centrale dove possono essere
archiviati in un database
 Ogni sensore può avere un set di regole
personalizzato per le necessità della rete o dell'host
monitorati dai sensori.

DIDS
WIRELESS INTRUSION DETECTION SYSTEM

I tipi di eventi monitorati da un Wireless IDS sono:







uso non autorizzato di apparati wireless;
stazioni o “access point” che usano protocolli non sicuri;
pattern di traffico anomali;
uso di war driving tools, che sono scanner utilizzati dagli
attaccanti per rilevare reti wireless “aperte”;
attacchi di tipo Denial Of Service;
attacchi di spoofing;
I sensori Wireless possono essere sia fissi, ad esempio
su un PC desktop con interfaccia wireless, che mobili,
ad esempio un portatile con integrato un Wireless
IDS.
WIDS
INTRUSION DETECTION EXPERT SYSTEM – IDES
Ideato da Dorothy E. Denning nel 1987
 Modello per l’intrusion detection indipendente da:

qualsiasi particolare sistema,
 applicazione,
 vulnerabilità di sistema o tipo di intrusione.

Fornisce una struttura generale per un sistema
esperto per l'intrusion detection.
 Idea base: monitorare le operazioni standard sul
nostro sistema di riferimento (login, esecuzione di
programmi e comandi, accessi a file e periferiche)
cercando le anomalie nel loro utilizzo.

IDES - Componenti






Soggetti: utenti di un sistema, un processo, o il sistema
stesso.
Oggetti: risorse controllate dai file di sistema, comandi o
periferiche.
Audit record: generati dal sistema in risposta ad azioni
svolte o tentate da soggetti su determinati oggetti.
Profili: struttura che caratterizza il comportamento di
soggetti in termini di metriche statistiche e modelli di
una attività osservata, per un dato oggetto (o un insieme
di oggetti).
Anomaly record: generati quando viene rilevato un
comportamento anomalo
Regole di attività: azioni intraprese quando viene
generato un audit record o un anomaly record o quando
certe condizioni sono verificate.
IDES → Profili → Metriche

Una metrica è una variabile x che rappresenta una
misura quantitativa accumulata in un certo periodo di
tempo:
contatori di eventi: x rappresenta il numero di audit records
che soddisfano certe proprietà e che si verificano in un certo
periodo di tempo.
(Es. numero di logins per ora)
 intervalli temporali: x indica l'intervallo di tempo tra due
eventi correlati
(es. tempo intercorso tra due successivi login in un account)
 misuratori di risorse: x è la quantità di una certa risorsa
consumata da certe azioni in un periodo di tempo.
(es. quantità di tempo calcolo consumato da un certo
programma in esecuzione).

IDES → Profili → Modelli statistici

Data una metrica per una variabile x e n osservazioni
xi i=1..n lo scopo di un modello statistico di x è di
determinare se una nuova osservazione xn+1 è
anomala rispetto alle osservazioni precedenti.
1.
2.
3.
Modello operazionale: viene comparata la nuova
osservazione di x con limiti fissati (attraverso
osservazioni a priori). (es. ripetuto numero di password
failures in un breve periodo)
Modello della media e deviazione standard: una
nuova osservazione xn+1 è definita anomala se ricade al di
fuori di un certo intervallo di confidenza dai valori della
media e della deviazione standard conosciuti per quella
variabile
Modello multivariato : come il modello (2) ma
combina più metriche contemporaneamente.
IDES - Funzionamento
Quindi un profilo contiene informazioni che
identificano il modello statistico e la metrica adottati
per una data variabile.
 Una volta che viene registrata una nuova
osservazione (il sistema genera un nuovo audit
record), viene aggiornata la distribuzione della
variabile coinvolta e viene controllata se risulta essere
anomala oppure no controllando il valore della
variabile in base al modello statistico utilizzato.
 I falsi allarmi possono essere controllati da
un'appropriata scelta del modello statistico per le
attività che causano tali allarmi e da un'appropriata
scelta dei profili.

IDES - Esempi
ATTIVITA' DI LOGIN
soggetto=utente, oggetto=terminale, rete, host remoto etc
action=login/logout
Profilo = Password Fails: contatore che misura il numero di
volte che un utente sbaglia la password a tempo di login
utilizzando il modello operazionale. Utile per scovare le
tentate intrusioni
 ESECUZIONE DI PROGRAMMI O COMANDI
soggetto= utente,oggetto=nome del programma
azione=esegui

Profilo = Program CPU: misuratore di risorse di cpu usata da
una singola esecuzione di programma. Usando il modello della
media e della deviazione standard risulta idonea per scovare
cavalli di troia o virus nel programma
NETWORK INTRUSION DETECTION SYSTEM
Composti da uno o piu sensori
dislocati sulla rete, che
comunicano con un server
centralizzato, che in genere si
appoggia ad un Database;
 Solitamente sono collegati ad
uno switch tramite una
spanning-mirror, che è una porta
su cui viene copiato tutto il
traffico;
 non dipendono dalle architetture
e dai sistemi operativi;
 sono real time.

COME FUNZIONANO?
Monitorano il traffico di rete mediante sniffing dei
pacchetti alla ricerca di firme di attacchi noti, oppure
alla ricerca di traffico statisticamente anomalo.
 I pacchetti prelevati vengono passati ad un
detection engine che decide se è in presenza di un
tentativo di intrusione.
 Non bloccano il flusso di pacchetti.
 Allertano gli amministratori di sistema quando
potenziale traffico ostile viene rilevato.

LOGGING EVENTI

Accurata azione di logging degli eventi e delle attività
registrandone:







la data e l’ora;
l’ID di sessione (ad esempio, un numero consecutivo
assegnato ad ogni nuova connessione TCP);
il tipo di evento;
il grado di pericolosità dell'evento;
l’IP e porta sorgente e destinazione, e il protocollo di
trasporto;
il numero di byte trasmessi su quella connessione;
i dati appartenenti al payload, ad esempio codici HTTP di
request e response;
NIDS - Attacchi rilevati

Fra le attività anomale che possono presentarsi e
venire rilevate da un NIDS vi sono:








accessi non autorizzati;
propagazione di software malevolo;
acquisizione abusiva di privilegi appartenenti a soggetti
autorizzati;
Denial of Service.
buffer overflow, format string attack;
port scanning, attacchi di SYN
IP spoofing;
presenza di backdoor.
NIDS - Limitazioni
Non possono rilevare attacchi che sfrutta traffico di
rete crittografato (VPN, HTTPS, SSH);
 impossibilità di controllare tutti i pacchetti se il
traffico di rete è molto pesante;
 suscettibili a vari tipi di attacchi: DDos (distributed
denial of service), 0-day attack.

SNORT

E’ un network based IDS:







Realtime;
lightweight;
risposta passiva alle intrusioni;
ottima accuratezza nel rilevamento delle intrusioni che
sfruttano vulnerabilita note.
struttura modulare;
portabile;
licenza GNU GPL.
SNORT - Componenti
Una serie di decoder scompongono i pacchetti ai vari
strati (data link, IP, TCP).
 I preprocessor si occupano di seguire lo stato della
connessione e di riconoscere eventuali anomalie in
tale ambito.
 Il detection engine verifica circa 2.500 regole
generali di vario tipo, utilizzando un algoritmo di
ricerca multipattern;
 Gli output plug-in permettono di configurare i log e
gli allarmi;

HOST INTRUSION DETECTION SYSTEM
Un HIDS consiste in un
componente che analizza l'host
alla ricerca di intrusioni.
 Le intrusioni vengono
individuate analizzando:

la struttura dei file di log del
sistema;
 le system call;
 le modifiche subite dal
filesystem.

Principio di base
Se l'attaccante riesce a forzare il sistema deve lasciare
traccia del suo passaggio anche perché
probabilmente l'attaccante installerà nel computer
uno o più programmi deputati alla raccolta di
informazioni o alla gestione remota della macchina.
 L'installazione e l'attivazione di questi programmi
modificano lo stato interno della macchina e un
buon HIDS dovrebbe essere in grado di rilevare
un'intrusione.

HIDS - Compiti
Controllare i processi in esecuzione per rilevare
programmi modificati;
 rilevamento di buffer overflow;
 rilevare tentativi di attacco al sistema;
 controllare l’integrità del file system;
 controllare le modifiche ai permessi e ai proprietari
dei file;
 controllare l’utilizzo delle risorse da parte dei processi
in esecuzione.

Funzionamento
Durante l'installazione e ad ogni modifica autorizzata
di oggetti questi vengono analizzati e vengono
memorizzati gli attributi e viene calcolato il
checksum del contenuto.
 L’HIDS controlla regolarmente gli oggetti
confrontandoli con quelli salvati nel proprio database
e segnala le eventuali anomalie (via mail, file di log,
finestre a video) .
 L’analisi di tutti gli elementi comporterebbe un
rallentamento inaccettabile del sistema. Per questo
motivo, gli oggetti considerati meno critici vengono
sottoposti a controlli più veloci che non usano il
checksum ma controllano solo gli attributi.

HIDS - Auto protezione
Un HIDS utilizzerà normalmente un insieme di
tecniche aggiuntive per rivelare violazioni nel proprio
database degli oggetti e per rendere queste violazioni
difficili.
 Soluzioni:

Protezione crittografica del database;
 memorizzare il database dell'HIDS in un supporto non
cancellabile come un CD-ROM (solo se modifiche
infrequenti);
 memorizzare il database in un'altra macchina separata da
quelle da controllare.

TRIPWIRE
Tripwire fu inizialmente sviluppato nel 1992 da Gene
H. Kim e Eugene H. Spafford della “Purdue
University“, come progetto di HIDS.
 Nel 1998 fu fondata la Tripwire Corporation che
riscrisse quasi completamente il codice e trasformo il
programma in un progetto commerciale.
 Dal 2002 c'e anche una versione free del progetto
destinata al mondo Linux.

TRIPWIRE - Meccanismo base
In generale tutte le versioni del software Tripwire
utilizzano una stategia simile, si servono di un
insieme di file per memorizzare delle informazioni
necessarie per verificare eventuali future
manomissioni.
 Questi file vengono anche chiamati componenti.
 Essi contengono determinate informazioni quali:

il modo in cui deve essere controllato il sistema;
 le chiavi (necessarie per la firma digitale e la cifratura di
dati sensibili) ;
 altre informazioni tra le quali le istantanee.

TRIPWIRE - Componenti 1/2
Il file di policy: contiene le regole che specificano
come controllare un determinato oggetto di sistema e
descrivono quali modifiche all'oggetto devono essere
notificate e quali possono essere ignorate.
 Il database dei file di sistema: contiene
l’istantanea del sistema, protetta da firma digitale.
 I file di report: risultati del controllo (integrity
check) tra l’istantanea attuale e l’istantanea
memorizzata.

TRIPWIRE - Componenti 2/2
Il file di configurazione: memorizza informazioni
specifiche del sistema.
 I file site key e file local key: contengono entrambi
una coppia di chiavi ( chiave pubblica/chiave privata)
che servono per proteggere le componenti di
Tripwire.
Le chiavi private sono protette con delle passphrases
inserite dall'utente.
l file site key è usato per proteggere i file di policy e di
configurazione, mentre il local key file è usato per
proteggere il database e opzionalmente i file di
report.

PERCHE’ E’ SICURO TRIPWIRE ?
Firma digitale: garantisce l’autenticità delle
istantanee memorizzate.
 Cifratura simmetrica: (triplo-DES) per la
memorizzazione cifrata delle chiavi site-key e localkey.
 Funzioni hash: per verificare se è stata effettuata
qualche modifica a file.

OLTRE GLI IDS
Nuova generazione di IDS, gli Intrusion Prevention
System – IPS, i quali rilevato un tentativo di
intrusione illecito, lo bloccano sul nascere.
 L'ultima frontiera degli IDS sono le piattaforme
Unified Threat Management – UTM dette anche Next
Generations Firewall che sono prodotti
completamente differenti, in quanto apportano
molteplici capacità di sicurezza come firewall, VPN,
antivirus, filtri Web, IPS e anti-spam.

RIFERIMENTI

Matteo Selmi, Enrico Tassi, “Intrusion Detection
Systems Snort e Tripwire”, 27 settembre 2003

Antonio Sortino, “I sistemi antiintrusione nelle
reti aziendali”, 2007

Gabriella Xilurakis, “Sistemi di Rilevamento delle
Intrusioni.”, 2007

Ozalp Babaoglu, “IDS: Intrusion Detection
Systems”, 2007

Igor Falcomatà, “I sistemi di Intrusion Detection”

Martin Roesch, “SNORT – Lightweight intrusion
detection for networks”, 1999

Doroty E.Denning, “An intrusion detection
model”, 1987

NIST SP 800-94, “Guide to Intrusion Detection
and Prevention Systems (IDPS)”, 2007
RIFERIMENTI

http://en.wikipedia.org/wiki/Intrusion_detection_system

http://en.wikipedia.org/wiki/Network_intrusion_detection_system

http://en.wikipedia.org/wiki/Host-based_intrusion_detection_system

http://www.dia.unisa.it/~ads/corso-security/www/CORSO0203/tripwire/tripwire.htm

http://www.snort.org

http://www.tripwire.com
Fly UP