PAD Security
Cenni
Cenni sulla
sulla Sicurezza
Sicurezza in
in Ambienti
Ambienti
Distribuiti
Distribuiti
Cataldo Basile
< cataldo.basile @ polito.it >
Politecnico di Torino
Dip. Automatica e Informatica
Motivazioni
„
„
l’architettura TCP/IPv4 è insicura
„ il problema della sicurezza era risolto con la
protezione fisica dei canali
„ tutti i dati vengono posti dallo stack del sistema
operativo in locale
„ non c’è nessuna garanzia che siano esatti
sono necessarie delle modifiche
„ nuovi protocolli per integrare le funzionalità
„ IPv6
„ etc.
1
PAD Security
Pacchetto IP
Pacchetto TCP
2
PAD Security
Attacchi
„
servono ad avere informazioni e risorse a cui
non si avrebbe diritto
„ si cerca di sfruttare errori (bug) dei sistemi
operativi
„ limiti ed errori nei protocolli
„ passivi
ƒ solo intercettazione senza modifiche ai
pacchetti
„ attivi
ƒ cambiando i dati in modo opportuno
Attacchi Passivi: Sniffing
„
„
„
le reti locali di tipo Ethernet hanno un bus
comune
le schede di rete sono programmate per
intercettare solo i pacchetti indirizzati ad un
indirizzo MAC
„ si può utilizzare il modo promiscuo
sniffer
„ utilizza il modo promiscuo per intercettare tutti i
pacchetti
„ li memorizza per analisi off-line
3
PAD Security
Attacchi Passivi: Sniffing
„
„
„
programmi che ricostruiscono le sessioni
„ siti su cui sta navigando un altro utente
programmi che intercettano
„ username/password
alcuni strumenti
„ ethereal
„ dsniff
„ analyzer (Politecnico di Torino)
„ webspy
Network Scanning
„
„
gli attacchi sfruttano errori
bisogna avere più informazioni possibili sul
target dell’attacco
„ indirizzi IP
„ porte aperte
„ risorse più importanti
„ sistemi operativi
ƒ versioni, patch, service pack, ecc.
„ server in funzione
ƒ ftp, http, ecc.
ƒ versioni del software, patch
4
PAD Security
Network Scanning
„
esistono strumenti in grado di ricavare
automaticamente tutte le informazioni
„ ogni “componente” ha un comportamento
particolare
ƒ risposte, ritardi
„ ripetono test noti e collezionano le informazioni
ƒ alcuni permettono di lanciare in automatico
gli attacchi noti
Attacchi Attivi
„
„
„
si cambiano informazioni presenti nei pacchetti
„ dalla sorgente
ƒ indirizzo IP
ƒ hping2
„ in transito
ƒ router “corrotti”
si creano pacchetti ad-hoc
ci si interpone nelle comunicazioni clientserver
5
PAD Security
Attacchi: Denial of Service
„
„
consiste nel rendere inutilizzabili le risorse
altrui
„ sovraccaricare
ƒ reti
ƒ server
ƒ workstations
non c’è rimedio sicuro
„ aumentare la capacità di ogni componente
Denial of Service: Smurfing
„
si manda un pacchetto che richiede risposta
„ ad un numero elevato di computer connessi
ƒ broadcast
„ con indirizzo mittente falso (quello del bersaglio
dell’attacco)
„ le risposte andranno tutte al target rendendolo
inutilizzabile
6
PAD Security
Denial of Service: Smurfing
Denial of Service: SYN Flooding
„
„
„
sfrutta il three-way handshake del TCP
„ si manda il primo pacchetto (flag SYN = 1)
della connessione TCP
„ non si manda il terzo (ACK=1)
„ il server lascia le risorse allocate in attesa
„ ripetendolo molte volte si esauriscono le risorse
timeout del server
octopus
7
PAD Security
Altri Attacchi: man-in-the-middle
„
„
„
funzionano se si è “a metà strada” tra sorgente
(client) e bersaglio
hijacking = dirottamento permette di inserirsi in
una connessione (hunt)
„ si intercettano le richieste di connessione TCP
„ si cambia il sequence number
ARP spoofing e poisoning (hunt)
„ il protocollo ARP mantiene la corrispondenza
tra indirizzi MAC e IP
„ ricava le informazioni ascoltando la rete
„ si inviano pacchetti con false corrispondenze
Problemi Aggiuntivi
„
„
„
i sistemi distribuiti si basano per la grande
maggioranza sull’architettura di rete TCP/IP
„ ne ereditano tutti i problemi
mettono a disposizione delle risorse
„ solo chi ne ha diritto dovrebbe poterle utilizzare
richiedono informazioni “sensibili”
„ riconoscimento dei client e dei server
„ i.e. numero di carta di credito
8
PAD Security
Le tre A della sicurezza
„
„
„
Autenticazione
„ riconoscimento delle parti
Autorizzazione
„ per qualunque azione su qualunque risorsa si
deve avere un’esplicita autorizzazione
Accounting
„ bisogna mantenere le informazioni relative a
quello che accade
ƒ malfunzionamenti
ƒ attacchi
ƒ utenti interni che non rispettano le regole
Integrità e Non Ripudio
„
„
Integrità
„ possibilità di verificare che nessuna modifica è
stata fatta “nel mezzo”
non ripudio
„ caratteristica aggiuntiva dell’autenticazione
„ impossibilità di negare di aver fatto una
determinata azione
9
PAD Security
Tecniche di Protezione
„
„
„
„
protezione del canale
„ impediscono di intercettare e modificare le
informazioni che viaggiano tra le parti
protezione a livello applicativo
„ nuovi protocolli o integrazioni che permettono
di ovviare ai problemi
ƒ S/MIME, etc.
protezione delle reti
„ firewall, proxy
crittografia
Crittografia
„
„
„
usata fin dall’antichità
„ cifrario di Cesare
formalizzata nella metà dell’ottocento
„ principio di Kerchoff
ƒ la sicurezza non deve basarsi sugli algoritmi
ƒ ma su informazioni private condivise
permette di
„ mantenere la segretezza (cifrare)
„ autenticare (firma non ripudiabile)
„ controllare l’integrità (hash)
10
PAD Security
Crittografia a chiave privata
„
si basa sullo scambio fidato di un’informazione
segreta
„ problemi di distribuzione sicura
Crittografia a chiave pubblica
„
„
„
Diffie-Hellman 1978, RSA 1979
chiave privata e pubblica sono legate da
relazioni matematiche
„ la chiave pubblica può essere distribuita
liberamente
„ la chiave privata NO
se si cifra con la chiave pubblica si può
decifrare con la chiave privata e viceversa
11
PAD Security
Crittografia a chiave pubblica
Crittografia a Chiave Pubblica +
Crittografia a chiave privata
„
„
„
gli algoritmi con chiave pubblica sono molto
lenti
metodo combinato
„ si genera una chiave di sessione
„ si cifra con algoritmi a chiave pubblica la chiave
di sessione (piccola)
„ si cifra il canale con la chiave di sessione
alternativa
„ protocolli di scambio di chiavi
ƒ Diffie-Hellman
12
PAD Security
Hash
„
„
„
si basano sul concetto di funzioni one-way
si usano per garantire l’integrità
esempio
„ si calcola l’hash di un pacchetto IP
ƒ si ottiene un digest
„ qualunque modifica al pacchetto viene
individuata
ƒ il digest sarebbe molto diverso
„ non posso costruire in maniera semplice un
pacchetto IP che abbia lo stesso digest
Firma digitale
13
PAD Security
Firma Digitale
„
„
„
deve essere applicata ad un oggetto
„ l’hash garantisce che non venga modificato
„ la cifratura dell’hash con la chiave privata
garantisce l’autentacazion
„ la verifica può essere fatta da chiunque
ƒ tramite la chiave pubblica
non ripudiabile
inizia ad essere usata dalla Amministrazioni
Pubbliche
Certificati
„
„
rimane il problema di legare una chiave
pubblica ad un’entità
„ persona o server
lo standard più utilizzato è quello ISO/OSI X.509
„ una Certification Authority garantisce con la
propria firma il legame chiave – identità
14
PAD Security
Certificati
IPsec
„
„
„
„
proposta IETF per la protezione delle reti IPv4
offre
„ autenticazione (hash+firme)
„ riservatezza (cifratura)
composto da due protocolli (+header
aggiuntivi)
„ AH Authentication Header
„ ESP Encapsulating Security Payload
metodo per scambiare le chiavi
„ IKE Internet Key Exchange
15
PAD Security
IPsec
„
viene utilizzato per creare le Virtual Private
Network
„ non potendo leggere i dati cifrati è come se le
parti fossero connesse da un cavo privato
CANALE SICURO
Internet
Firewall
„
„
muro tagliafuoco
„ serve a controllare e separare zone a diversi
livelli di sicurezza
è un sistema hw+sw in grado di
„ filtrare pacchetti
„ può fare controlli a diversi livelli
ƒ più si va in alto nella pila ISO/OSI
- più informazioni si hanno
- più è lento
16
PAD Security
Firewall: architettura Tipica
INTERNET
FW
Firewall: architettura tipica
INTERNET
GW
DMZ
17
PAD Security
Intrusion Detection Systems (IDS)
„
„
serve ad identificare la “presenza” di intrusi
„ senza autorizzazione
vengono individuati comportamenti “anomali”
„ statistiche
ƒ traffico troppo alto
ƒ troppe password sbagliate
„ pattern
ƒ gli utenti autorizzati svolgono attività diverse
da quelli non autorizzati
Intrusion Detection Systems (IDS)
„
essendo basati su statistiche
„ devono essere fissate delle soglie
„ periodo di transizione finché non si riesce a
modellare il comportamento degli utenti
ƒ falsi negativi e falsi positivi
„ può anche essere distribuito
ƒ sensori in diverse parti della rete e su diversi
host
18
PAD Security
SSL e TLS
„
„
„
Secure Socket Layer di Netscape
„ standard IETF col nome Transport Layer
Security
si applica concettualmente a livello sessione
(OSI)
non richiede modifiche dei protocolli
sovrastanti
„ tranne il cambiamento della porta
ƒ HTTP porta 80
ƒ HTTP sicuro porta 443
- nel browser compare https://
SSL e TLS
Protocolli di
livello Application
Protocolli di
livello Application
SSL
SSL
TCP
TCP
IP
IP
Internet
19
PAD Security
SSL e TLS
„
composto da una serie di protocolli
„ SSL HANDSHAKE PROTOCOL
ƒ serve a stabilire le caratteristiche del canale
- algoritmo di cifratura
- algoritmo di firma
- algoritmo di scambio di chiavi
„ SSL ALERT PROTOCOL e SSL CHANGE
CIPHER SPEC
ƒ protocolli di servizio
- rilevazione errori e coerenza del
protocollo
SSL e TLS
„
composto da una serie di protocolli
„ SSL RECORD PROTOCOL
ƒ è il protocollo che applica le caratteristiche
richieste al canale
ƒ quelle concordate con l’Handshake Protocol
20
PAD Security
SSL e TLS: Record Protocol
dati
dati applicativi
applicativi
frammentazione
F1
F1
F2
F2
compressione
calcolo del MAC
MAC
MAC
padding
MAC
MAC
PP
cifratura
header
HH
Sicurezza a Livello Applicativo: S/MIME
„
serve ad aggiungere i requisiti di sicurezza alla
posta elettronica
„ deve mantenere la compatibilità col passato
ƒ troppo diffusa per essere cambiata in blocco
ƒ SMTP T ESMTP
ƒ RFC822 T MIME T S/MIME
„ si basa su certificati X.509
„ applica firma digitale e/o cifratura
„ è necessario accordarsi sulle Capabilities (in
maniera trasparente)
21
Scarica

Cenni sulla Sicurezza in Ambienti Distribuiti Cenni sulla Sicurezza