Sicurezza dei calcolatori e delle reti Proteggere la rete: tecnologie Lez. 11 A.A. 2010/20011 1
Firewall I firewall sono probabilmente la tecnologia per la protezione dagli attacchi di rete più diffusa Un Internet firewall, in particolare, è un sistema realizzato con lo scopo di proteggere la rete interna di un organizzazione (che nel seguito indicheremo anche con il termine Intranet) da Internet A.A. 2010/20011 2
Firewall: cosa sono Concettualmente, un Internet firewall è un entità, in particolare l unica entità, interposta tra Internet e una rete aziendale il cui accesso da e verso Internet si vuole disciplinare, tipicamente per limitare l esposizione alle intrusioni informatiche che la rete aziendale potrebbe subire da parte di utenti di Internet A.A. 2010/20011 3
Firewall A.A. 2010/20011 4
FW: funzionalità A.A. 2010/20011 5
Firewall: come sono Fisicamente, le configurazioni dei firewall variano in funzione degli scopi per cui sono impiegati, senza perdere in generalità possiamo affermare che un firewall è formato da componenti hardware (router e host) tra loro opportunamente collegate Alcune componenti software opzionali A.A. 2010/20011 6
Firewall: caratteristiche generali Tutto il traffico che entra ed esce da una rete intranet deve passare attraverso il firewall Solo il traffico autorizzato potrà entrare/uscire dalla rete Il firewall deve essere il più possibile immune da attacchi A.A. 2010/20011 7
Firewall: dove posizionarli Tra la LAN e la rete esterna Al confine di sotto reti critiche all interno di una LAN All interno di un azienda alcune sottoreti necessitano più protezione di altre Sulle macchine degli utenti ifnali Personal firewall A.A. 2010/20011 8 slide 8
Sui Servizi I filtri Vengono definiti i tipi di servizi che possono essere acceduti da e verso Internet Sulla direzione Determina la direzione verso cui il traffico generato da certi servizi è ammissibile A.A. 2010/20011 9
Tipi di firewall Filtri: Packet o session-filtering router (filtri) Proxy gateway: tutto il traffico in ingresso è diretto verso il firewall e tutto il traffico in uscita sembra provenire dal firewall Application-level: un proxy diverso per ogni applicazione Proxy per SMTP (email), HTTP, FTP, etc. Regole di filtro specifiche per ogni applicazione Circuit-level: un proxy per tutte le connessioni TCP Personal firewall con regole specifiche per l ambito di riferimento A.A. 2010/20011 10
Packet filtering A.A. 2010/20011 11
Tipi di Filtri Packet filtering I pacchetti sono trattati individualmente Non c è nozione di stato Session filtering (stateful inspection9 I pacchetti sono raggruppati in connessioni È possibile analizzare un intera connessione Tengono traccia dello stato della connessione A.A. 2010/20011 12
Packet Filter Per ogni pacchetto decide se eliminarlo o farlo procedere Basa le sue decisioni sulle informazioni presenti negli header di livello 3 e 4 (ignora il payload) Le informazioni usate sono: IP source and destination addresses, porte Protocol identifier (TCP, UDP, ICMP, etc.) TCP flags (SYN, ACK, RST, PSH, FIN) ICMP message type A.A. 2010/20011 13
Packet Filtering Esempi A.A. 2010/20011 14
Criticità Packet filtering Non è in grado di prevenire attacchi specifici alle applicazioni: Il Fw non è in grado di rilevare un eventuale buffer overflow su qualche server Non prevede alcun meccanismo per l autenticazione utente Può solo fare address-based authentication, che però può essere spoofed Vulnerabile ad attacchi come TCP/IP spoofing o frammentazione Non banale una corretta configurazione A.A. 2010/20011 15
Altre criticità In una connessione TCP le porte con numeri inferiore a 1024 sono permanentemente assegnate ai server Le porte dei clienti da 1024 e 65535 devono essere disponibili per stabilire connessioni Cosa deve fare un firewall se vede una richiesta di connessione da un server esterno alla porta 29345 di un client? Allow: perché è una risposta ad una connessione stabilita precedentemente Deny: può essere traffico pericoloso Per poter decidere deve conoscere lo stato della connessione A.A. 2010/20011 16
Packet filtering Vantaggi: Semplice Trasparente agli utenti Opera ad alta velocità A.A. 2010/20011 17
Session Filtering La decisione è ancora fatta sui singoli pacchetti, ma conoscendo lo stato delle connessioni in corso: Se il pacchetto in analisi è relativo ad una nuova connessione verifica le ACL Se è un pacchetto relativo ad una connessione in corso controlla ed eventualmente aggiorna un apposita tabella delle connessioni, connessioni a porte diverse possono essere consentite se c è già una connessione in corso tra IP src e dest A.A. 2010/20011 18
Tabella delle Connessioni A.A. 2010/20011 19 slide 19
Esempio A.A. 2010/20011 20
Vantaggi & Svantaggi Molto difficile filtrare traffico stateless (UDP e ICMP) I filtri possono comunque essere bypassati con Tunneling Buone prestazioni Consente una maggiore controllo del packet filtering A.A. 2010/20011 21
Application level gateway A.A. 2010/20011 22
Application level gateway Svolge le funzioni di relay tra traffico a livello applicazione, si interpone tra i client ed il server di un applicazione È necessario un proxy diverso per ogni applicazione Esempio: web proxy Overhead molto elevato ma possibilità di logging delle attività a livello di singola applicazione Può gestire autenticazione utente-gateway Non trasparente all applicazione A.A. 2010/20011 23
Circuit Level Proxy A.A. 2010/20011 24
Circuit level Proxy Suddivide ogni connessione TCP in due sottoconnessioni Non analizza il TCP payload e quindi effettua un controllo meno approfondito di un application level gateway SOCKS interfaccia universale per la relaizzazione di gateway di questo tipo Non trasparente alle applicazioni A.A. 2010/20011 25
Sommario Prestazioni Modifica appl- Difesa frag. attack Packet filter Best No No Session filter No Maybe Circuit-level gateway Yes (SOCKS) Yes Application-level Worst Yes Yes A.A. 2010/20011 26
Bastion host Sono i sistemi dell organizzazione più esposti agli attacchi informatici Per ridurre i rischi di attacco, si sono diffuse alcune pratiche, che consentono di rendere i bastion host meno vulnerabili il bastion host serve come piattaforma per un application-level o circuit-level gateway A.A. 2010/20011 27
Configurazioni del Firewall Screened subnet firewall, il firewall è composto da: Due router che fanno packet filtering Uno o più bastion host L obiettivo è quello di creare una sottorete isolata dalla rete da proteggere A.A. 2010/20011 28
Screened Subnet Screened-subnet firewall, rete demilitarizzata A.A. 2010/20011 29
Configurazioni del Firewall Fisicamente, tale architettura può essere realizzata anche con un singolo host, che sia in grado di ospitare almeno tre schede di rete, e possa applicare su ciascuna di esse un insieme differente di regole di packet filtering In questo caso l architettura di firewall collassa in un singolo host denominato appunto firewall A.A. 2010/20011 30
Configurazioni dei firewall La rete demilitarizzata è il vero elemento distintivo di questa architettura di firewall Disaccoppiamento fisico tra la rete interna in cui sono mantenuti tutti i servizi critici per l azienda e la rete demilitarizzata su cui vengono installati i servizi di rete pubblici A.A. 2010/20011 31
Configurazioni dei firewall Questo firewall non consente ad un intrusore che riesca ad accedere ad uno dei bastion host, di: avere accesso diretto alla rete interna che è protetta da un ulteriore livello di screening router poter intercettare il traffico della rete interna che potrebbe contenere informazioni sensibili A.A. 2010/20011 32
Router esterno Il router esterno deve proteggere la rete interna e la rete perimetrale da Internet, in particolare il router esterno deve preoccuparsi di proteggere i bastion host e il router interno. Deve provvedere a bloccare tutto il traffico sospetto proveniente da Internet e diretto ai bastion host o alla rete interna A.A. 2010/20011 33
Router interno Lo scopo di questo router è di proteggere la rete interna da Internet ma anche dalla rete demilitarizzata. Il router interno deve consentire il traffico, dalla rete interna verso Internet, di tutti quei servizi che si è deciso di rendere fruibili agli utenti della rete interna. La lista di questi servizi può comprendere HTTP, FTP, Telnet o meglio SSH A.A. 2010/20011 34
IDS Nella terminologia corrente per intrusion detection system si intende un insieme di componenti hw e sw dedicate a rilevare, automaticamente ed in tempo reale, il verificarsi di un intrusione in un sistema o in una rete A.A. 2010/20011 35
IDS A.A. 2010/20011 36
Introduzione Sin dai primi anni 80 la comunità scientifica ha operato per individuare strumenti automatici che consentissero di rilevare: Intrusioni o tentativi di intrusione informatica Attacchi da parte di utenti autorizzati Malware Attacchi di rete Gli IDS sono la risposta a questa necessità A.A. 2010/20011 37
Tipologie Host-based (IDS) Controllano le attività svolte su un singolo host al fine di riscontrare eventi sospetti Network Based IDS Solitamente installati su un router o un firewall Controllano il traffico di rete (header e payload) A.A. 2010/20011 38
Host- Based Intrusion Detec?on Corporate network Agent Agent Firewall Untrusted network Agent Agent Agent Agent Agent Agent WWW server DNS server A.A. 2010/20011 39
Network- Based Intrusion Detec?on Corporate network Sensor Sensor Firewall Untrusted network Management System WWW server DNS server A.A. 2010/20011 40
Le tecniche Misuse Detection Un attacco viene individuato attraverso una serie di azioni ed eventi che lo caratterizzano (es. sequenze di syscall, pattern di pacchetti, ecc.) È necessario conoscere a priori l attacco Anomaly Detection A partire da un modello che definisce il comportamento normale di un sistema, si cerca di individuare situazione che deviano significativamente dallo stesso In questo modo è potenzialmente possibile individuare attacchi non noti A.A. 2010/20011 41
Misuse Detection (signature based) Deve essere individuato un insieme di regole (signature) da associare ad ogni specifico attacco: Buffer overflow Un programma setuid esegue una shell con certi argomenti Un pacchetto di rete contiene molti NOPs Un programma viene eseguito con un argomento molto lungo Le signature sono molto specifiche e non riescono nemmeno a catturare varianti dello stesso attacco A.A. 2010/20011 42
Come individuare le signature Si effettua più volte l attacco da studiare e si estraggono le invarianti di sistema Parti di codice nel malware, numero di porta di applicazioni con Bof, shell code Honeypots: strumento utile per estrarre signature di attacchi L individuazione di strumenti automatici per l estrazione di attack signature è argomento di ricerca molto attuale A.A. 2010/20011 43
Anomaly detection Definire un profilo che descrive il comportamento normale nell ambito di un sistema Il profilo è solitamente statistico Si loggano le attività svolte normalmente sul sistema per un certo periodo di tempo, successivamente con tecniche di machine learning, si addestra l IDS a riconoscere comportamenti normali, tutto quanto non è riconosciuto sarà ritenuto anomalo A.A. 2010/20011 44
Cos è il profilo Attività di login Frequenza e luogo di login, fallimenti password, cambiamenti password, profilo tipico delle sessioni di lavoro (busy vs elapsed) Esecuzione di programmi e comandi Frequenza di esecuzione, uso CPU, I/O, tipi di comandi e programmi eseguiti Uso File Frequenza di Read/write/delete, tipi di file usati A.A. 2010/20011 45
HIDS Usano le informazioni memorizzate dai meccanismi di logging e auditing del SO per individuare attack signature Log di tutti gli eventi significativi del sistema Logging di tutti i comandi di shell e syscall eseguite dai programmi applicativi e di sistema C è bisogno di un HIDS per ogni host L attacco è visto solo localmente A.A. 2010/20011 46
Eventi da controllare OS system calls Command line Network data Processi Keystroke Accessi a file e device A.A. 2010/20011 47
NIDS Si ispeziona il traffico di rete Tcpdump per intercettare i pacchetti Si cercano all interno del traffico violazioni note (nel caso si adotti un approccio signature based) o variazioni a profili predefiniti (anomaly detection) A.A. 2010/20011 48
Bypassare il NIDS Overload di pacchetti per saturare il NIDS ed effettuare successivamente l attacco Cifrare i pacchetti per evitare l inspection Frammentare i pacchetti Rallentare la frequenza dei pacchetti di attacco A.A. 2010/20011 49
Errori degli IDS Falso negativo: un attacco che non è stato riscontrato Errore tipico degli IDS signature Based Falso positivo: un attività non pericolosa che è stata classificata come tale Errore più legato ai sistemi anomaly based A.A. 2010/20011 50