Firewall

Transcript

Firewall
13/12/12
Elementi di Sicurezza e Privatezza
Lezione 16
Firewall e Intrusion Detection Systems
Chiara Braghin
[email protected]!
Firewall
1
13/12/12
Firewall
•  Sistema di controllo degli accessi che
verifica tutto il traffico in transito w  Consente o nega il passaggio del traffico
basandosi su una politica di sicurezza w  Funzioni:
§  verifica pacchetti in transito §  blocca pacchetti non autorizzati e/o pericolosi
§  maschera indirizzi interni (classi di indirizzi IP
riservate e non instradabili - 192.168) (NAT,
Network Address Translation) Firewall: scenario di base
•  Separa la LAN dal resto della rete
w Tutti i pacchetti tra la LAN (rete interna)
e il resto della rete (rete esterna)
vengono instradati attraverso il firewall
Firewall
Local network
Internet
Router
2
13/12/12
Firewall: DMZ (1)
•  DMZ: De-Militarized Zone
•  Una o più sottoreti (della rete interna)
accessibili con connessioni dall'esterno (e
dall’interno) della rete ma filtrati dal firewall
w  NB: Gli host della DMZ non possono connettersi
alla rete interna
•  Contiene i server che devono essere
accessibili dall’esterno e/o dalla rete interna w  server e-mail w  server DNS w  server Web Firewall: DMZ (2)
3
13/12/12
Firewall: politiche di sicurezza (1)
•  Il firewall applica delle regole per
stabilire se far passare o meno i
pacchetti
w  è utile solo quando le regole vengono
configurate in modo appropriato
•  Per tutte le sottoreti protette da un
firewall si possono definire diverse
politiche di accesso
w  realizza una separazione in zone aventi
diverso grado di sicurezza nell’architettura di
rete
Firewall: politiche di sicurezza (2)
•  Serve una specifica ad alto livello della
politica di sicurezza w default deny: tutto viene bloccato tranne
quello che è autorizzato (politica chiusa) w default allow: tutto viene permesso
tranne quello che non è autorizzato
(politica aperta) "
4
13/12/12
Tipi di Firewall
•  Agisce a livello di Rete
w  Packet filtering w  Stateful packet filtering •  Agisce a livello di Applicazione
w  Circuit level w  Application proxy "
Packet filter (1)
•  Filtra i pacchetti solo sulla base delle
informazioni nell’header del pacchetto
TCP
w  i campi degli header dei pacchetti vengono
confrontati con le regole della politica e ammessi o
scartati a seconda del risultato del confronto
•  L’header del pacchetto TCP contiene: w  indirizzo sorgente w  indirizzo destinazione w  porta sorgente w  porta destinazione w  tipo di protocollo w  opzioni di protocollo
5
13/12/12
Packet filter (2)
•  Non si può tracciare la correlazione
tra pacchetti in una trasmissione w Ogni pacchetto viene esaminato
singolarmente, indipendentemente dai
pacchetti precedenti e da quelli successivi •  Non si possono esaminare problemi a
livello (OSI) più alto Reminder: Modello ISO/OSI
•  ISO/OSI (Open System
Interconnection) •  nasce alla fine degli
anni 70 come livello di
riferimento per
l'interconnessione di
sistemi aperti
•  strutturato in 7 livelli: 3
orientati al contenuto
dell'informazione, 4
orientati alla rete
6
13/12/12
Regole di filtraggio (1)
•  Indirizzi IP usati per chiudere/aprire il
traffico da determinati mittenti a
determinati destinatari
•  Numeri di porta usati per bloccare/
permettere servizi noti (porta 80?)
•  Bloccare un protocollo •  Combinazioni dei precedenti"
Regole di filtraggio (2)
Esempi di regole:
•  Se un pacchetto arriva sull’interfaccia
esterna del firewall ed ha un mittente della
rete interna lo si blocca w  Verifica di spoofing (falsificazione dell’identità) •  Se un pacchetto arriva dall’esterno e fa parte
di una connessione ftp non accettarlo w  Accettare solo connessioni sicure (SFTP - SSH File
Transfer Protocol, o FTPS - FTP over SSL) "
7
13/12/12
Regole di filtraggio (3)
Come vengono valutate le regole?
•  Le regole di filtraggio sono memorizzate in
uno specifico ordine •  Viene utilizzata la prima regola incontrata
con la quale c’è corrispondenza
w  Se una regola blocca la trasmissione o ricezione
del pacchetto, il pacchetto è rifiutato
w  Se una regola permette la trasmissione o
ricezione di un pacchetto, il pacchetto è
permesso w  Se il pacchetto non soddisfa nessuna regola si
applica la regola di default (deny all o allow all)
Regole di filtraggio (4)
•  Di solito vengono definite tramite la
seguente tabella (variante standard CISCO):
Direzione IP
IP
sorgente destinazione
Flag ACK: se il protocollo è TCP,
il suo valore può essere 0, 1 o
0/1; ** per altri protocolli!
Protocollo Porta
Porta
Flag
sorgente destinazione ACK
Azione
In una connessione TCP:
n 
n 
Server port: < 1024
Client port: tra 1024 e 16383
8
13/12/12
Politica di sicurezza: esempio (1)!
•  Permettere la connessione tra i client in
rete = 199.245.180.0 ed il servizio
SMTP (tcp/25) di qualsiasi host esterno •  Possibile tabella:
Direzione IP
IP
sorgente destinazione
Protocollo Porta
Porta
Flag
sorgente destinazione ACK
Azione
OUT
rete
ANY
TCP
>= 1024 25
ANY
permit
IN
ANY
rete
TCP
25
1
permit
>= 1024
Politica di sicurezza: esempio (2)!
•  Problemi: w  Non c’è modo di garantire che il ritorno del
pacchetto di conferma (TCP ACK) venga
dalla stessa connessione w  Porte nel range [1024, 16383] disponibili per i
client per ricevere le risposte, ma: §  potrebbe essere la risposta legittima di un server ad
una connessione stabilita precedentemente §  potrebbe essere traffico illecito •  Politica troppo lasca!
9
13/12/12
Stateful (dynamic) packet filtering (1)!
•  Simile al packet filter ma state-aware •  Distingue le nuove connessioni da quelle
già aperte w  tabelle di stato per le connessioni aperte w  ogni pacchetto viene esaminato sia
singolarmente che in relazione ai pacchetti
precedentemente ricevuti e appartenenti
alla stessa sessione •  Prestazioni migliori rispetto a packet filter !
Stateful (dynamic) packet filtering (2)!
10
13/12/12
Firewall: architettura
•  Software su processori general
purpose
w  sistema più economico e flessibile •  Software su processori GP (Gigahertz
processor) •  Hardware dedicato (router) w soluzione più costosa e spesso basata su
software proprietario
Firewall: limiti
•  Controlla tutto e solo il traffico che lo
attraversa w intrusioni interne non sono individuate
•  Se le connessioni arrivano attraverso
un percorso non controllato, il firewall
non serve w utente connesso via modem o wireless •  Non controllano file infetti da virus!
11
13/12/12
Intrusion Detection
Systems
Audit di sicurezza!
•  Audit = attività atte a misurare la conformità
di determinati processi, strutture o procedure
a determinate caratteristiche richieste
•  Usato in due diverse accezioni:
w  Analisi delle procedure e delle pratiche
adottate per valutare le eventuali vulnerabilità
w  Analisi degli eventi per determinare
violazioni alla sicurezza o tentativi di
violazioni
12
13/12/12
Aree di intervento!
•  Sicurezza organizzativa w  verifica delle responsabilità w  politiche aziendali •  Sicurezza logica e fisica w  valutazione protezione da accessi non autorizzati w  valutazione protezione da eventi di natura umana o
ambientale (es., dispositivi antincendio, backup) w  valutazione protezione dell’infrastruttura di rete w  valutazione protezione di server e client •  Sicurezza delle applicazioni w  verifica protezione dei sistemi applicativi rispetto
alle tipologie di rischio intrinseco e implementativo
Analisi dei rischi
•  Identificazione e valutazione dei rischi
che si verifichi un certo evento w  Meccanismi per tenere i rischi sotto controllo w  Valutazione della probabilità che accada un
rishio w  Valutazione dell’impatto di ciascun rischio w  Determinazione di contromisure w  Sviluppo e utilizzo di misure per mitigare gli
effetti di un rischio w  Determinazione della gravità di un rischio e
scelta delle contromisure appropriate
13
13/12/12
Tool per l’analisi automatica!
•  Riducono la quantità di dati che devono
essere analizzati manualmente •  Sistemi per la determinazione di
intrusioni (Intrusion Detection System IDS) w  Acquisizione e analisi svolti in contemporanea
e in automatico
"
Intrusion detection system (IDS) - 1!
• 
Gli IDS sono sistemi di monitoraggio w  rilevano attacchi w  generano allarmi, non prevengono
intrusioni
• 
Fasi di un IDS: 1.  Raccolta dati 2.  Analisi 3.  Risposta 14
13/12/12
Intrusion detection system (IDS) - 2!
Idee di base: 1.  Chi entra in un sistema abusivamente
compie operazioni che un utente
normale non fa 2.  Gli attacchi spesso sono associati ad una
violazione del controllo dell’accesso
§  buffer overflow §  utente esterno ottiene accesso a risorse
protette §  programma e/o file modificati IDS: requisiti
•  Deve poter essere eseguito senza la supervisione
degli utenti •  Non deve essere una scatola nera w  il suo comportamento interno dovrebbe essere
analizzabile dall’esterno •  Deve essere resistente ai guasti •  Deve essere resistente ad attacchi •  Deve richiedere un basso overhead •  Deve essere facilmente adattabile al sistema in
osservazione •  Deve far fronte a cambiamenti nel comportamento
del sistema
15
13/12/12
IDS: classificazione (1)!
•  Due tecniche di analisi dei dati:
w Anomaly detection: segnala eventuali (e
significative) deviazioni dal modello
normale di comportamento
w Misuse detection: segnala l’eventuale
comparsa di eventi che rispecchiano
schemi predefiniti di attacchi §  Richiede una conoscenza a priori dei possibili
attacchi
IDS: classificazione (2)!
•  Utilizza dati differenti:
w  HIDS (Host-based Intrusion Detection
System): dati relative all’attivita locale di un
singolo computer (log di sistema, accesso a
file critici, ecc, …)
§  visibilità migliore dei comportamenti di una
applicazione in esecuzione sulla macchina w  NIDS (Network-based Intrusion Detection
System): controlla il traffico di rete §  un singolo NIDS può proteggere diverse macchine"
16
13/12/12
Anomaly detection!
•  Basati sulla definizione di profili d’uso
che descrivono il normale funzionamento w  costruiti manualmente (difficile!) w  attraverso tecniche di machine learning e data
mining •  Anomalie: w  deviazioni dai profili w  deviazione rispetto dati statistici
•  Capace di riconoscere nuovi attacchi "
Anomaly detection: profili
•  Definiti in base a determinate caratteristiche
(metriche) che vengono monitorate dal sistema w  Attività di login e sessione §  frequenza login §  ultimo login §  tentativi di specifica password falliti w  Esecuzione di programmi e comandi §  frequenza di esecuzione §  risorse di CPU e I/O usate w  Attività di accesso a file §  frequenza di read/write/create/delete §  numero record letti/scritti §  numero letture/scritture/cancellazioni/creazioni falliti 17
13/12/12
Esempio: sequenze di sys call •  Costruisce delle tracce durante la normale
esecuzione del programma w  Comportamento di esempio (sys calls)
§  open read write open mmap write fchmod close
w  Alcune tracce vengono memorizzate (lung = 4)
§  open read write open!
§  read write open mmap!
§  write open mmap write!
§  open mmap write fchmod!
§  mmap write fchmod close!
w  Riporta un’anomalia se la sequenza seguente
viene osservata:
§  open read read open mmap write fchmod close
Anomaly detection: problemi!
•  Scelta delle metriche (cosa misurare) •  Scelta dei modelli di base: cosa
succede se l’attacco compare solo in
variabili che non sono state
modellate? •  Segnalazione di tipo statistico che va
interpretata da un esperto umano
w Scelta dei threshold (soglia di allarme)
18
13/12/12
Misuse detection!
•  Si basa sulla descrizione dei tipi di
attacco (caratteristiche invarianti di
attacchi noti)
w  Riconosce solo attacchi per cui esiste una
descrizione (signature) •  Usa un modello di regole per descrivere
gli attacchi •  Pro: Genera segnalazioni precise •  Contro: Riconosce solo attacchi noti
Misuse detection: problemi!
•  Necessità di gestire un repository
degli attacchi •  Problemi di aggiornamento (solo gli
attacchi conosciuti vengono segnalati) •  Problema di generazione delle
signature degli attacchi
19
13/12/12
Host-based IDS
•  HIDS è in grado di monitorare attività a
livello di singolo utente •  Vantaggi:
w  Scopre la presenza di rootkit
•  Svantaggi:
w  necessario un IDS per ogni macchina w  se un attaccante ottiene il controllo della
macchina può modificare IDS e l’audit log w  solo visione locale di un attacco
•  Esempi di HIDS:
w  Tripwire (controlla integrità file)
Network-based IDS
•  Ispezionano traffico di rete •  Cerca w  violazioni a protocolli w  pattern di connessioni inusuali w  stringhe di attacco nei payload dei pacchetti •  Svantaggi:
w  non sono in grado di ispezionare traffico crittato
w  non tutti gli attacchi arrivano dalla rete w  memorizzza ed elabora una grande quantità di traffico •  Esempi di NIDS w  Snort, Bro 20
13/12/12
Falsi positivi e falsi negativi!
•  Falsi positivi: Allarmi provocati da eventi
legittimi w  le politiche di sicurezza in realtà non
vengono violate w  causa interruzioni non necessarie w  causa insoddisfazioni negli utenti •  Falsi negativi: Allarmi mancati in
presenza di eventi illegittimi w  le politiche di sicurezza sono violate w  intrusione non rilevata
w  evento illegittimo interpretato come legittimo
IDS: problemi
•  Mancanza di dati “interessanti”
w Molti network “normali”, system call data
w Pochi dati su attacchi realistici, anomalie
•  Difficile scegliere il valore soglia
w Alcuni attacchi possono rientrare nei
limiti di attività normali
•  Falsi positivi/negativi sono molto
costosi
21