Problemi di sicurezza attiva Elementi di sicurezza nelle reti Gruppo Reti TLC nome.cognome@polito.it http://www.tlc-networks.polito.it/ SICUREZZA RETI - 1 Trasmissione di dati attraverso una rete con tecniche di cifratura che evitano che i dati vengano: intercettati e letti (secrecy) modificati (message integrity) Autenticazione e certificazione della propria identità (authentication) Le funzionalità di sicurezza sono presenti in più livelli dell architettura di rete SICUREZZA RETI - 2 Network Security Alice e Bob (possono essere router, host, applicativi di posta, ecc.) vogliono comunicare in modo sicuro. Esempicomunidisituazioniincuisirichiede sicurezza: relazioni sentimentali comunicazioni in tempo di guerra transazioni commerciali Trudy può essere passiva o attiva. SICUREZZA RETI - 3 SICUREZZA RETI - 4 Sicurezza in Internet Tecniche crittografiche SICUREZZA RETI - 5 SICUREZZA RETI - 6 Pag. 1
Tipi di attacchi attacco solo sul messaggio cifrato (cyphertext only) attacco conoscendo il messaggio in chiaro (known plaintext) attacco scegliendo il messaggio in chiaro (chosen plaintext) SICUREZZA RETI - 7 Tecniche crittografiche Due approcci fondamentali: chiavi simmetriche: la cifratura e la decifratura usano una stessa chiave segreta (es. cifratore di Cesare; cifratore monoalfabetico; cifratore di de Vigenere o polialfabetico; DES Data Encryption Standard) chiavi pubbliche: solo la chiave di decifratura è segreta; la chiave di cifratura è nota a tutti (es. algoritmo RSA Rivest Shamir Adleman; funzioni ellittiche) SICUREZZA RETI - 8 DES: Data Encryption Standard (US National Bureau of Standards) La funzione f( ) compone in OR gruppi di 4 bit di Ki e di Ri espansi a gruppi di 6 bit. Il risultato va in XOR con Li. SICUREZZA RETI - 9 Sicurezza del DES DESusachiavida64bitdicui8diparità. Il 1999 DES Challenge III (gara di cracking deldes-56)èstatovintoin22ore, utilizzando un calcolatore progettato appositamente e una rete di volontari. Si può migliorare la sicurezza applicando più volte il DES con chiavi diverse. Per esempio il triplo DES (3DES) è stato proposto come standard crittografico per il Point-to-Point Protocol (PPP). SICUREZZA RETI - 10 Crittografia con chiave pubblica Crittografia con chiave pubblica L utente genera, utilizzando software opportuno, una coppia di chiavi (sequenze di bit). Le due chiavi sono correlate matematicamente, ma dall una non si può ricavare l altra. Una, la chiave pubblica, viene distribuita, l altra, la chiave privata, viene tenuta segreta. SICUREZZA RETI - 11 SICUREZZA RETI - 12 Pag. 2
Protezione dalla lettura Chi vuole inviare all utente X un messaggio M senza che questo venga letto da estranei, usa la chiave pubblica E dell utente X per cifrarlo. Il messaggio cifrato si calcola come F(E,M) La funzione F usata per cifrare non è invertibile Il messaggio potrà essere decifrato solo dal possessore della chiave privata D (la chiave pubblica non è più in grado di farlo) applicando nuovamente la funzione F: M=F(D,F(E,M))=F(E,F(D,M)) SICUREZZA RETI - 13 Algoritmo RSA Si scelgono due numeri primi grandi p e q. Si calcola n = pq e z = (p-1)(q-1). Si sceglie un numero e < n che non abbia fattori comuni con z. Si trova un numero d in modo che ed-1 sia esattamente divisibile per z. La chiave pubblica è (n,e), la chiave privata (n,d). La codifica è c = me mod n. Ladecodificaè m=cdmodn. SICUREZZA RETI - 14 Perché funziona RSA? Teorema di Fermat-Eulero: a ϕ(n) =1modn a<n ϕ(n) = funzione ϕ di Eulero: conta il numero di numeri primi con n Piccolo teorema di Fermat: a p-1 =1modp a<p,pprimo sen=pq,conpeqprimi, ϕ(pq) = ϕ(p) ϕ(q) = (p-1) (q-1) Infine: m = m de mod n = m de mod z + k z mod n =m 1 + k(p-1)(q-1) mod pq = m Autenticazione del mittente L utente X invia un email (o effettua un posting su Usenet), cifrandola mediante la propria chiave privata Se i destinatari sono in possesso della chiave pubblica del mittente, potranno decifrare il mail e, automaticamente, essere sicuri che è stato inviato dall utente X o è stato solo codificato dall utente X? SICUREZZA RETI - 15 SICUREZZA RETI - 16 Autenticazione Autenticazione Cifrare la password non aiuta! SICUREZZA RETI - 17 SICUREZZA RETI - 18 Pag. 3
Autenticazione Utilizzo del nonce (numero usato una sola volta) e chiave simmetrica. Autenticazione Utilizzo del nonce e chiave pubblica. SICUREZZA RETI - 19 SICUREZZA RETI - 20 Autenticazione? Man-in-the-middle attack AliceeBob non si accorgono della presenza di Trudy! Deve essere sicuro lo scambio della chiave pubblica! SICUREZZA RETI - 21 SICUREZZA RETI - 22 Protezione da contraffazione (message integrity) Firma digitale Per ridurre la complessità computazionale sovente si firmano i message digest: SICUREZZA RETI - 23 SICUREZZA RETI - 24 Pag. 4
Firma digitale L utente X condensa il messaggio usando un algoritmo di hash, quindi ne codifica il risultato (message digest) con la propria chiave privata. Il messaggio viene inviato in chiaro, e l utente X vi acclude il digest codificato. Se il destinatario (o meglio il suo programma di email) riesce a decodificare con la chiave pubblica di X il digest, il messaggio non è contraffatto. Firma digitale: trasmissione SICUREZZA RETI - 25 SICUREZZA RETI - 26 Message Digest Firma digitale: ricezione E un sommario o impronta del messaggio, simileauncontrollodiparità. Algoritmi di hashing: MD5 (RFC1321, RFC1810) SHA-1 (Secure Hashing Algorithm), standard federale (USA) SICUREZZA RETI - 27 SICUREZZA RETI - 28 Distribuzione delle chiavi Le chiavi devono essere distribuite in modo sicuro. Key Distribution Center Il server del KDC ha una chiave simmetrica segreta K X,KDC per ogni utente registrato X. R1 = one-time session key Servono notai elettronici : Key Distribution Center per sistemi a chiave simmetrica (es.: Kerberos - RFC1510 - sviluppato al MIT) Certification Authority per sistemi a chiave pubblica SICUREZZA RETI - 29 SICUREZZA RETI - 30 Pag. 5
Occorre essere certi delle chiavi pubbliche! Certification Authority Compiti: verificare l identità delle entità mantenere le chiavi pubbliche delle entità distribuire certificati (firmati dalla Certification Authority) che legano la chiave pubblica di un entità alla sua identità ITU (X.509) e IETF (RFC1422) hanno standard per Certification Authority. SICUREZZA RETI - 31 SICUREZZA RETI - 32 Certification Authority I certificati Un certificato è una chiave pubblica firmata conlachiaveprivatadiunacertification Authority Esistono gerarchie di autenticazione (chi certifica le singole Authority?) con certificati conformi allo standard X.509 Richiedere un certificato ad una CA è possibile a chiunque (ma spesso si paga...) SICUREZZA RETI - 33 SICUREZZA RETI - 34 Un certificato e-mail sicura Segretezza, autenticazione e integrità del messaggio. In Internet PGP (Pretty Good Privacy - http://www.pgpi.com) funziona sostanzialmente secondo questo schema. SICUREZZA RETI - 35 SICUREZZA RETI - 36 Pag. 6
e-mail sicura e-mail sicura Autenticazione e integrità del messaggio: si usa una firma digitale sul message digest. SICUREZZA RETI - 37 Segretezza del messaggio: si usa una chiave simmetrica perché richiede un minor sforzo computazionale. SICUREZZA RETI - 38 Sicurezza in Internet Livello applicativo: es. PGP Livello trasporto: Secure Socket Layer (SSL), sviluppato da Netscape; Secure Electronic Transactions (SET) progettato da Visa International e MasterCard per transazioni con carte di credito Livello IP: IP Security protocol (IPsec - RFC2401, RFC2411) Problemi di sicurezza passiva Senza adeguate protezioni, la rete Internet è vulnerabile ad attachi mirati a: penetrare all interno di sistemi remoti usare sistemi penetrati per sferrare attacchi verso altre reti e sistemi Questi problemi sorgono a causa di: vulnerabilità intrinseca degli host configurazioni approssimative e assenza di controlli SICUREZZA RETI - 39 SICUREZZA RETI - 40 Esempi recenti e frequenti Vulnerabilità di sendmail (UNIX). Problema amplificato dalla vasta diffusione del programma Vulnerabilità di server FTP, soprattutto nella configurazione anonymous Installazione di sniffer (programmi in grado di carpire le password, che viaggiano in chiaro sulla rete, ed altre informazioni) Pericoli in Internet Autenticazione debole Monitoraggio di password spoofing Denial-of-Service Servizi LAN di scarsa affidabilità Host a fiducia reciproca Disponibilità del software di rete Poca scalabilità della sicurezza degli host SICUREZZA RETI - 41 SICUREZZA RETI - 42 Pag. 7
Autenticazione debole Monitoraggio di password ProblemapresentesusistemiUnixmultiuser Normalmente, le password sono contenute (cifrate) in file leggibili da qualsiasi utente Usando programmi adatti è possibile decrittare le password prelevate dal file Soluzione: shadow password. Ilfiledi password non è più leggibile dall utente senza privilegi Diversetecniche: Normalmente, un telnet o ftp tra sistemi Unix invialepasswordinchiaroinrete.attraverso uno sniffer è possibile intercettarle Utenti incauti possono inviare password all interno di email, intercettabili anch esse Uso di programmi che leggono i tasti battuti da un utente su un terminale Xwindow SICUREZZA RETI - 43 SICUREZZA RETI - 44 Spoofing Spoofing con source routing Letteralmente, spacciarsi per un altro host Sostalzialmente, si tratta di assumere l indirizzo IP di un host fidato che ha accessosuunsistemaprotetto Il modo più semplice consiste nell attendere che l host reale venga spento e non si creino conflitti tra indirizzo IP e indirizzo MAC Uno spoofing più sofisticato prevede l uso dell opzione di source routing IP: l host cattivo assume l indirizzo IP del buono il cattivo costruisce una richiesta client in cui specifica, hop per hop, il percorso dei pacchetti tra sé e il sistema attaccato, e ritorno il sistema remoto accetta la richiesta come provenisse dal buono e risponde al cattivo attraverso la source route indicatagli SICUREZZA RETI - 45 SICUREZZA RETI - 46 Denial-of-Service Attacco subdolo mirato ad alterare l attività dell interfaccia di rete o del software di rete, finché l host va in crisi Esempi: Bombardamento di ping Apertura parziale di connessioni multiple (syn flooding) SICUREZZA RETI - 47 Denial-of-Service: il syn flooding Consiste nell inviare ad un server TCP una sequenza ininterrotta di segmenti SYN senza mai chiudere il three-way handshake Il server riesce a tenere in coda solo un numero limitato di richieste di connessione, e non riesce più a servire quelle vere L hacker spesso modifica il proprio indirizzo di provenienza sui pacchetti IP, rendendo impossibile qualunque difesa SICUREZZA RETI - 48 Pag. 8
Servizi LAN a scarsa affidabilità Host a fiducia reciproca Un esempio: NIS (Network Information Services) e NFS (Network File System) Idea: gestisco il sistema in maniera distribuita (password, file system...) ma in questo modo aumento la vulnerabilità globale perchè la violazione di uno degli host regala all hacker l accesso a tutti gli altri Soprattutto in relazione al servizio rlogin : la connessione di un utente da un certo host sono accettati senza password se la coppia (utente,host) è dichiarata di fiducia vantaggio: non trasmetto la password sulla rete svantaggio: se l utente sull host di fiducia viene violato, lo saranno, a catena, tutti quelli che si fidano SICUREZZA RETI - 49 SICUREZZA RETI - 50 Disponibilità del software di rete Poca scalabilità Il software TCP/IP ed i suoi meccanismi sono ben noti Il codice è disponibile liberamente, e può essere studiato per individuarne eventuali debolezze Il pericoli di nuovi attacchi, sotto forme diverse, è dunque sempre attuale! Vulnerabilità accertate sono difficili da risolvere se la sicurezza è gestita a livello di host Occorre un approccio net-wide La soluzione comunemente scelta è il ricorso ad un firewall SICUREZZA RETI - 51 SICUREZZA RETI - 52 Firewall Ibeneficidiunfirewall Lo scopo principale di un firewall èdi controllare l accesso da e a una rete protetta Il controllo è effettuato obbligando le connessioni a passare attraverso il firewall, dove vengono esaminate e valutate Un firewall può essere un router o anche un PC, posizionati topologicamente per proteggere host o sottoreti Protezione di servizi vulnerabili (come NFS, o spoofing con source routing) Accesso controllato agli host interni (es.: solo accesso a mail server o WWW server) Sicurezza concentrata ÿ scalabilità Statistiche di accesso, logging di traffico... SICUREZZA RETI - 53 SICUREZZA RETI - 54 Pag. 9
Funzionalità di un firewall Politica di accesso alla rete meccanismi avanzati di autenticazione filtraggio dei pacchetti funzioni di proxy combinazioni delle singole funzionalità Firewall Politiche di accesso alla rete Affronta il problema ad alto livello : quali servizi possono avere accesso alla rete (es.: tutti, tranne quelli esplicitamente negati) quali servizi devono essere negati (es.: tutti, tranne quelli esplicitamente permessi) e a basso livello : quali soluzioni pratiche vanno seguite per accettare o rifiutare i servizi SICUREZZA RETI - 55 SICUREZZA RETI - 56 Firewall Meccanismi avanzati di autenticazione Poiché i firewall centralizzano il controllo dell accesso ai siti, sono il punto più logico dove installare servizi avanzati di autenticazione (es: one-time password ) TELNET, FTP non autenticati Internet FIREWALL TELNET, FTP autenticati Firewall Filtraggio di pacchetti Realizzato attraverso un router in grado di scartare o accettare pacchetti in IP in base a: indirizzo sorgente IP indirizzo destinazione IP porta sorgente TCP/UDP porta destinazione TCP/UDP SICUREZZA RETI - 57 SICUREZZA RETI - 58 Firewall Funzioni di proxy Un firewall, sotto forma di application gateway, può connettere traffico in ingresso ed in uscita sostituendosi di volta in volta alla sorgente e alla destinazione Può essere usato per una varietà di servizi (da FTP e Telnet, fino al più comune scambio client-server WWW) SICUREZZA RETI - 59 client La funzione di proxy F server 1. Un client interno invia una richiesta ad un server esterno alla rete 2. Il firewall/proxy intercetta la richiesta e la propaga all esterno come se fosse sua. 3. Quando torna la risposta, se ne fa (eventualmente) una copia e poi la propaga al client come se provenisse direttamente dal server remoto SICUREZZA RETI - 60 Pag. 10
Problemi irrisolti Un firewall può introdurre dei problemi e può talvolta essere inefficace: Accesso limitato a servizi desiderati (telnet, ftp, NFS) Presenza di backdoors (connessioni modem che aggirano il firewall) Nessuna protezione contro attacchi dall interno della rete Nessuna protezione contro virus scaricati dalla rete! Possibili limiti sul throughput in ingresso/uscita dal sito SICUREZZA RETI - 61 Pag. 11