Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim...

Post on 14-Apr-2021

5 views 0 download

Transcript of Capitolo 8 La sicurezza nelle reti - unich.itscozzari/informatica/old/... · 2008. 4. 8. · Jim...

8-1

Reti di calcolatori e Internet: Un approccio top-down

3a edizione

Jim Kurose, Keith RossPearson Education Italia

©2005

Capitolo 8La sicurezza nelle reti

8-2

Obiettivi: ❒ Identificare le proprietà per una comunicazione sicura:

❍ Tecniche crittografiche ❍ Autenticazione❍ Integrità del messaggio❍ Distribuzione delle chiavi

❒ Sicurezza in pratica:❍ Firewall❍ Sicurezza a seconda dello specifico livello (applicazione,

trasporto, rete o collegamento)

Capitolo 8: La sicurezza nelle reti

8-3

Capitolo 8 La sicurezza nelle reti

8.1 Sicurezza di rete8.2 Principi di crittografia8.3 Autenticazione8.4 Integrità8.5 Distribuzione e certificazione delle chiavi8.6 Controllo dell’accesso: firewall8.7 Attacchi e contromisure8.8 La sicurezza ai diversi livelli

8-4

Sicurezza nella comunicazione

Riservatezza: solo mittente e destinatario devono comprendere il contenuto del messaggio

❍ Inviare messaggi cifrati❍ Ricevere il codice di decifratura

Autenticazione: mittente e destinatario devono essere sicuri della loro identità

Integrità del messaggio: mittente e destinatario devono essere sicuri che il contenuto non subisca alterazioni durante la trasmissione (per cause fortuite o per manipolazioni)

Disponibilità e controllo dell’accesso: un servizio deve essere accessibile a chi è legittimamente autorizzato.

8-5

Mittente, ricevente e intruso: Alice, Roberto e Tommaso❒ Scenario ben noto nel mondo della sicurezza di rete❒ Roberto e Alice vogliono comunicare in modo sicuro❒ Tommaso (l’intruso) può intercettare, rimuovere, aggiungere

messaggi o modificare il loro contenuto

Mittente sicuro

Riceventesicuro

canale messaggi di controllo e dati

dati dati

Alice Roberto

Tommaso

8-6

Chi sono Alice e Roberto?

Nella vita reale Alice e Roberto possono essere:❒ browser/server Web ❒ client/server di banche on-line❒ server DNS❒ router❒ altro

8-7

Là fuori ci sono “cattivi” ragazzi (e ragazze) D: Cosa può fare un nemico?R: Molto!

❍ spiare: intercettare i messaggi❍ aggiungere messaggi e sovraccaricare il sistema❍ impersonare un altro soggetto ❍ dirottare una sessione in corso e sostituirsi al mittente o

al destinatario ❍ negare il servizio

E molto altro ancora! ……

8-8

8.1 Sicurezza di rete8.2 Principi di crittografia8.3 Autenticazione8.4 Integrità8.5 Distribuzione e certificazione delle chiavi8.6 Controllo dell’accesso: firewall8.7 Attacchi e contromisure8.8 La sicurezza ai diversi livelli

Capitolo 8 La sicurezza nelle reti

8-9

Principi di crittografia

Sistemi a chiave simmetrica: le chiavi del mittente e del destinatario sono identiche

Sistemi a chiave pubblica: la chiave di cifratura è pubblica; la chiave di decifratura è privata

Testo in chiaro

Testo in chiaro

Testo cifrato

KA

Algoritmo di cifratura

Algoritmo di decifratura

KB

8-10

Crittografia a chiave simmetrica Algoritmo di cifratura: sostituzione di un messaggio in

chiaro con uno codificato❍ Cifrario di Cesare: sostituzione “sfasata” di k posti nell'alfabeto

Lettere in chiaro: abcdefghijklmnopqrstuvwxyz

Lettere cifrate: fghijklmnopqrstuvwxyzabcde

❍ Cifrario monoalfabetico: sostituzione di una lettera con un’altra

Lettere in chiaro: abcdefghijklmnopqrstuvwxyz

