La sicurezza informatica nelle applicazioni di rete Roberto Cecchini GARR-CERT SINM 2000 Lecce, 2-4 Ottobre 2000 La sicurezza informatica nelle applicazioni di rete GARR-CERT Il servizio – istituito nel Marzo 1999, pienamente operativo da Giugno 1999; – 8 unità: 2 a tempo pieno e 6 a tempo parziale, sede centrale a Firenze Gli utenti sono tutte le istituzioni afferenti alla rete GARR. I compiti – rispondere alle segnalazioni di incidenti, avvertire ed assistere gli utenti coinvolti e seguire gli sviluppi; – diffondere informazioni sulle vulnerabilità più comuni e sugli strumenti di sicurezza da adottare; – gestire corsi di aggiornamento tecnico; – provare strumenti esistenti, e svilupparne di nuovi per esigenze specifiche. Coordinamento con gli altri CSIRT Europei Lecce, 2-4 Ottobre 2000 SINM 2000 1 La sicurezza informatica nelle applicazioni di rete GARR-CERT: chi siamo Membri – – – – – – – – Roberto Cecchini (coordinatore) Claudio Allocchio Paolo Amendola Luca dell'Agnello Francesco Gennai Enrico Morandi Francesco Palmieri Andrea Pinzani Lecce, 2-4 Ottobre 2000 <[email protected]> <[email protected]> <[email protected]> <[email protected]> <[email protected]> <[email protected]> <[email protected]> <[email protected]> SINM 2000 2 La sicurezza informatica nelle applicazioni di rete GARR-CERT: procedura di gestione incidenti http://www.cert.garr.it/incidenti.php3 (approvata dall’OTS GARR il 20/12/99) 1. 2. 3. GARR-CERT invia una comunicazione di apertura incidente ai responsabili locali coinvolti e all’APM; se il problema non viene risolto GARR-CERT invia all'APM la richiesta di filtraggio sul router di connessione alla rete GARR; se l'APM non interviene entro i tempi richiesti, GARR-CERT invia al GARR-NOC la richiesta di filtraggio sul router di accesso al GARR. Tempi di intervento richiesti: – – – open mail relay: 3 giorni; nodi origine di azioni ostili (port scan, attacchi, ecc.): 1 giorno; router utilizzati per attacchi DoS (ad es. smurf) perché erroneamente configurati: 1 ora. Lecce, 2-4 Ottobre 2000 SINM 2000 3 La sicurezza informatica nelle applicazioni di rete GARR-CERT: servizi Server web: http://www.cert.garr.it/ Mailing list: – [email protected] • gli iscritti sono i membri di GARR-CERT; • riceve anche i mail diretti ad [email protected]; • chiunque può (e dovrebbe) usarlo per segnalare incidenti. – [email protected] • segnalazione di allarmi di sicurezza; • comunicazioni di interesse generale; • iscrizione aperta a tutti (maggiori dettagli sul server web). Documenti (reperibili sul server web). Security Alerts Controllo vulnerabiltà (su richiesta dell’APM). Lecce, 2-4 Ottobre 2000 SINM 2000 4 La sicurezza informatica nelle applicazioni di rete Mi hanno compromesso! (1/2) Staccate la macchina dalla rete e lavorate in single user – potrebbe essere meglio staccare la corrente! – molto probabilmente ps, ls, find, netstat, ecc. non sono affidabili Provate a seguire le tracce dell’intruso (qualche volta si dimentica di ripulirle…): – messages, xferlog, wtmp, maillog, ecc. • molto consigliabile che i file di log vengano salvati anche su un’altra macchina – shell history file. Fate un backup il più completo possibile (anche a fini legali) – in alternativa smontate (e conservate) il disco. Lecce, 2-4 Ottobre 2000 SINM 2000 5 La sicurezza informatica nelle applicazioni di rete Mi hanno compromesso! (2/2) Cercate di scoprire come è entrato l’intruso Modificate tutte le password Se l’intruso è diventato root (cosa abbastanza probabile…) – reinstallate il sistema operativo (all’ultima versione e all’ultima patch!) • è molto difficile altrimenti essere sicuri che non siano rimaste backdoor – controllate l’esistenza di file suid/gid nelle directory utente – attenzione a riutilizzare i vecchi file di configurazione Quali altre macchine potrebbero essere state compromesse? – usavate .rhost (o simili)? – che accessi sulla rete locale sono stati fatti durante la compromissione? Lecce, 2-4 Ottobre 2000 SINM 2000 6 La sicurezza informatica nelle applicazioni di rete Come segnalare l’incidente Inviate un mail a [email protected] (o riempite il modulo online su http://www.cert.garr.it/) con (potete usare la chiave PGP di GARRCERT se desiderate una maggiore riservatezza): – – – – data e ora (con timezone e precisione del vostro clock); descrizione dell’incidente; come essere contattati; estratti dai log e eventuali file lasciati dall’intruso: • se oltre 500k non li spedite, limitatevi a dire che li avete: verrete richiamati; – permesso (o diniego) di diffondere la vostra identità. Riceverete un mail di conferma apertura incidente e verrete tenuti aggiornati sugli sviluppi fino alla chiusura. Valutate l’ipotesi di una denuncia alla Polizia Postale (anche solo a fini cautelativi). Lecce, 2-4 Ottobre 2000 SINM 2000 7 La sicurezza informatica nelle applicazioni di rete Incidenti segnalati a GARR-CERT 200 150 100 50 0 6/99 Lecce, 2-4 Ottobre 2000 8/99 10/99 12/99 2/00 SINM 2000 4/00 6/00 8/00 8 La sicurezza informatica nelle applicazioni di rete Sicurezza: necessità di base Riservatezza: – la comunicazione è stata intercettata? Autenticazione: – il mio interlocutore è veramente chi dice di essere? Integrità: – i dati ricevuti sono proprio quelli spediti? Non ripudio: – il mio interlocutore può negare di aver detto quello che ha detto? Disponibilità – il mezzo di comunicazione è stato reso inutilizzabile? Lecce, 2-4 Ottobre 2000 SINM 2000 9 La sicurezza informatica nelle applicazioni di rete Tipi di attacchi 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 – – – – spoofing; session hijacking; man-in-the-middle; Denial of Service (DoS); • SYN flood, mail bombing, ping flood, ecc. ecc. – sniffing; – analisi del traffico. Con IPv6 le cose dovrebbero andare meglio... Lecce, 2-4 Ottobre 2000 SINM 2000 10 La sicurezza informatica nelle applicazioni di rete Protezioni Host – strumenti di intrusion detection e controllo • COPS, Tiger, tripwire, swatch – “personal” firewall • ipf, ipchains – scanner • nmap, sara, nessus Reti locali – packet filter e firewall – network intrusion detection Protocolli di connessione – – – – IPSec SSH SSL/TLS PGP, S/MIME Lecce, 2-4 Ottobre 2000 SINM 2000 11 La sicurezza informatica nelle applicazioni di rete Firewall Dei dispositivi tra due reti con le seguenti proprietà: – tutto il traffico deve passare attraverso il firewall; – solamente il traffico autorizzato dalla politica locale di sicurezza può attraversarlo. Di solito supportano proxy per applicazioni tcp – telnet, ftp, http, ecc. Diverse tipologie – dual homed host; – screened home host; – screened subnet. Lecce, 2-4 Ottobre 2000 SINM 2000 12 La sicurezza informatica nelle applicazioni di rete Cosa filtrare (o bloccare)? default deny stance o default permit stance? – http://www.cert.org/security-improvement/practices/p058.html porte da considerare con attenzione (la lista è parziale: vedere il documento sul server web di GARR-CERT): – – – – – – – – – – – – – – – – – – – ftp telnet smtp domain bootp tftp http pop2/pop3/imap sunrpc nntp nbios-ns/nbios-dgm/nbios-ssn snmp/snmptrap exec/login/shell syslog printer mountd openwin NFS X11 Lecce, 2-4 Ottobre 2000 SINM 2000 13 La sicurezza informatica nelle applicazioni di rete 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 (dall’header del pacchetto) – – – – tipo di protocollo; porte; indirizzi sorgente e destinazione; flag e opzioni tcp. Possono anche mantenere informazioni sulle sessioni tcp e udp (stateful inspection devices). Lecce, 2-4 Ottobre 2000 SINM 2000 14 La sicurezza informatica nelle applicazioni di rete Firewall: dual homed host Rete esterna Nessun routing tra rete esterna ed interna Sul firewall packet filtering e proxy services Single point of failure Dual homed host Lecce, 2-4 Ottobre 2000 SINM 2000 15 La sicurezza informatica nelle applicazioni di rete Firewall: screened subnet Rete esterna BH External router DMZ Massimo grado di sicurezza I router operano come packet filter vincolando il percorso dei pacchetti Su DMZ pacchetti per e da solo il Bastion Host (BH) I due router possibilmente diversi Internal router Lecce, 2-4 Ottobre 2000 SINM 2000 16 La sicurezza informatica nelle applicazioni di rete Firewall: limitazioni È sempre possibile accesso non autorizzato alla rete esterna via modem Scarsa protezione dagli attacchi dall’interno Scarsa o nessuna protezione da virus, applet Java, e controlli ActiveX Si possono utilizzare tunnel per evitare le protezioni Lecce, 2-4 Ottobre 2000 SINM 2000 17 La sicurezza informatica nelle applicazioni di rete Crittografia La crittografia risponde alle esigenze di sicurezza. – Riservatezza: • cifratura. – Autenticazione: • firma digitale; • certificati. – Integrità: • one-way hash (message digest). – Non ripudio: • Integrità e Autenticazione. Lecce, 2-4 Ottobre 2000 SINM 2000 18 La sicurezza informatica nelle applicazioni di rete Riservatezza: cifratura Converte un testo “in chiaro” in uno inintelligibile. Richiede almeno una “chiave” (un numero). Può essere di due tipi: – simmetrica (a chiave “privata”) • relativamente veloce; • come recapitare la chiave ai corrispondenti in modo sicuro? – asimmetrica (a chiave “pubblica”) • lenta: si usa di solito insieme a quella simmetrica; • senza il problema della trasmissione della chiave “privata”. Lecce, 2-4 Ottobre 2000 SINM 2000 19 La sicurezza informatica nelle applicazioni di rete Cifratura a chiave privata Richiede una chiave segreta nota solo ai corrispondenti La stessa chiave serve per cifrare e decifrare il messaggio Come trasferire la chiave in modo sicuro? Per n utenti il numero delle chiavi è O(n2). Lecce, 2-4 Ottobre 2000 A ciao B 3$r A ciao SINM 2000 3$r ciao B 3$r 3$r ciao 20 La sicurezza informatica nelle applicazioni di rete Cifratura a chiave pubblica Ogni utente ha due chiavi generate contemporaneamente: una privata e una pubblica: A ciao B 3$r 3$r ciao – dalla chiave pubblica è praticamente impossibile scoprire quella privata; – quello che si cifra con una, si può decifrare solo con l’altra. A ciao cy7 cy7 ciao Non è necessario nessuno scambio di chiavi segrete: – il mittente cifra con la chiave pubblica del destinatario; – il destinatario decifra con la propria chiave privata. B Per n utenti il numero di chiavi è O(n) Lecce, 2-4 Ottobre 2000 SINM 2000 Chiavi di A Chiavi di B pubblica privata pubblica privata 21 La sicurezza informatica nelle applicazioni di rete Integrità: one-way hash Funzioni che hanno in ingresso un messaggio di lunghezza variabile e producono una stringa di lunghezza fissa (hash). È praticamente impossibile trovare un messaggio che produca un hash specificato. Modificando anche un solo bit del messaggio si ottiene un hash completamente diverso. Lecce, 2-4 Ottobre 2000 SINM 2000 22 La sicurezza informatica nelle applicazioni di rete Autenticazione: firma digitale A calcola l’hash del messaggio e lo cifra con la sua chiave privata: l’hash cifrato è la firma digitale A invia il messaggio e l’hash a B. B ricalcola l’hash sul messaggio e lo confronta con quello cifrato da A. Se i due hash sono uguali, il messaggio non è stato modificato e A non può ripudiarlo. Lecce, 2-4 Ottobre 2000 A ciao ciao hash (A) Chiavi di A B hash (B) ciao pubblica privata =? hash (A) SINM 2000 23 La sicurezza informatica nelle applicazioni di rete Autenticazione: certificati La firma digitale rende sicuro un messaggio se: – la chiave privata di A non è stata compromessa; – B è in possesso della vera chiave pubblica di A. La convalida delle chiavi pubbliche viene fatta tramite i certificati: un’autorità esterna (Certification Authority) garantisce dell’autenticità delle chiavi pubbliche. Due modelli esistenti: – X.509: organizzazione gerarchica; – PGP: “web of trust” Lecce, 2-4 Ottobre 2000 SINM 2000 24 La sicurezza informatica nelle applicazioni di rete Certificati X.509 Un certificato X.509 è composto fondamentalmente da: – – – – informazioni sul propietario; la data di scadenza; la chiave pubblica del proprietario; informazioni sull’autorità garante (la Certification Authority o CA); Il certificato è firmato dalla CA: – cioè il certificato contiene anche un hash del suo contenuto, cifrato con la chiave privata della CA. Lecce, 2-4 Ottobre 2000 SINM 2000 25 La sicurezza informatica nelle applicazioni di rete CA: catene gerarchiche e fiducia Per: Verisign Per: INFN CA Firma: Verisign Firma: INFN CA Anche le CA hanno un proprio certificato. Una CA può garantire anche altre CA, di livello inferiore: – catene gerarchiche di certificati. Per: AltraCA Firma: Verisign Per:Carlo Firma:INFNCA Per:Silvia Per:Leo Firma:AltraCA Firma:AltraCA Lecce, 2-4 Ottobre 2000 SINM 2000 All’origine della catena c’ è una Root CA, che ha un certificato auto-firmato (root certificate). I certificati delle CA sono largamente pubblicizzati, quindi difficili da falsificare. 26 La sicurezza informatica nelle applicazioni di rete Root CA I browser contengono preinstallati alcuni root certificates – visibili sotto Signers nel menu Security (Communicator). Lecce, 2-4 Ottobre 2000 Si possono aggiungere, eliminare e modificare i certificati. SINM 2000 27 La sicurezza informatica nelle applicazioni di rete Public Key Infrastructure (PKI) Una o più Certification Authority organizzate gerarchicamente o via “web of trust” – – – – Politica di emissione dei certificati: Certificate Practice Statement (CPS) Emette certificati per server e utenti finali (eventualmente per altre CA) Mantiene una Certificate Revocation List (CRL) Gestisce servizi WWW e LDAP Gestione delle chiavi private – Generazione • via browser • via hardware: ad es. SmartCard – Custodia • Hard disk (insicuro!) • SmartCard IETF Working Group: PKI X.509 e Simple PKI Lecce, 2-4 Ottobre 2000 SINM 2000 28 La sicurezza informatica nelle applicazioni di rete Protocolli (1/3) 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 Lecce, 2-4 Ottobre 2000 SINM 2000 29 La sicurezza informatica nelle applicazioni di rete Protocolli (2/3) La lista non è esaustiva. network level – PPTP (Microsoft et al., giugno 1996) • • • – – L2F (Cisco, Aprile 1996), L2TP (IETF PPP Working Group, Maggio 1998) IP Security Architecture per IPv4 e IPv6 (IPsec) • cifratura e autentificazione • l’uso pricipale è nella creazione di reti private (VPN) e per la connessione sicura dei “road warriors” alle intranet aziendali trasport level – – permette di incapsulare protocolli non IP, ad es. IPX e NEtBEUI; password “in chiaro” o cifrate (LAN Manager hash e Windows NT hash) ; Versione Microsoft del Challenge Handshake Authentication Protocol (MS-CHAP). Secure Shell (SSH), v1 e v2 Secure Sockets Layer (SSL) / Transport Layer Security (TLS) application level – – – – S/MIME, PGP SMTP, DNS, ecc. Kerberos (V4 e V5) DCE Lecce, 2-4 Ottobre 2000 SINM 2000 30 La sicurezza informatica nelle applicazioni di rete Protocolli (3/3) http FTP telnet scp sftp ssh https SSLFTP SSLtelnet http FTP telnet PGP, S/MIME SSL/TLS SSH TCP TCP TCP TCP IP + IPsec IP IP IP Lecce, 2-4 Ottobre 2000 SINM 2000 31 La sicurezza informatica nelle applicazioni di rete 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 Lecce, 2-4 Ottobre 2000 SINM 2000 32 La sicurezza informatica nelle applicazioni di rete IPsec: end-to-end • • AH • campi variabili: TOS, Frg offset, TTL, … ESP • autentificazione facoltativa • l’IP header non è protetto Authentication Header IP Header AH Header TCP Header Dati autenticato (tranne per i campi variabili) Encapsulated Security Payload IP Header ESP Header TCP Header ESP Trailer Dati ESP Auth crittografato autenticato Lecce, 2-4 Ottobre 2000 SINM 2000 33 La sicurezza informatica nelle applicazioni di rete IPsec: tunnel CA 1 Gli indirizzi A e B non sono visibili all’esterno dei gateway 1 e 2 2 B A Encapsulated Security Payload IP Header esterno ESP IP Header Header originale TCP Header Dati ESP Trailer ESP Auth crittografato autenticato Lecce, 2-4 Ottobre 2000 SINM 2000 34 La sicurezza informatica nelle applicazioni di rete Prodotti che supportano VPN con IPsec S/WAN (Linux) – http://www.freeswan.org Windows 2000 Router (e firewall) VPNC: associazione di aziende con prodotti VPN – http://www.vpnc.org – circa 30 membri Lecce, 2-4 Ottobre 2000 SINM 2000 35 La sicurezza informatica nelle applicazioni di rete 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; – 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). Ulteriori informazioni: – http://www.ssh.com/ – http://www.openssh.com/ Lecce, 2-4 Ottobre 2000 SINM 2000 36 La sicurezza informatica nelle applicazioni di rete 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) – SSL tunneling protocol http://www.openssl.org/ Lecce, 2-4 Ottobre 2000 SINM 2000 37 La sicurezza informatica nelle applicazioni di rete S/MIME Permette di inviare e-mail MIME firmati e crittografati Suppportato (tra gli altri) da Communicator e Outlook Utilizza certificati X.509 Lecce, 2-4 Ottobre 2000 SINM 2000 38 La sicurezza informatica nelle applicazioni di rete Certificato utente Lecce, 2-4 Ottobre 2000 SINM 2000 39 La sicurezza informatica nelle applicazioni di rete Messaggio (firmato e crittografato) Lecce, 2-4 Ottobre 2000 SINM 2000 40