1 / 65

Sicurezza di rete

Sicurezza di rete. Roberto Cecchini INFN, Firenze Ferrara, 28 Maggio 2003. Sicurezza: necessità. Riservatezza: la comunicazione è stata intercettata? autenticazione: l’utente è veramente chi dice di essere? Integrità: i dati ricevuti sono proprio quelli spediti? Non ripudio:

illias
Download Presentation

Sicurezza di rete

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Sicurezza di rete Roberto Cecchini INFN, FirenzeFerrara, 28 Maggio 2003

  2. Sicurezza: necessità • Riservatezza: • la comunicazione è stata intercettata? • autenticazione: • l’utente è veramente chi dice di essere? • Integrità: • i dati ricevuti sono proprio quelli spediti? • Non ripudio: • il mio interlocutore può ritrattare quello che ha detto? • Disponibilità: • il mezzo di comunicazione è stato reso inutilizzabile? • Autorizzazione: • ogni utente può accedere solo alle risorse cui ha diritto

  3. Sicurezza: principi e strategie 1/4 • Minimi privilegi: • ogni oggetto (utente, programma, ecc.) deve avere solamente i privilegi minimi indispensabili per quello che deve fare. • Difesa in profondità: • non fare affidamento su di un solo meccanismo di sicurezza, per forte che possa sembrare. • Minimizzare i punti di accesso: • un numero ridotto di punti di accesso (uno solo?) rende più facile il controllo. • Cercare l’anello più debole: • essere coscienti dei propri punti deboli e rafforzarli fino a rendere il rischio “accettabile”.

  4. Sicurezza: principi e strategie 2/4 • A prova di errore (Fail-Safe): • quando si verifica un errore (prima o poi succede...) il sistema non deve permettere l’accesso agli intrusi, anche a costo di tener fuori gli utenti legittimi. • Il non espressamente permesso è proibito (Default Deny): • Fail-Safe; • la visione dell’utenza è esattamente l’opposta; • i servizi vengono abilitati uno per uno sulla base delle effettive necessità, tutti gli altri sono disabilitati. • Partecipazione universale • non è possibile (o almeno avrebbe costi elevatissimi) la sicurezza senza la partecipazione degli utenti.

  5. Sicurezza: principi e strategie 3/4 • Diversità di difese: • non solo più di un meccanismo di sicurezza, ma possibilmente di tipi diversi. • Semplicità: • sistemi semplici sono più facili da capire e mantenere; • programmi complessi sono sicuramente afflitti da bug, alcuni dei quali possono avere implicazioni di sicurezza.

  6. Sicurezza: principi e strategie 4/4 • Sicurezza via mancanza di informazioni (Security Through Obscurity)? • Sbagliato • una macchina collegata ad Internet con l’unica protezione che nessuno ne è a conoscenza; • un server in modo che ascolta su di una porta diversa da quella di default; • Corretto • non divulgare i dettagli del proprio NID system; • informazioni dettagliate sul proprio firewall (protocolli ammessi, modello, ecc. ecc.)

  7. Tipologia delle vulnerabilità • Difetti di progettazione nel software o nei protocolli • NFS • manca l’autentificazione del cliente • TCP • IP source routing • Previsione numero di sequenza TCP • Difetti nella realizzazione del software o dei protocolli • mancanza o errati controlli sul contenuto e la dimensione dei dati (buffer overflow); • mancanza o errati controlli sul risultato delle operazioni; • mancanza o errata gestione esaurimento risorse. • Errori nella configurazione del sistema e della rete • FTP anonimo

  8. Attacchi dalla rete • Ormai chiunque può diventare un hacker. • Spesso i sistemi in rete sono mal gestiti o addirittura abbandonati. • IPv4 non è stata progettata pensando alla sicurezza delle applicazioni • sniffing; • intercettazione dei messaggi (password ecc...) • analisi del traffico • IP spoofing: falsificazione indirizzo mittente; • attacchi con un solo messaggio (es. Smurfing) • impersonificazione di un altro host • DNS spoofing • session hijacking: inserimento in una sessione attiva; • man-in-the-middle; • denial of Service (DoS); • SYN flood, mail/UDP/ICMP bombing, ping flood, smurf, ecc. ecc. • Con IPv6 le cose dovrebbero andare meglio...

  9. Protezioni • Host • strumenti di intrusion detection e controllo • COPS, Tiger, tripwire, swatch • “personal” firewall • ipf, ipchains • port / vulnerability scanner • nmap, nessus • Reti locali • firewall • network intrusion detection • Protocolli di connessione • IPSec • SSH • SSL/TLS • PGP, S/MIME

  10. Application Layer (SMTP, Telnet, SSH, FTP, ...) Transport Layer (TCP, UDP, ...) Internet Layer (IP, ICMP) Data Link Layer (Ethernet, FDDI, ATM, ...) TCP/IP

  11. H. IP H. ICMP Dati ICMP Internet Control Message Protocol • Protocollo di servizio per IP • diagnostica Internet • usato da host e router per segnalare condizioni di errore • Usa datagrammi IP • il payload contiene sempre l’header IP e i primi 8 byte del datagramma che ha provocato il messaggio. • vari tipi di messaggio (es. Echo Request/Reply, Host Unreachable, Need to Frag, Time Exceeded, etc..)

  12. Protocolli di trasporto • Concetti per protocolli al livello di trasporto: • Porta • astrazione usata dai protocolli di trasporto per distinguere fra più processi sullo stesso host • intero a 16 bit (0-65535) • per servizi standard identificativo assegnato dalla IANA • Socket • coppia (indirizzo IP, porta) • generalizzazione del meccanismo di accesso a file

  13. Source Port Destination Port 0 4 8 12 16 20 24 28 Length UDP Checksum User Datagram Protocol • Protocollo connectionless (come IP) • nessuna garanzia di consegna • assenza controllo di flusso • assenza di correzione di errore

  14. UDP: problemi • Assenza di correzione di errore • Tutti i controlli sul flusso sono a carico del livello applicativo • Assenza controllo di flusso • Implicazione di sicurezza: IP spoofing • Semplice per attaccante sostituirsi ad host • Host A effettua query a host B • Cattivo (C) risponde ad A ed effettua DoS contro B • Consigliabile filtrare servizi non essenziali

  15. 0 4 8 12 16 20 24 28 Trasmission Control Protocol • Protocollo connection-oriented • controllo del flusso • affidabilità della consegna • spoofing più difficile (ma non impossibile!) • Connessione virtuale tra due socket • connessione in chiaro Source Port Destination Port Source Number Acknowledgement Number TCP Flags Window Size Header Length TCP Checksum Urgent Pointer Options

  16. TCP: inizio sessione • Three-Way Handshake Invio ACK y+1 Invio SYN seq=y, ACK x+1 Invio SYN seq=x

  17. TCP sequence guessing • Le connessioni TCP utilizzano un numero di sequenza per riordinare i pacchetti. • Ad ogni nuova connessione viene utilizzato un numero di sequenza (semi-)casuale. • Se l’attaccante riesce a predire il numero di sequenza, può generare dei pacchetti con mittente falsificato formalmente corretti (anche se, ovviamente, non riesce a vedere le risposte). • Perché l’attacco vada a buon fine è necessario che il mittente (vero) non riceva i pacchetti di risposta (o non sia in grado di reagire). • Come protezione, i router non devono far entrare traffico che risulti proveniente dalla rete interna (ingress filtering).

  18. TCP Session Hijacking • Session Hijacking è l’inserimento in una sessione TCP attiva. • Spiando una connessione attiva è possibile sostituirsi ad uno dei due interlocutori. • C spia la connessione tra A e B e registra i numeri di sequenza dei pacchetti • C blocca B (ad es. via SYN Flood): l’utente in B vede interrompersi la sua sessione interattiva • Cinvia pacchetti con il corretto numero di sequenza, con mittente B, in modo che A non si accorga di nulla. • hunt o dsniff automatizzano il processo • I router non devono far entrare traffico che risulti proveniente dalla rete interna (ingress filtering). • Per attaccanti sulla rete interna l’unica difesa è la cifratura dei pacchetti.

  19. Portscan • L’attaccante effettua da remoto un test dello stato delle porte TCP e/o UDP sulla macchina per determinare le porte attive (aperte), che ammettono connessioni in ingresso, e le porte non utilizzate (chiuse). • Una porta aperta individua la presenza di un servizio di rete attivo offerto dall’host • A partire dall’elenco dei servizi offerti l’attaccante può tentare di individuare eventuali vulnerabilità conosciute ed effettuare exploits sulle stesse. • Vengono impiegate diverse tecniche per cercare di sfuggire all’individuazione • Decoy scan • SYN scan • FIN scan • ...

  20. Nmap # nmap -sS -O tStarting nmap V. 2.53Interesting ports on t (192.168.1.1):Port State Service21/tcp open ftp22/tcp open ssh23/tcp open telnet25/tcp open smtp37/tcp open time53/tcp open domain111/tcp open sunrpc113/tcp open auth135/tcp open loc-srv139/tcp open netbios-ssn515/tcp open printer849/tcp open unknown853/tcp open unknown7000/tcp open afs3-fileserverTCP Sequence Prediction: Class=64K rule Difficulty=1 (Trivial joke)Remote operating system guess: HP-UX B.10.20 A with tcp_random_seq = 0

  21. Network mapping con traceroute = Router IP ISP # 1 ISP # 2 Lo scopo è determinare tramite traceroute simultanei da più origini le macchine che isolano dall’esterno la rete interna protetta.

  22. Denial of Service • Attacchi di tipo Denial of Service (DoS): • scopo: rendere inutilizzabile un servizio ouna risorsa (eventualmente per sostituirsi ad essa). • metodo:inibirela connessione alrouter o al server, provocarne il crash o comunque il blocco • Distributed DoS (DDoS) • attacco di tipo DoS proveniente da più sorgenti contemporaneamente • sfruttano molti host compromessi su reti diverse per lanciare attacchi DoS su vittima • Sempre usato IP spoofing • molto difficile rintracciare l’origine dell’attacco

  23. frammenti DoS: ping of death • Invio pacchetti ICMP ping di dimensione maggiore della dimensione massima consentita (65535 bytes) • Attaccante frammenta pacchetti • Frammenti riassemblati da vittima • Ultimo frammento causa overflow Internet vittima attaccante

  24. ECHO requestIP s.: 10.12.5.25 IP d.: 10.2.1.255 DoS: smurf / fraggle • Broadcast storm • Invio di pacchetti ICMP echo all'indirizzo di broadcast di una rete (fraggle usa pacchetti UDP) • Coinvolti solitamente almeno tre siti: • sito origine dell'attacco (“attaccante”) • 2 siti vittime, uno intermedio (“amplificatore”) ed uno “bersaglio” amplificatore (10.2.1.0) attaccante (10.0.1.0) bersaglio (10.12.5.25)

  25. DoS: SYN Flood • Richiestagrande numero di connessioni da host diversi (spoofing), tramite invio pacchetti TCP SYN, senza mai inviare pacchetto di chiusura del “three-way handshake” • causa riempimentocoda di connessione (può bloccare un router) • non è possibile rintracciare origine attacco (mittente falsificato) • nonè possibile usare access-list (ip sorgente variain modo casuale) • Contromisure: aumentare la dimensione della coda diconnessione (SYN ACK queue) e diminuire il tempo di time-out per il "three-wayhandshake". • Filtri contro l’IP spoofing diminuiscono probabilità che propria LAN sia utilizzata come base per questotipo di attacchi

  26. vittima daemon daemon daemon daemon daemon Distributed DoS (DDoS) • Attacchi DoS provenienti contemporaneamente da più sorgenti (anche ~ 1000) • Struttura multi-livello attaccante  master  demoni  vittima attaccante master master master

  27. PGP, S/MIME telnet FTP sftp ssh SSLtelnet SSLFTP http scp https FTP http telnet TCP SSH SSL/TLS TCP TCP TCP IP + IPsec IP IP IP Protocolli

  28. Protocolli • Network level • trasparenti per le applicazioni, che non devono essere modificate • il network layer deve essere modificato • Transport level • viene fornita una libreria di funzioni che può essere utilizzata dai progammi applicativi • necessaria la modifica dei programmi applicativi • Application level • trasparenti per la rete • i servizi di sicurezza devono essere individualmente inclusi in ogni applicazione • necessaria la modifica dei programmi applicativi

  29. IPsec • Autenticazione e cifratura al livello Network • Authentication Header (AH) • autentifica ogni pacchetto; • Encapsulating Security Payload (ESP) • cifra i dati in ogni pacchetto; • Internet Key Exchange (IKE) • protocollo di negoziazione • metodi di autentificazione • metodi di cifratura • consente scambio sicuro di chiavi

  30. ESP Header AH Header TCP Header TCP Header IP Header IP Header Dati Dati ESP Trailer ESP Auth cifrato autenticato IPsec: end-to-end • AH • campi variabili: TOS, Frg offset, TTL, … • ESP • autentificazione facoltativa • l’IP header non è protetto Authentication Header autenticato (tranne per i campi variabili) Encapsulated Security Payload

  31. CA 1 2 ESP Header TCP Header A B Dati IP Header originale ESP Auth ESP Trailer IP Header esterno IPsec: tunnel Gli indirizzi A e B non sono visibili all’esterno dei gateway 1 e 2 Encapsulated Security Payload cifrato autenticato

  32. SSH • Rimpiazza telnet e i comandi “r” (rlogin, rshell) • Versione 1 e Versione 2 (IETF SECSH Working Group); • nella versione 1 richiede una distribuzione “manuale” delle chiavi di host e utenti; • connessione crittografata: protegge da: • IP spoofing; • IP source routing; • DNS spoofing; • sniffing; • man-in-the-middle; • tunneling traffico tcp e X11; • compressione dei dati (facoltativa, utile per connessioni lente). • Molto apprezzato anche dagli hacker, che spesso lo installano sulle macchine compromesse, perché impedisce agli amministratori di capire quali dati vengano trasferiti e per il meccanismo di port forwarding.

  33. SSL/TLS • Secure Sockets Layer (SSL) sviluppato da Netscape Communications • L’ultima versione (V3.0) è del Marzo 1996; • Netscape Communicator, Internet Explorer. • Transport Layer Security (TSL) Working Group (IETF) • versione 1.0 del Gennaio 1999 (RFC 2246). • Utilizza certificati X.509 • Può essere usato per ogni applicazione TCP (ad es. HHTP, Telnet, FTP, POP3, IMAP) • usato da praticamente tutti i server web “sicuri”: https://….. • le vecchie applicazioni “insicure” possono essere usate in modalità tunnel (ad es. stunnel: http://www.stunnel.org)\ • Non interagisce bene con firewall/proxy (man-in-the-middle)

  34. S/MIME1/2 • Permette di inviare e-mail MIME firmati e crittografati • Supportato (tra gli altri) da Communicator e Outlook • Utilizza certificati X.509

  35. S/MIME 2/2

  36. Internet NIDS router dialup DMZ LAN esterna server Intranet firewall client client server Internet e Intranet

  37. Router di frontiera • Responsabile dell’inoltro del traffico tra LAN ed Internet. • E’ il primo sbarramento della propria rete • difficile l’aggiramento da parte dell’end-user. • Permette di centralizzare un buon numero di controlli di sicurezza. • Fondamentale la sua protezione • una compromissione può aprire l’accesso alla LAN; • una inadeguata politica di filtraggio può esporre la LAN ad attacchi; • la corruzione delle tabelle di routing può provocare disservizi e accesso non autorizzato a dati. • Un router correttamente configurato può minimizzare effetti derivanti da sito compromesso in attacchi DDoS.

  38. Network Intrusion Detection System • Forniscono informazioni utili su traffico ostile. • Facilitano l’identificazione dell’origine de scansioni e/o attacchi. • Permettono di lanciare allarmi “in tempo reale”. • Non sono una panacea per tutti i problemi di sicurezza. In particolare non sostituiscono: • firewall ben configurati; • security audit regolari; • una politica di sicurezza “seria”. • Producono falsi positivi. • Possono essere “accecati” da attacchi DoS. • Sono in difficoltà con reti veloci • rete di sensori (uno per macchina?).

  39. Firewall • Network device con almeno 2 interfacce di rete • Router o hardware dedicato • Separa zone amministrativamente diverse • LAN esterna (insicura) • DMZ • Intranet • Effettua routing fra le diverse zone • Può effettuare mascheramento indirizzi (NAT) • Filtra traffico fra le diverse zone tramite regole predefinite • Router con filtri è un firewall! • Può mediare accessi a specifiche applicazioni • Proxy server

  40. Screening Router Firewall Rete interna Architetture: Screening Router

  41. Screening Router Firewall Rete Interna Architetture: Screened Host Bastion Host

  42. Router esterno Bastion Host Perimeter Network Router interno Firewall Rete Interna Architetture: Screened Subnet

  43. Firewall: pro e contro • Il sw disponibile non è ancora di qualità adeguata • In molti casi è l’unica protezione possibile • Il costo di un incidente di sicurezza è ben maggiore • Se le applicazioni sono scritte bene i FW non sono di intralcio • In questo modo ogni novità rimane sotto controllo • Il nuovo sw spesso è meno sicuro di quello vecchio • È solo questione di comprare hw più veloce • Anche le macchine interne devono essere ben configurate • I FW non sono lo strumento adatto per bloccare virus e applet • IPV6 è ancora lontano. • Sono troppo complessi • I nuovi servizi sono incompatibili con i FW • Sono di difficile gestione, troppo costosi e rapidamente obsoleti • Bloccano servizi utili e riducono l’utilità di Internet • Ad ogni nuovo servizio il FW deve essere riconfigurato • Il nuovo sw ha incluso il supporto per la sicurezza (ad es. SSL) • Riducono le prestazioni in modo eccessivo • I servizi che vengono fatti passare possono avere problemi di sicurezza • Non è in grado di bloccare i virus o applet ostili • IPV6 renderà i FW obsoleti

  44. Firewall: limitazioni • Scarsa protezione dagli attacchi dall’interno (e dagli utenti...) • È sempre possibile un accesso non autorizzato alla rete esterna (ad es. via modem) • Scarsa o nessuna protezione da virus, applet Java, e controlli ActiveX • Si possono utilizzare tunnel per evitare il blocco di alcuni protocolli

  45. Packet filter • Un device (ad es. un router) che controlla ogni pacchetto IP in arrivo per decidere se inoltrarlo o no. • I filtri si basano sulle seguenti informazioni • semplici • protocollo; • porte; • indirizzi sorgente e destinazione; • flag e opzioni tcp; • non prendono in considerazione la parte dati; • prendono le decisioni pacchetto per pacchetto; • stateful (dinamici) • tengono traccia delle connessioni in corso e possono avere conoscenza dei protocolli più comuni. • la necessità di tenere traccia delle connessioni aperte, ovviamente, aumenta il lavoro del filtro

  46. Bastion Host • È il sistema a cui si devono connettere gli utenti esterni per accedere alle macchine e ai servizi locali. • È particolarmente esposto agli attacchi e quindi deve essere molto curato dal punto di vista della sicurezza • va previsto il caso che il Bastion Host venga compromesso: in altri termini, le macchine interne non devono fidarsene più del minimo indispensabile. • la rete su cui si trova non dovrebbe trasportare traffico confidenziale (potrebbero installare uno sniffer): dovrebbe essere isolata dalla rete interna da un packet filter. • in alternativa potrebbe essere su di uno switch (ma attenzione, anche gli switch permettono snooping! e anche il traffico multicast potrebbe essere di interesse per un intruso)

  47. Bastion Host: servizi • Deve fornire solamente i servizi necessari per accedere ad Internet e quelli che devono essere offerti all’esterno, e niente altro(inclusi account utenti). • Servizi sicuri • possono essere forniti via packet filtering senza interessare il BH (ma questo dipende dal grado di sicurezza desiderato). • Servizi che possono essere resi sicuri • offerti dal BH • SMTP, FTP, HHTP, NNTP, ... (richiedono accesso al DNS) • Servizi intrinsecamente insicuri • devono essere disabilitati o forniti da una macchina vittima • Servizi non utilizzati (almeno non in relazione ad Internet) • devono essere disabilitati

  48. client server proxy Proxy • Un proxy è un software (su di un dual-homed host, o un Bastion Host) che fa intermediario tra il client e il server, dando al client l’impressione di parlare direttamente al server, mentre la connessione passa in realtà dal proxy che fa da intermediario. • Lo scopo è di rendere il più trasparente possibile l’accesso all’esterno, mantenendo nello stesso tempo l’isolamento dei nodi sulla rete interna protetta. • Le modalità di funzionamento sono diverse da servizio a servizio: in generale è necessario un software specifico dalla parte del server, mentre dalla parte del client una di queste possibilità: • software applicativo proxy-aware • sistema operativo proxy-aware • procedure utente proxy-aware • router proxy-aware

  49. Proxy: client proxy-aware • Ad es.: Netscape, Internet Explorer, Lynx • SOCKS e HTTP • Le applicazioni possono essere disponibili solo per qualche piattaforma • Le applicazioni disponibili possono non essere adeguate alle necessità • Il meccanismo non è trasparente: le applicazioni devono essere configurate in modo opportuno

  50. Internet PC NAT PC PC PC Network Address Translation (NAT) • Mapping (dinamico o statico) di un insieme di indirizzi IP nascosti su pool indirizzi pubblici • Indirizzi privati non direttamente raggiungibili da Internet • Il NAT server mantiene tabella con abbinamenti per inoltro pacchetti 192.168.1.3 131.154.6.1<->192.168.1.3 131.154.6.0/25 192.168.1.0/24

More Related