Lettere cifrate: mnbvcxzasdfghjklpoiuytrewq

Testo in chiaro: bob. i love you. alice

Testo cifrato: nkn. s gktc wky. mgsbcesempio

8-11

Crittografia a chiave simmetrica ❍ Cifrario polialfabetico: occorrenze di una stessa lettera vengono

sostituite in modo diverso a seconda della posizioneLettere in chiaro: abcdefghijklmnopqrstuvwxyzC1 (k=5): fghijklmnopqrstuvwxyzabcdeC2 (k=19): tuvwxyzabcdefghijklmnopqrs

Utilizziamo la sequenza C1 C2 C2 C1 C2

Testo in chiaro: Roberto, ti amo.

Testo cifrato: whujkyh, mn trh

esempio

D: Come violare questo sistema di cifratura?: con un attacco a “forza bruta” (ma quanto bruta?) altri sistemi?

Notate che le due “r” di Roberto sono codificate conlettere diverse: “w” e “u”.

8-12

Crittografia a chiave simmetrica: Alice e Roberto utilizzano la stessa chiave: K

❒ es: la chiave è un pattern di sostituzione monoalfabetico❒ D: come fanno Roberto e Alice a concordare la chiave?

Testo in chiaroTesto cifrato

KA-B

Algoritmo di cifratura

Algoritmo di decifratura

A-B

KA-B

Testo in chiaromessaggio, m K (m)A-B

K (m)A-Bm = K ( ) A-B

Crittografia a chiave simmetrica

8-13

Crittografia a chiave simmetrica: DESDES: Data Encryption Standard ❒ Standard codificato e aggiornato dall’U.S. National Bureau of

Standards [NIST 1993]❒ La lunghezza effettiva della chiave è di 56 bit ❒ Ma quanto è sicuro DES?

❍ DES Challenge: nel 1997, durante un concorso, la frase “Strong cryptography makes the world a safer place” fu individuata in meno di 4 mesi

8-14

AES: Advanced Encryption Standard

❒ Nel novembre 2001 NIST ha annunciato il sostituto di DES: AES.

❒ Opera con chiavi a 128, 192 e 256 bit❒ Si stima che un calcolatore può individuare

una chiave DES a 56 bit in 1 sec.; invece per violare una chiave AES a 128 bit ci impiegherebbe 149 miliardi di anni.

8-15

Crittografia a chiave pubblica

Crittografia a chiave simmetrica

❒ Richiede che mittente e destinatario condividano una chiave segreta

❒ D: come si concorda la chiave (specialmente se i due interlocutori non si sono mai “incontrati”)?

Crittografia a chiave pubblica

❒ approccio radicalmente diverso [Diffie-Hellman76, RSA78]

❒ mittente e destinatario non condividono una chiave segreta

❒ la chiave di cifratura pubblica è nota a tutti

❒ la chiave di cifratura privata è nota solo al destinatario

8-16

Crittografia a chiave pubblica

Messaggioin chiaro, m

Testo cifratoAlgoritmodi cifratura

Algoritmodi decifratura

Chiave pubblica

Messaggioin chiaro, mK (m)B

+

K B+

Chiave Privata

K B-

m = K (K (m))B+

B-

8-17

Algoritmi di cifratura a chiave pubblica

K ( ) e K ( ) tale cheB B. .

data la chiave pubblica K , deve essere impossibile calcolare la chiave privata K B

B

Requisiti:

1

2

Algoritmo RSA: acronimo derivato dal nome dei suoi autori: Rivest, Shamir e Adelson

+ -

K (K (m)) = m BB- +

+

-

8-18

RSA: scelta delle chiavi1. Scegliere due numeri primi di valore elevato: p, q. (es.: 1024 bit ciascuno)

2. Calcolare n = pq, z = (p-1)(q-1)

3. Scegliere e (con e<n) tale che non abbia fattori in comune con z. (e, z sono “relativamente primi”).

4. Scegliere d tale che ed-1 sia esattamente divisibile per z. (in altre parole: ed mod z = 1 ).

