Sicurezza ai livelli di rete e data link - AviresLab · 2015. 11. 13. · Sicurezza nelle...

24
Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link Sicurezza ai livelli di rete e data link

Transcript of Sicurezza ai livelli di rete e data link - AviresLab · 2015. 11. 13. · Sicurezza nelle...

Page 1: Sicurezza ai livelli di rete e data link - AviresLab · 2015. 11. 13. · Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link Debolezze

Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link

Sicurezza ai livelli di rete e data link

Page 2: Sicurezza ai livelli di rete e data link - AviresLab · 2015. 11. 13. · Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link Debolezze

Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link

Sicurezza a livello applicativo

2

Ma l’utilizzo di meccanismi di cifratura e autenticazione può essere introdotto

anche ai livelli inferiori dello stack…

Page 3: Sicurezza ai livelli di rete e data link - AviresLab · 2015. 11. 13. · Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link Debolezze

Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link

Sicurezza a livello di protocollo

3

(non solo per SMTP…)

Page 4: Sicurezza ai livelli di rete e data link - AviresLab · 2015. 11. 13. · Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link Debolezze

Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link

Sicurezza a livello di rete

4

Page 5: Sicurezza ai livelli di rete e data link - AviresLab · 2015. 11. 13. · Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link Debolezze

Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link

IPSec

5

• IPSec è un insieme di protocolli per la cifratura e

l’autenticazione a livello di rete (protocollo IP)

• Può essere utilizzato con IPv4 ed è parte integrante del

nuovo standard IPv6

• Poiché lavora a livello di rete, non è necessario alcun

supporto specifico da parte delle applicazioni dei livelli

superiori: tutto il traffico IP viene cifrato/autenticato!

Page 6: Sicurezza ai livelli di rete e data link - AviresLab · 2015. 11. 13. · Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link Debolezze

Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link

Modalità di funzionamento

6

• Transport mode

– Per le connessioni tra due host

– Le due macchine sono raggiungibili tramite IP

– Solo il contenuto dei pacchetti IP viene cifrato

• Tunnel mode

– Per le connessioni tra due gateway

– Le macchine delle due sottoreti non sono direttamente

raggiungibili

– L’intero pacchetto IP viene incapsulato nei pacchetti

IPSec generati dai gateway

– Usato per realizzare delle VPN (Virtual Private Networks)

Page 7: Sicurezza ai livelli di rete e data link - AviresLab · 2015. 11. 13. · Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link Debolezze

Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link

Protocolli di IPSec

7

• Per lo scambio delle chiavi: IKE (Internet Key Exchange)

• Per la cifratura / autenticazione dei dati: AH (Authentication header) e ESP (Encapsulating Security Payload)

Page 8: Sicurezza ai livelli di rete e data link - AviresLab · 2015. 11. 13. · Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link Debolezze

Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link

Funzionamento di IPSec

8

• Inizialmente ogni host stabilisce una SA (Security

Association) da associare all’altra macchina con cui sta

comunicando. Successivamente il traffico viene cifrato in

base ai parametri contenuti nella SA

• L’SA è un “accordo” tra i due host su quali protocolli

utilizzare

• Un SA tipicamente contiene

– L’indirizzo IP della controparte

– Il protocollo da utilizzare (AH o ESP)

– Gli algoritmi crittografici da utilizzare e le rispettive chiavi

– Un identificativo univoco a 32 bit (SPI, Security Parameter Index)

• L’SA è monodirezionale, quindi in una comunicazione tipica

ne vengono negoziati due (uno per direzione)

Page 9: Sicurezza ai livelli di rete e data link - AviresLab · 2015. 11. 13. · Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link Debolezze

Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link

IKE

9

• Serve a negoziare la chiave da utilizzare per le successive cifrature

• Due fasi:

– Autenticazione, mediante pre-shared key o

meccanismi a chiave pubblica (certificati)

– Scambio delle chiavi, mediante l’algoritmo di

Diffie-Hellman

Page 10: Sicurezza ai livelli di rete e data link - AviresLab · 2015. 11. 13. · Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link Debolezze

Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link

AH – Authentication Header

10

• Il protocollo AH serve a garantire l’integrità e l’autenticazione, ma non la riservatezza (come una firma digitale)

• In modalità trasporto l’header AH si inserisce tra l’header IP e il resto del pacchetto:

• In modalità tunnel, il pacchetto originale viene incapsulato:

IP Header Payload

IP Header PayloadAH

IP header del

gateway PayloadAH IP Header

