Elementi di Sicurezza e Privatezza Lezione 10 Firewall and IDS Chiara Braghin chiara.braghin@unimi.it
Firewall
Firewall Sistema di controllo degli accessi che verifica tutto il traffico in transito Consente o nega il passaggio del traffico basandosi su una politica di sicurezza 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) 2
Firewall: scenario di base Separa la LAN dal resto della rete 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 3
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 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 server e-mail server DNS server Web 4
Firewall: DMZ (2) 5
Firewall: politiche di sicurezza (1) Il firewall applica delle regole per stabilire se far passare o meno i pacchetti è 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 realizza una separazione in zone aventi diverso grado di sicurezza nell architettura di rete 6
Firewall: politiche di sicurezza (2) Serve una specifica ad alto livello della politica di sicurezza default deny: tutto viene bloccato tranne quello che è autorizzato (politica chiusa) default allow: tutto viene permesso tranne quello che non è autorizzato (politica aperta) 7
Tipi di Firewall Agisce a livello di Rete Packet filtering Stateful packet filtering Agisce a livello di Applicazione Circuit level Application proxy 8
Packet filter (1) Filtra i pacchetti solo sulla base delle informazioni nell header del pacchetto TCP 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: indirizzo sorgente indirizzo destinazione porta sorgente porta destinazione tipo di protocollo opzioni di protocollo 9
Packet filter (2) Non si può tracciare la correlazione tra pacchetti in una trasmissione Ogni pacchetto viene esaminato singolarmente, indipendentemente dai pacchetti precedenti e da quelli successivi Non si possono esaminare problemi a livello (OSI) più alto 10
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 11
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 12
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 Verifica di spoofing (falsificazione dell identità) Se un pacchetto arriva dall esterno e fa parte di una connessione ftp non accettarlo Accettare solo connessioni sicure (SFTP - SSH File Transfer Protocol, o FTPS - FTP over SSL) 13
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 Se una regola blocca la trasmissione o ricezione del pacchetto, il pacchetto è rifiutato Se una regola permette la trasmissione o ricezione di un pacchetto, il pacchetto è permesso Se il pacchetto non soddisfa nessuna regola si applica la regola di default (deny all o allow all) 14
Regole di filtraggio (4) Di solito vengono definite tramite la seguente tabella (variante standard CISCO): Direzione IP sorgente IP destinazione Protocollo Porta sorgente Porta destinazione Flag ACK Azione Flag ACK: se il protocollo è TCP, il suo valore può essere 0, 1 o 0/1; ** per altri protocolli In una connessione TCP: Server port: < 1024 Client port: tra 1024 e 16383 15
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 sorgente IP destinazione Protocollo Porta sorgente Porta destinazione Flag ACK Azione OUT rete ANY TCP >= 1024 25 ANY permit IN ANY rete TCP 25 >= 1024 1 permit 16
Politica di sicurezza: esempio (2) Problemi: Non c è modo di garantire che il ritorno del pacchetto di conferma (TCP ACK) venga dalla stessa connessione 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! 17
Stateful (dynamic) packet filtering (1) Simile al packet filter ma state-aware Distingue le nuove connessioni da quelle già aperte tabelle di stato per le connessioni aperte ogni pacchetto viene esaminato sia singolarmente che in relazione ai pacchetti precedentemente ricevuti e appartenenti alla stessa sessione Prestazioni migliori rispetto a packet filter 18
Stateful (dynamic) packet filtering (2) 19
Firewall: architettura Software su processori general purpose sistema più economico e flessibile Software su processori GP (Gigahertz processor) Hardware dedicato (router) soluzione più costosa e spesso basata su software proprietario 20
Firewall: limiti Controlla tutto e solo il traffico che lo attraversa intrusioni interne non sono individuate Se le connessioni arrivano attraverso un percorso non controllato, il firewall non serve utente connesso via modem o wireless Non controllano file infetti da virus 21
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: Analisi delle procedure e delle pratiche adottate per valutare le eventuali vulnerabilità Analisi degli eventi per determinare violazioni alla sicurezza o tentativi di violazioni 23
Aree di intervento Sicurezza organizzativa verifica delle responsabilità politiche aziendali Sicurezza logica e fisica valutazione protezione da accessi non autorizzati valutazione protezione da eventi di natura umana o ambientale (es., dispositivi antincendio, backup) valutazione protezione dell infrastruttura di rete valutazione protezione di server e client Sicurezza delle applicazioni verifica protezione dei sistemi applicativi rispetto alle tipologie di rischio intrinseco e implementativo 24
Analisi dei rischi Identificazione e valutazione dei rischi che si verifichi un certo evento Meccanismi per tenere i rischi sotto controllo Valutazione della probabilità che accada un rishio Valutazione dell impatto di ciascun rischio Determinazione di contromisure Sviluppo e utilizzo di misure per mitigare gli effetti di un rischio Determinazione della gravità di un rischio e scelta delle contromisure appropriate 25
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) Acquisizione e analisi svolti in contemporanea e in automatico 26
Intrusion detection system (IDS) - 1 Gli IDS sono sistemi di monitoraggio rilevano attacchi generano allarmi, non prevengono intrusioni Fasi di un IDS: 1. Raccolta dati 2. Analisi 3. Risposta 27
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 28
IDS: requisiti Deve poter essere eseguito senza la supervisione degli utenti Non deve essere una scatola nera 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 29
IDS: classificazione (1) Due tecniche di analisi dei dati: Anomaly detection: segnala eventuali (e significative) deviazioni dal modello normale di comportamento Misuse detection: segnala l eventuale comparsa di eventi che rispecchiano schemi predefiniti di attacchi Richiede una conoscenza a priori dei possibili attacchi 30
IDS: classificazione (2) Utilizza dati differenti: 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 NIDS (Network-based Intrusion Detection System): controlla il traffico di rete Un singolo NIDS può proteggere diverse macchine 31
Anomaly detection Basati sulla definizione di profili d uso che descrivono il normale funzionamento costruiti manualmente (difficile!) attraverso tecniche di machine learning e data mining Anomalie: deviazioni dai profili deviazione rispetto dati statistici Capace di riconoscere nuovi attacchi 32
Anomaly detection: profili Definiti in base a determinate caratteristiche (metriche) che vengono monitorate dal sistema Attività di login e sessione frequenza login ultimo login tentativi di specifica password falliti Esecuzione di programmi e comandi frequenza di esecuzione risorse di CPU e I/O usate Attività di accesso a file frequenza di read/write/create/delete numero record letti/scritti numero letture/scritture/cancellazioni/creazioni falliti 33
Esempio: sequenze di sys call Costruisce delle tracce durante la normale esecuzione del programma Comportamento di esempio (sys calls) open read write open mmap write fchmod close 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 Riporta un anomalia se la sequenza seguente viene osservata: open read read open mmap write fchmod close 34
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 Scelta dei threshold (soglia di allarme) 35
Misuse detection Si basa sulla descrizione dei tipi di attacco (caratteristiche invarianti di attacchi noti) 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 36
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 37
Host-based IDS HIDS è in grado di monitorare attività a livello di singolo utente Vantaggi: Scopre la presenza di rootkit Svantaggi: necessario un IDS per ogni macchina se un attaccante ottiene il controllo della macchina può modificare IDS e l audit log solo visione locale di un attacco Esempi di HIDS: Tripwire (controlla integrità file) 38
Network-based IDS Ispezionano traffico di rete Cerca violazioni a protocolli pattern di connessioni inusuali stringhe di attacco nei payload dei pacchetti Svantaggi: non sono in grado di ispezionare traffico crittato non tutti gli attacchi arrivano dalla rete memorizzza ed elabora una grande quantità di traffico Esempi di NIDS Snort, Bro 39
Falsi positivi e falsi negativi Falsi positivi: Allarmi provocati da eventi legittimi le politiche di sicurezza in realtà non vengono violate causa interruzioni non necessarie causa insoddisfazioni negli utenti Falsi negativi: Allarmi mancati in presenza di eventi illegittimi le politiche di sicurezza sono violate intrusione non rilevata evento illegittimo interpretato come legittimo 40
IDS: problemi Mancanza di dati interessanti Molti network normali, system call data Pochi dati su attacchi realistici, anomalie Difficile scegliere il valore soglia Alcuni attacchi possono rientrare nei limiti di attività normali Falsi positivi/negativi sono molto costosi 41