5. La chiave pubblica è (n,e), quella privata è (n,d).

K B+ K B

-

8-19

RSA: cifratura, decifratura0. Dati (n,e) e (n,d) calcolati come abbiamo appena visto,

1. Per la codifica, m, si calcolac = m mod ne

2. Per decifrare il messaggio ricevuto, c, si calcolam = c mod nd

m = (m mod n)e mod ndIncredibile!c

8-20

Un esempio di RSA:Roberto sceglie p=5, q=7. Poi n=35, z=24.

e=5 (così e, z sono relativamente primi).d=29 (così ed-1 è esattam. divisibile per z).

lettera m me c = m mod ne

l 12 1524832 17

c m = c mod nd17 481968572106750915091411825223071697 12

cd letteral

cifratura:

decifratura:

8-21

RSA: un’altra importante proprietà

La seguente proprietà sarà molto utile più avanti:

K (K (m)) = m BB- +

K (K (m)) BB+ -

=

Si usa prima la chiave pubblica,

e poi quella privata

Si usa prima la chiave privata, e

poi quella pubblica

Il risultato non cambia!

8-22

8.1 Sicurezza di rete8.2 Principi di crittografia8.3 Autenticazione8.4 Integrità8.5 Distribuzione e certificazione delle chiavi8.6 Controllo dell’accesso: firewall8.7 Attacchi e contromisure8.8 La sicurezza ai diversi livelli

Capitolo 8 La sicurezza nelle reti

8-23

AutenticazioneObiettivo: Roberto vuole che Alice gli “dimostri” la

sua identità

Protocollo ap1.0: Alice dice “Sono Alice”

Scenario con fallimento??“Sono Alice”

8-24

AutenticazioneObiettivo: Roberto vuole che Alice gli “dimostri” la

sua identità

Protocollo ap1.0: Alice dice “Sono Alice”

in una rete,Roberto non può “vedere” Alice, e

Tommaso può semplicemente

autenticarsi come Alice

“Sono Alice”

8-25

Autenticazione: un altro tentativo

Protocollo ap2.0: Alice dice “Sono Alice” in un pacchetto IPche contiene il suo indirizzo IP sorgente

Scenario con fallimento??

“Sono Alice”Indirizzo IP

di Alice

8-26

Autenticazione: un altro tentativo

Protocollo ap2.0: Alice dice “Sono Alice” in un pacchetto IPche contiene il suo indirizzo IP sorgente

Tommaso può creare un

pacchetto che imital’indirizzo di Alice

(spoofing)

“Sono Alice”Indirizzo IP

di Alice

8-27

Autenticazione: un altro tentativo

Protocollo ap3.0: Alice dice “Sono Alice” e invia la sua password segreta per “dimostrarlo”

Scenario con fallimento??

“Sono Alice”Indir. IPdi Alice

Passworddi Alice

OKIndir. IPdi Alice

8-28

Autenticazione: un altro tentativo

attacco di replica: Tommaso registra

il pacchetto di Alicee lo riproduce

successivamente trasmettendolo

a Roberto

“Sono Alice”Indir. IPdi Alice

Passworddi Alice

OKIndir. IPdi Alice

“Sono Alice”Indir. IPdi Alice

Passworddi Alice

Protocollo ap3.0: Alice dice “Sono Alice” e invia la sua password segreta per “dimostrarlo”

8-29

Autenticazione: ancora un altro tentativo

Protocollo ap3.1: Alice dice “Sono Alice” e invia la sua password segreta criptata per “dimostrarlo”.

Scenario con fallimento??

“Sono Alice”Indir. IPdi Alice

Passwordcriptata

OKIndir. IPdi Alice

8-30

Autenticazione: ancora un altro tentativo

Protocollo ap3.1: Alice dice “Sono Alice” e invia la sua password segreta criptata per “dimostrarlo”.

Registrazione eriproduzionefunzionano

ancora!

“Sono Alice”Indir. IPdi Alice

Passwordcriptata

OKIndir. IPdi Alice

“Sono Alice”Indir. IPdi Alice