Page 11: Sicurezza ai livelli di rete e data link - AviresLab · 2015. 11. 13. · Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link Debolezze

Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link

Formato dell’header AH

11

Next Header Payload Length Reserved

8 bit 8 bit 16 bit

Security Parameter Index (SPI)

Sequence Number

Authentication Data (variabile)

• next header: protocollo incapsulato nel pacchetto IP (tipicamente: TCP o UDP)

• Payload length: lunghezza dell’header AH

• SPI: identificativo della SA (Security Association) usata

• Sequence number: identificativo progressivo del pacchetto (serve a evitare i

“replay attack”, in cui un attaccante ritrasmette un pacchetto valido

• Authentication data: un HMAC dell’intero pacchetto

Page 12: Sicurezza ai livelli di rete e data link - AviresLab · 2015. 11. 13. · Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link Debolezze

Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link

ESP – Encapsulating security payload

12

IP Header Payload

IP Header PayloadESP head ESP tail

IP Header Payload

PayloadESP head ESP tailIP header del

gatewayIP Header

Transport mode:

Tunnel mode:

Page 13: Sicurezza ai livelli di rete e data link - AviresLab · 2015. 11. 13. · Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link Debolezze

Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link

Formato dell’header ESP

13

• Garantisce sia integrità/autenticazione che riservatezza

Next HeaderPad Length

16 bit 8 bit 8 bit

Security Parameter Index (SPI)

Sequence Number

Authentication Data (variabile)

Payload Data (variable)

Next Header

Padding (0 - 255 byte)

• Il pacchetto IP viene cifrato con un algoritmo a chiave simmetrica e incapsulato

in ESP (payload data)

• l’autenticazione è gestita come in AH

Page 14: Sicurezza ai livelli di rete e data link - AviresLab · 2015. 11. 13. · Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link Debolezze

Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link

Sicurezza a livello data link nelle reti wireless

14

• Il livello di trasmissione “data link” si colloca tra il

livello di connessione fisica e quello di rete.

Stabilisce i protocolli necessari per trasmettere i dati

su un determinato medium fisico (es: protocollo

Ethernet)

• Nelle reti wireless è importante garantire la

sicurezza del livello data link, perché il medium di

trasmissione è intrinsecamente insicuro! (onde

elettromagnetiche intercettabili da chiunque

mediante un’antenna)

Page 15: Sicurezza ai livelli di rete e data link - AviresLab · 2015. 11. 13. · Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link Debolezze

Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link

Sicurezza in IEEE 802.11

15

• Lo standard WiFi (IEEE 802.11) descrive il protocollo da

utilizzare per la trasmissione di dati su reti wireless

• Le prime versioni dello standard (802.11 a, b, g) si basavano

sul meccanismo di sicurezza WEP

• Quando WEP si è dimostrato insicuro, è stata proposta una

sua variante, WPA, da usare temporaneamente, finché non

venisse approvato in maniera definitiva il nuovo standard…

• … 802.11 i, che descrive un nuovo meccanismo per gestire

la sicurezza delle trasmissioni, chiamato WPA2

Page 16: Sicurezza ai livelli di rete e data link - AviresLab · 2015. 11. 13. · Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link Debolezze

Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link

WEP

16

• Il WEP (Wired Equivalent Privacy) cifra i dati da trasmettere usando un cifrario a flusso

• I dati sono combinati in XOR con la “keystream”, un flusso di bit pseudocasuali generati con l’algoritmo RC4

• La chiave di RC4 è composta da una chiave vera e propria da 40 bit, preceduta da un Initialization Vector (IV) da 24 bit, un contatore che varia ad ogni cifratura per evitare di usare la stessa chiave più volte

Il messaggio ed un suo

checksum vengono cifrati e

trasmessi assieme all’IV

(quest’ultimo è trasmesso in

chiaro)

Page 17: Sicurezza ai livelli di rete e data link - AviresLab · 2015. 11. 13. · Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link Debolezze

Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link

Perché usare un IV variabile?

17

• Se si usano due volte lo stesso IV e la stessa chiave, RC4

genera due keystream K uguali

• C1 = M1 ⊕⊕⊕⊕ K

• C2 = M2 ⊕⊕⊕⊕ K

• C1 ⊕⊕⊕⊕ C2 = M1 ⊕⊕⊕⊕ K ⊕⊕⊕⊕ M2 ⊕⊕⊕⊕ K = M1 ⊕⊕⊕⊕ M2

• Lo XOR di due dati cifrati è uguale allo XOR dei dati in

chiaro. Permette facilmente di identificare parti di testo in

chiaro uguali, e di decifrare uno dei due messaggi se l’altro è

noto

Page 18: Sicurezza ai livelli di rete e data link - AviresLab · 2015. 11. 13. · Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link Debolezze

Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link

WEP / 2

18

• L’integrità dei dati è garantita da un checksum CRC-32

• L’autenticazione può avvenire in due modi:

– Open System (nessuna autenticazione)

– Shared Key: la chiave condivisa viene utilizzata in un

protocollo sfida/risposta

Page 19: Sicurezza ai livelli di rete e data link - AviresLab · 2015. 11. 13. · Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link Debolezze

Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link

Debolezze di WEP

19

• Lunghezza della chiave: 40 bit per la chiave sono pochi ed

espongono WEP a potenziali attacchi a forza bruta

• Lunghezza dell’IV: con soli 24 bit, esistono 16.777.216 IV

possibili. In una rete trafficata, un IV verrà sicuramente

utilizzato più volte nel giro di poco tempo (principio dei buchi

di colombaia)

• Se gli IV sono scelti in maniera casuale, sono sufficienti 5000

IV per avere il 50% di probabilità che tra essi ce ne siano

almeno due uguali (paradosso del compleanno).

Page 20: Sicurezza ai livelli di rete e data link - AviresLab · 2015. 11. 13. · Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link Debolezze

Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link

Debolezze di WEP / 2

20

• RC4 ha una debolezza crittografica: usando alcuni IV

particolari (detti “weak IV”) c’è un’elevata correlazione tra

byte della chiave e byte del testo in chiaro

• In altre parole, dato un byte cifrato usando un weak IV, la

probabilità di indovinare un byte della chiave è del 5%, molto

superiore a quella che ci si aspetta da un buon algoritmo di

cifratura (nessuna correlazione tra testo cifrato e chiave:

probabilità di indovinare il byte della chiave = 1/256 = 0.4%)

• Esistono circa 9000 “weak IV” tra i 16 milioni possibili

Page 21: Sicurezza ai livelli di rete e data link - AviresLab · 2015. 11. 13. · Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link Debolezze

Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link

Debolezze di WEP / 3

21

• Nell’autenticazione “Shared Key” la challenge in chiaro e la

sua versione cifrata vengono trasmesse sul canale insicuro

• Con un semplice XOR l’attaccante può risalire al keystream

usato in fase di autenticazione, riutilizzabile per successive

autenticazioni da parte dell’attaccante

Page 22: Sicurezza ai livelli di rete e data link - AviresLab · 2015. 11. 13. · Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link Debolezze

Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link

Debolezze di WEP / 4

22

• L’algoritmo di checksum utilizzato, CRC-32, è ottimo per

l’identificazione di errori casuali di trasmissione, ma non ha

le proprietà crittografiche necessarie per garantire la

robustezza a modifiche volontarie da parte di un attaccante

(come invece accade per le funzioni crittografiche di hash)

• E’ facile per l’attaccante modificare il contenuto di un

pacchetto aggirando il controllo CRC.

Per maggiori informazioni:

http://www.isaac.cs.berkeley.edu/isaac/mobicom.pdf

Page 23: Sicurezza ai livelli di rete e data link - AviresLab · 2015. 11. 13. · Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link Debolezze

Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link

Debolezze di WEP / 5

23

• Le falle nella sicurezza di WEP sono numerose, al punto che

esistono ormai diversi tool semi-automatici per il cracking di

reti WEP

• Tra i più popolari: AirCrack-ng http://www.aircrack-ng.org/

Page 24: Sicurezza ai livelli di rete e data link - AviresLab · 2015. 11. 13. · Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link Debolezze

Sicurezza nelle applicazioni multimediali: lezione 8, sicurezza ai livelli di rete e data-link

WPA e WPA2

24

• Per arginare le falle di WEP senza richiedere stravolgimenti nella progettazione dell’hardware prima che venisse ufficializzato un nuovo standard, viene introdotta una variante di WEP, detta WPA (WiFiProtected Access)

• WPA funziona come WEP, ma con una chiave e un IV più lunghi (rispettivamente 48 e 128 bit) e usando un algoritmo di hash sicuro al posto di CRC-32

• Nel 2004 è stato definito lo standard IEEE 802.11i che introduce WPA2, un nuovo meccanismo di gestione della sicurezza basato su AES al posto di RC4. WPA2 introduce anche dei meccanismi di autenticazione più sicuri.