La sicurezza informaticanelle applicazioni di reteLa sicurezza informaticanelle applicazioni di rete
Roberto CecchiniGARR-CERT
SINM 2000Lecce, 2-4 Ottobre 2000
Lecce, 2-4 Ottobre 2000 SINM 2000 2
La sicurezza informatica nelle applicazioni di rete
GARR-CERTGARR-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 3
La sicurezza informatica nelle applicazioni di rete
GARR-CERT: chi siamoGARR-CERT: chi siamo
Membri– Roberto Cecchini (coordinatore) <[email protected]> – Claudio Allocchio <[email protected]> – Paolo Amendola <[email protected]> – Luca dell'Agnello <[email protected]> – Francesco Gennai <[email protected]> – Enrico Morandi <[email protected]> – Francesco Palmieri <[email protected]> – Andrea Pinzani <[email protected]>
Lecce, 2-4 Ottobre 2000 SINM 2000 4
La sicurezza informatica nelle applicazioni di rete
GARR-CERT: procedura di gestione incidentiGARR-CERT: procedura di gestione incidenti http://www.cert.garr.it/incidenti.php3
(approvata dall’OTS GARR il 20/12/99)1. GARR-CERT invia una comunicazione di apertura incidente ai
responsabili locali coinvolti e all’APM;2. se il problema non viene risolto GARR-CERT invia all'APM la richiesta di
filtraggio sul router di connessione alla rete GARR;3. 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 5
La sicurezza informatica nelle applicazioni di rete
GARR-CERT: serviziGARR-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 6
La sicurezza informatica nelle applicazioni di rete
Mi hanno compromesso! (1/2)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 7
La sicurezza informatica nelle applicazioni di rete
Mi hanno compromesso! (2/2)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 8
La sicurezza informatica nelle applicazioni di rete
Come segnalare l’incidenteCome 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 GARR-CERT 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 9
La sicurezza informatica nelle applicazioni di rete
Incidenti segnalati a GARR-CERTIncidenti segnalati a GARR-CERT
0
50
100
150
200
6/ 99 8/ 99 10/ 99 12/ 99 2/ 00 4/ 00 6/ 00 8/ 00
Lecce, 2-4 Ottobre 2000 SINM 2000 10
La sicurezza informatica nelle applicazioni di rete
Sicurezza: necessità di baseSicurezza: 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 11
La sicurezza informatica nelle applicazioni di rete
Tipi di attacchiTipi 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 12
La sicurezza informatica nelle applicazioni di rete
ProtezioniProtezioni
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 13
La sicurezza informatica nelle applicazioni di rete
FirewallFirewall
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 14
La sicurezza informatica nelle applicazioni di rete
Cosa filtrare (o bloccare)?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 15
La sicurezza informatica nelle applicazioni di rete
Packet filterPacket 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 16
La sicurezza informatica nelle applicazioni di rete
Firewall: dual homed hostFirewall: dual homed host
Nessun routing tra rete esterna ed interna
Sul firewall packet filtering e proxy services
Single point of failure
Rete esterna
Dual homed host
Lecce, 2-4 Ottobre 2000 SINM 2000 17
La sicurezza informatica nelle applicazioni di rete
Firewall: screened subnetFirewall: screened subnet
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
Rete esterna
External router
BH
Internal router
DMZ
Lecce, 2-4 Ottobre 2000 SINM 2000 18
La sicurezza informatica nelle applicazioni di rete
Firewall: limitazioniFirewall: 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 19
La sicurezza informatica nelle applicazioni di rete
CrittografiaCrittografia
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 20
La sicurezza informatica nelle applicazioni di rete
Riservatezza: cifraturaRiservatezza: 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 21
La sicurezza informatica nelle applicazioni di rete
Cifratura a chiave privataCifratura 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).
A Bciao
3$r ciao
A Bciao
3$r ciao
3$r
3$r
Lecce, 2-4 Ottobre 2000 SINM 2000 22
La sicurezza informatica nelle applicazioni di rete
Cifratura a chiave pubblicaCifratura a chiave pubblica
Ogni utente ha due chiavi generate contemporaneamente: una privata e una pubblica:– dalla chiave pubblica è
praticamente impossibile scoprire quella privata;
– quello che si cifra con una, si può decifrare solo con l’altra.
Non è necessario nessuno scambio di chiavi segrete:– il mittente cifra con la chiave
pubblica del destinatario;– il destinatario decifra con la
propria chiave privata. Per n utenti il numero di chiavi
è O(n)
Chiavi di B
pubblica
privata
Chiavi di A
pubblica
privata
A Bciao 3$r ciao
A Bciao cy7 ciao
3$r
cy7
Lecce, 2-4 Ottobre 2000 SINM 2000 23
La sicurezza informatica nelle applicazioni di rete
Integrità: one-way hashIntegrità: 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 24
La sicurezza informatica nelle applicazioni di rete
Autenticazione: firma digitale 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.
Chiavi di A
pubblica privata
A
ciao ciaohash (A)
B
hash (B)
hash (A)
= ?
ciao
Lecce, 2-4 Ottobre 2000 SINM 2000 25
La sicurezza informatica nelle applicazioni di rete
Autenticazione: certificatiAutenticazione: 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 26
La sicurezza informatica nelle applicazioni di rete
Certificati X.509Certificati 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 27
La sicurezza informatica nelle applicazioni di rete
CA: catene gerarchiche e fiduciaCA: catene gerarchiche e fiducia
Per: INFN CA
Firma: INFN CA
Per: Verisign
Firma: Verisign
Per: AltraCA
Firma: Verisign
Per:Leo
Firma:AltraCA
Per:Silvia
Firma:AltraCA
Per:Carlo
Firma:INFNCA
Anche le CA hanno un proprio certificato.
Una CA può garantire anche altre CA, di livello inferiore:– catene gerarchiche di
certificati. 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.
Lecce, 2-4 Ottobre 2000 SINM 2000 28
La sicurezza informatica nelle applicazioni di rete
Root CARoot CA
I browser contengono preinstallati alcuni root certificates– visibili sotto Signers nel
menu Security (Communicator).
Si possono aggiungere, eliminare e modificare i certificati.
Lecce, 2-4 Ottobre 2000 SINM 2000 29
La sicurezza informatica nelle applicazioni di rete
Public Key Infrastructure (PKI)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 30
La sicurezza informatica nelle applicazioni di rete
Protocolli (1/3)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 31
La sicurezza informatica nelle applicazioni di rete
Protocolli (2/3)Protocolli (2/3)
La lista non è esaustiva. network level
– PPTP (Microsoft et al., giugno 1996)• 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).
– 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– 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 32
La sicurezza informatica nelle applicazioni di rete
Protocolli (3/3)Protocolli (3/3)
IP + IPsec
TCP
teln
et
FTP
htt
p
IP
TCP
SSL/TLS
IP
TCP
SSH
SSLt
eln
et
SSLF
TP
htt
ps
ssh
sftp
scp
IP
TCP
FTP
htt
p
teln
et
PGP, S/MIME
Lecce, 2-4 Ottobre 2000 SINM 2000 33
La sicurezza informatica nelle applicazioni di rete
IPsecIPsec
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 34
La sicurezza informatica nelle applicazioni di rete
IPsec: end-to-endIPsec: end-to-end
IP Header
AH Header
TCP Header
Dati
Authentication Header
(tranne per i campi variabili)
IP Header
ESP Header
TCP Header
DatiESP
TrailerESP Auth
autenticato
crittografato
autenticato
Encapsulated Security Payload
• AH• campi variabili: TOS,
Frg offset, TTL, …• ESP
• autentificazione facoltativa
• l’IP header non è protetto
Lecce, 2-4 Ottobre 2000 SINM 2000 35
La sicurezza informatica nelle applicazioni di rete
IPsec: tunnelIPsec: tunnel
Encapsulated Security Payload
autenticato
crittografato
TCP Header
DatiESP
TrailerESP Auth
IP Header esterno
ESP Header
IP Header
originale
A B
1 2
CAGli indirizzi A e B non sono visibili all’esterno dei gateway 1 e 2
Lecce, 2-4 Ottobre 2000 SINM 2000 36
La sicurezza informatica nelle applicazioni di rete
Prodotti che supportano VPN con IPsecProdotti 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 37
La sicurezza informatica nelle applicazioni di rete
SSHSSH
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 38
La sicurezza informatica nelle applicazioni di rete
SSL/TLSSSL/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 39
La sicurezza informatica nelle applicazioni di rete
S/MIMES/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 40
La sicurezza informatica nelle applicazioni di rete
Certificato utenteCertificato utente
Lecce, 2-4 Ottobre 2000 SINM 2000 41
La sicurezza informatica nelle applicazioni di rete
Messaggio (firmato e crittografato)Messaggio (firmato e crittografato)