Passwordcriptata

8-31

Autenticazione: ancora un altro tentativoObiettivo: evitare un attacco di replica (playback attack)

Attacco fallito?

Nonce: è un numero (R) che verrà usato soltanto una volta.

Protocollo ap4.0: Alice manda il messaggio “Sono Alice”, Roberto sceglie e manda ad Alice un nonce, R. Alice reinvia il nonce R, criptato utilizzando la chiave simmetrica segreta. “Sono Alice”

R

K (R)A-BSolo Alice

conosce la chiave simmetrica per

decifrare il nonce.

8-32

Autenticazione: protocollo ap.5.0Nel protocollo ap4.0 è stato usato un nonce e la crittografia a chiave

simmetrica ❒ Si può utilizzare la crittografia a chiave pubblica?Protocollo ap5.0: usa un nonce e la crittografia a chiave pubblica

“Sono Alice”R

Roberto calcola

K (R)A-

“Mandami la tua chiave pubblica”

K A+

(K (R)) = RA-K A

+

e autentica Alice

8-33

Protocollo ap.5.0 : un buco nella sicurezzaAttacco man-in-the-middle: Tommaso si finge Alice (nei

confronti di Roberto) e si finge Roberto (nei confronti di Alice)

Sono Alice Sono AliceR

TK (R)-

Mandami la tua chiave pubblica

TK +

AK (R)-

Mandami la tua chiave pubblica

AK +

TK (m)+

Tm = K (K (m))+

T-

Tommaso decifra

e invia m ad Alice criptato con la chiave

pubblica di Alice

AK (m)+

Am = K (K (m))+

A-

R

8-34

Protocollo ap.5.0 : un buco nella sicurezzaAttacco man-in-the-middle: Tommaso si finge Alice (nei

confronti di Roberto) e si finge Roberto (nei confronti di Alice)

Difficile da individuare: Roberto riceve sempre tutti messaggi di Alice, e viceversa (e quindi nulla li fa sospettare di un’intromissione) Il problema è che anche Tommaso riceve benissimo tutti i messaggi!

8-35

8.1 Sicurezza di rete8.2 Principi di crittografia8.3 Autenticazione8.4 Integrità8.5 Distribuzione e certificazione delle chiavi8.6 Controllo dell’accesso: firewall8.7 Attacchi e contromisure8.8 La sicurezza ai diversi livelli

Capitolo 8 La sicurezza nelle reti

8-36

Firma digitale

Tecnica crittografica analoga all’invio di una tradizionale “firma scritta”.

❒ Il mittente (Roberto) firma digitalmente un documento, stabilendo che lui è l’unico proprietario/creatore del messaggio.

❒ Verificabile e non falsificabile: il destinatario (Alice) può dimostrare che Roberto e nessun altro (Alice inclusa) può aver firmato il documento.

8-37

Firma digitaleCreazione della firma digitale di un messaggio, m:❒ Roberto firma un messaggio, m, e lo codifica utilizzando la

sua chiave privata KB, creando così un messaggio “firmato”, KB(m)

Cara Alice,

scusami se non ho potuto scriverti prima ma…

Roberto

Messaggio di Roberto, m

Algoritmodi cifratura

Chiave privataDi Roberto

K B-

Messaggio di Roberto, firmato (e criptato) con la sua

chiave privata

K B-(m)

-

-

8-38

Firma digitale❒ Supponiamo che Alice riceva un messaggio m, con la firma

digitale KB(m)

❒ Alice verifica che m è firmato da Roberto utilizzando la chiave pubblica di Roberto KB a KB(m) e controlla che KB(KB(m) ) = m.

❒ Se KB(KB(m) ) = m, chiunque abbia firmato m deve usare la chiave privata di Roberto.

+ +

-

-

-

+

Alice può verificare che:➼ Roberto ha firmato m. ➼ Nessun altro ha firmato m.➼ Roberto ha firmato m e non m’.

Non-ripudio: Alice può prendere m e la firma KB(m) per dimostrare che

Roberto ha firmato m.

-

-

8-39

Sintesi del messaggioDal punto di vista computazionale,

decifrare messaggi lunghi con crittografia a chiave pubblica risulta oneroso.

Obiettivo elaborare una “impronta digitale”, di lunghezza prefissata, facile da computare

❒ applicare la funzione hash H al messaggio m, e ottenere una sintesi del messaggio, H(m), di lunghezza prefissata.

Proprietà della funzione hash:❒ molti-a-1❒ crea messaggi di dati di

lunghezza prefissata (fingerprint)

❒ Deve essere computazionalmente impossibile trovare due messaggi x e y diversi, tali che H(x) = H(y)

Messaggio lungo

m

H: funzione hash

H(m)

8-40

Messaggiolungo

m

H: funzione hash H(m)

Firmadigitale(cifrata)

Chiave privata

di Roberto

K B-

+

Roberto invia un messaggio con la firma digitale:

Alice verifica la firma e l’integrità del messaggio con la firma digitale:

KB(H(m))-

msg digestcifrato

KB(H(m))-

msg digestcifrato

Messaggiolungo

m

H: funzionehash

H(m)

Firma digitale

(decifrata)

H(m)

Chiavepubblica

di Roberto

K B+

identico ?

Firma digitale = messaggi digest firmati

8-41

Algoritmi per le funzioni hash❒ MD5 è un algoritmo molto utilizzato nella sintesi dei messaggi

(RFC 1321) ❍ Non è ancora stato verificato se MD5 soddisfa i requisiti di

autenticazione.❒ SHA-1 è un altro importante algoritmo di sintesi

❍ Standard federale statunitense [NIST, FIPS PUB 180-1]

8-42

8.1 Sicurezza di rete8.2 Principi di crittografia8.3 Autenticazione8.4 Integrità8.5 Distribuzione e certificazione delle chiavi8.6 Controllo dell’accesso: firewall8.7 Attacchi e contromisure8.8 La sicurezza ai diversi livelli

Capitolo 8 La sicurezza nelle reti

8-43

Intermediario di fiducia

Problema per la crittografia a chiave simmetrica:

❒ Come possono le due parti concordare le chiavi prima di comunicare?

Soluzione:❒ Un centro di distribuzione delle

chiavi (KDC, key distribution center) di fiducia funge da intermediario tra le due entità

Problema per la crittografia a chiave pubblica:

❒ Quando Alice riceve la chiave pubblica di Roberto (attraverso un dischetto, il sito web o via e-mail), come fa a sapere che è veramente la chiave pubblica di Roberto e non, magari, quella di Tommaso?

Soluzione:❒ Autorità di certificazione

(CA, certification authority)

8-44

Centro di distribuzione delle chiavi (KDC)

❒ Alice e Roberto vogliono comunicare protetti dalla crittografia a chiave simmetrica, ma non sono in possesso di una chiave segreta condivisa.

❒ KDC: è un server che condivide diverse chiavi segrete con ciascun utente registrato (molti utenti)

❒ Alice e Roberto conoscono solo la propria chiave individuale,KA-KDC KB-KDC , per comunicare con KDC.

KB-KDC

KX-KDC

KY-KDC

KZ-KDC

KP-KDC

KB-KDC

KA-KDC

KA-KDC

KP-KDC

KDC

8-45

Centro di distribuzione delle chiavi (KDC)

Aliceconosce

R1

Roberto ora sa di dover usare R1 per comunicare

con Alice

Alice e Roberto comunicano usando R1 come chiave di sessione per la cifratura simmetrica condivisa

D: in che modo KDC consente a Roberto e Alice di determinare la chiave segreta simmetrica condivisa per comunicare tra loro? KDC

genera R1

KB-KDC(A,R1)

KA-KDC(A,B)

KA-KDC(R1, KB-KDC(A,R1) )

8-46

Autorità di certificazione❒ Autorità di certificazione (CA): collega una chiave pubblica a

una particolare entità, E.❒ E (persona fisica, router) registra la sua chiave pubblica con

CA.❍ E fornisce una “prova d’identità” a CA. ❍ CA crea un certificato che collega E alla sua chiave pubblica.❍ Il certificato contiene la chiave pubblica di E con firma digitale di CA (CA

dice “questa è la chiave pubblica di E”)

Chiave pubblica di

Roberto K B+

Roberto identifica

l’informazione

Firmadigitale (cifrata)

Chiave privata

di CA K CA-

K B+

Certificato per la chiave pubblica di Roberto,

firmato da CA

8-47

Autorità di certificazione❒ Quando Alice vuole la chiave pubblica di Roberto:

❍ prende il certificato di Roberto❍ applica la chiave pubblica di CA al certificato pubblico di

Roberto e ottiene la chiave pubblica di Roberto

Chiave pubblica di

Roberto K B+

Firmadigitale(cifrata)

Chiave pubblica di

CA K CA+

K B+

8-48

Un certificato contiene:❒ Numero di serie❒ Informazioni sul titolare, compreso l’algoritmo e il

valore della chiave (non illustrato)❒ Informazioni

su chi ha emesso il certificato

❒ Date valide❒ Firma digitale

di chi lo ha emesso

8-49

Capitolo 8 La sicurezza nelle reti

8.1 Sicurezza di rete8.2 Principi di crittografia8.3 Autenticazione8.4 Integrità8.5 Distribuzione e certificazione delle chiavi8.6 Controllo dell’accesso: firewall8.7 Attacchi e contromisure8.8 La sicurezza ai diversi livelli

8-50

Firewall

Struttura hardware e software che separa una rete privata dal resto di Internet e consente all’amministratore di controllare e gestire il flusso di traffico tra il mondo esterno e le risorse interne.

reteprivata

Internet

firewall

8-51

Firewall: perchéPrevenire attacchi di negazione del servizio:

❍ SYN flooding: l’intruso stabilisce molte connessioni TCP fasulle per non lasciare risorse alle connessioni “vere”.

Prevenire modifiche/accessi illegali ai dati interni.❍ es., l’intruso può sostituire l’homepage del MIUR con

qualcos’altro.Consentire solo accessi autorizzati all’interno della rete (una

serie di utenti/host autenticati)Due tipi di firewall:

❍ A livello di applicazione (gateway)❍ A filtraggio dei pacchetti (questo non lo vedremo)

8-52

Gateway

❒ Il filtraggio dei pacchetti consente di effettuare un controllo sulle intestazioni IP e TCP/UDP.

❒ Esempio: permette ai clienti interni (autorizzati) le connessioni Telnet ma impedisce il contrario.

sessione Telnet da host a gateway

sessione Telnetda gateway a hostremoto

gateway di applicazione

router e filtro

1. Tutte le connessioni Telnet verso l’esterno devono passare attraverso il gateway.

2. Il gateway non solo concede l’autorizzazione all’utente ma smista anche le informazioni fra l’utente e l’host.

3. La configurazione del filtro del router blocca tutti i collegamenti eccetto quelli che riportano l’indirizzo IP del gateway.

8-53

Limiti di firewall e gateway

❒ IP spoofing: azione utilizzata per nasconderela vera identità dell’aggressore.

❒ Se più applicazioni necessitano di un trattamento speciale, ciascuna avrà il suo gateway di applicazione.

❒ Il software del client deve sapere come contattare il gateway.

❍ Es. deve impostare l’indirizzo IP del proxy nel browser Web.

❒ Spesso sono configurati secondo una politica “intransigente” senza vie di mezzo, per esempio inibendo tutto il traffico UDP.

❒ Compromesso: grado di comunicazione con il mondo esterno/livello di sicurezza

❒ Numerosi siti con protezioni elevate sono ancora soggetti ad attacchi.

8-54

Capitolo 8 La sicurezza nelle reti

8.1 Sicurezza di rete8.2 Principi di crittografia8.3 Autenticazione8.4 Integrità8.5 Distribuzione e certificazione delle chiavi8.6 Controllo dell’accesso: firewall8.7 Attacchi e contromisure8.8 La sicurezza ai diversi livelli

8-55

Minacce alla sicurezza di InternetMapping:

❍ Prima d’attaccare i malintenzionati raccolgono il maggior numero d’informazioni sugli indirizzi IP, sui sistemi operativi installati e sui servizi offerti.

❍ Usano ping per individuare gli indirizzi IP delle macchine connesse.

❍ Effettuano la scansione delle porte: consiste nel contattare in sequenza i numeri di porta e osservare cosa succede in risposta.

❍ Nmap (http://www.insecure.org/nmap/) è un programma open source impiegato per esplorare le reti.

Quali contromisure?

8-56

Attacchi e contromisureMapping: contromisure

❍ Registrazione del traffico in entrata sulla rete❍ Ricerca di attività sospette (indirizzi IP, porte

scansionate in sequenza)

8-57

Attacchi e contromisureAnalisi dei pacchetti (packet sniffing):

❍ In ambiente broadcast ❍ Se la scheda è impostata in modalità promiscua, riceve

tutti i frame in transito❍ Può leggere tutti i dati non cifrati (e quindi anche le

password)❍ es.: C analizza (“annusa”) i pacchetti di B

A

B

C

src:B dest:A payload

Quali contromisure?

8-58

Attacchi e contromisureAnalisi dei pacchetti: contromisure

❍ È sufficiente individuare le schede che funzionano in modalità promiscua, installando sui computer un programma che segnali questa configurazione.

❍ Attivare da remoto vari espedienti (es. un host che risponde a un datagramma echo ICMP) in grado di rilevare le interfacce promiscue.

A

B

C

src:B dest:A payload

8-59

Attacchi e contromisureIP Spoofing:

❍ L’utente può inserire un indirizzo IP arbitrario.❍ Una volta camuffato l’indirizzo IP sorgente è difficile

individuare l’host che lo ha inviato. ❍ Es.: C pretende di essere B

A

B

C

src:B dest:A payload

Quali contromisure?

8-60

Attacchi e contromisureIP Spoofing: filtraggio in ingresso

❍ Controllare se l’indirizzo sorgente dei diagrammi entranti è fra quelli raggiungibili da quell’interfaccia.

❍ … ma questo filtraggio non viene effettuato da tutti e non può essere neanche imposto.

A

B

C

src:B dest:A payload

8-61

Attacchi e contromisureNegazione di servizio (DoS, denial of service):

❍ L’aggressore inonda il server di pacchetti in modo da ingolfare l’infrastruttura.

❍ Negazione di servizio distribuita (DDoS): attacco coordinato che proviene contemporaneamente da molti host.

❍ Es.: C e un host remoto attaccano A inondandolo di pacchetti SYN

A

B

CSYN

SYNSYNSYN

SYN

SYN

SYN

Quali contromisure?

8-62

Attacchi e contromisureNegazione di servizio (DOS): contromisure

❍ Filter out: il filtraggio dei pacchetti è scarsamente efficace perché è estremamente difficile riconoscere i datagrammi contraffatti, e si rischia quindi di “buttar via” quelli buoni insieme ai cattivi

❍ Traceback: è difficile risalire alla sorgente dell’azione criminosa. Una volta individuato l’host compromesso, è possibile metterlo in quarantena, ma si tratta di un processo lento, che richiede personale specializzato.

A

B

CSYN

SYNSYNSYN

SYN

SYN

SYN

8-63

Capitolo 8 La sicurezza nelle reti

8.1 Sicurezza di rete8.2 Principi di crittografia8.3 Autenticazione8.4 Integrità8.5 Distribuzione e certificazione delle chiavi8.6 Controllo dell’accesso: firewall8.7 Attacchi e contromisure8.8 La sicurezza ai diversi livelli

8.8.1 E-mail sicure8.8.2 SSL e TLS

8-64

E-mail sicure

Alice: crea una chiave simmetrica privata, KS. codifica il messaggio con KS. codifica KS con la chiave pubblica di Roberto. invia KS(m) e KB(KS) a Roberto.

Alice vuole inviare un messaggio e-mail riservato, m, a Roberto.

KS(•)

KB(•)++ -

KS(m )

KB(KS )+

m

KS

KS

KB+

Internet

KS(•)

KB(•)-

KB-

KS

mKS(m )

KB(KS )+

-

8-65

E-mail sicure

Roberto: utilizza la sua chiave privata per ottenere la chiave simmetrica KS

utilizza KS per decodificare KS(m) e ottiene m.

Alice vuole inviare un messaggio e-mail riservato, m, a Roberto.

KS(•)

KB(•)++ -

KS(m )

KB(KS )+

m

KS

KS

KB+

Internet

KS(•)

KB(•)-

KB-

KS

mKS(m )

KB(KS )+

8-66

E-mail sicure (continua)

• Alice vuole essere sicura dell’integrità del messaggio e dell’autenticazione del mittente.

• Alice firma digitalmente il messaggio. • Invia il messaggio (in chiaro) e la firma digitale.

H(•) KA(•)-

+ -

H(m )KA(H(m))-

m

KA-

Internet

m

KA(•)+KA+

KA(H(m))-

mH(•) H(m )

confronto

8-67

E-mail sicure (continua)• Alice vuole ottenere segretezza, autenticazione del mittente e integrità del messaggio.

Alice usa tre chiavi: la sua chiave privata, la chiave pubblica di Roberto e la chiave simmetrica appena generata.

H(•) KA(•)-

+

KA(H(m))-

m

KA-

m

KS(•)

KB(•)++

KB(KS )+

KS

KB+

Internet

KS

8-68

PGP (Pretty good privacy)

❒ Schema di cifratura per la posta elettronica che è diventato uno standard.

❒ Usa chiavi simmetriche di crittografia, chiavi pubbliche, funzioni hash e firme digitali.

❒ Assicura sicurezza, integrità del messaggio e autenticazione del mittente.

❒ L’inventore, Phil Zimmerman, fu indagato per tre anni dai servizi federali.

---BEGIN PGP SIGNED MESSAGE---Hash: SHA1

Bob:My husband is out of town tonight.Passionately yours, Alice

---BEGIN PGP SIGNATURE---Version: PGP 5.0Charset: noconvyhHJRHhGJGhgg/12EpJ

+lo8gE4vB3mqJhFEvZP9t6n7G6m5Gw2

---END PGP SIGNATURE---

Messagio PGP firmato:

8-69

Livello di socket sicura (SSL)

❒ Costituisce la base del protocollo di sicurezza a livello di trasporto.

❒ Ampiamente utilizzato nelle transazioni commerciali e finanziarie su Internet (shttp).

❒ Sicurezza:❍ Autenticazione del server❍ Dati criptati ❍ Autenticazione del client

(optional)

❒ Autenticazione del server:❍ Un browser SSL-

compatibile mantiene un elenco di CA e le relative chiavi pubbliche.

❍ Il browser richiede il certificato del server, emesso da una CA affidabile.

❍ Il browser usa la chiave pubblica della CA per estrarre la chiave pubblica del server dal certificato.

❒ Controllate il menu della sicurezza del vostro browser per verificare la sua CA.

8-70

SSL (continua)Sessione SSL cifrata:❒ Le informazioni fra browser e

server sono codificate dal software del trasmittente e decriptate dal software di ricezione.

❒ Il server decifra la chiave di sessione utilizzando la chiave privata.

❒ Browser e server conoscono la chiave simmetrica di sessione

❍ Tutti i dati scambiati fra browser e server, attraverso connessioni TCP, sono cifrati con la chiave simmetrica di sessione.

❒ SSL può essere usata anche per applicazioni non-Web come, ad esempio, IMAP.

❒ L’autenticazione del client può essere eseguita con i certificati del client.

8-71

La sicurezza nelle reti (riassunto)Tecniche di base …

❍ Crittografia (simmetrica e pubblica)❍ Autenticazione❍ Integrità del messaggio❍ Distribuzione di chiavi

… usate nei diversi scenari di sicurezza ❍ E-mail sicure❍ Livello di socket sicura (SSL)