Sicurezza delle reti 802.11

50
Universit` a degli Studi di Bologna Facolt` a di Scienze Matematiche Fisiche e Naturali Corso di Laurea in Scienze dell’ Informazione Sicurezza delle reti 802.11 Patrizio Bertozzi mat. 1602-2669 [email protected] [email protected] v1.6 Sicurezza , Anno Accademico 2004/2005 , 07/02/2005

description

 

Transcript of Sicurezza delle reti 802.11

Page 1: Sicurezza delle reti 802.11

Universita degli Studi di BolognaFacolta di Scienze Matematiche Fisiche e Naturali

Corso di Laurea in Scienze dell’ Informazione

Sicurezza delle reti 802.11

Patrizio Bertozzi mat. 1602-2669

[email protected]

[email protected]

v1.6

Sicurezza , Anno Accademico 2004/2005 , 07/02/2005

Page 2: Sicurezza delle reti 802.11

i Sicurezza delle reti 802.11

c© 2005 Patrizio Bertozzi.

This program is free software; you can redistribute it and/or modify itunder the terms of the GNU General Public License as published by the FreeSoftware Foundation; either version 2 of the License, or (at your option) anylater version.

This program is distributed in the hope that it will be useful, but WI-THOUT ANY WARRANTY; without even the implied warranty of MER-CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See theGNU General Public License for more details.

You should have received a copy of the GNU General Public Licensealong with this program; if not, write to the Free Software Foundation, Inc.,51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.

Page 3: Sicurezza delle reti 802.11

Sicurezza delle reti 802.11 ii

Page 4: Sicurezza delle reti 802.11

Indice

1 Introduzione alle LAN Wireless 11.1 802.11a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2 802.11b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3 802.11e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.4 802.11f . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.5 802.11g . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.6 802.11h . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.7 802.11i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.8 802.11j . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.9 Struttura Generale delle Reti 802.11 . . . . . . . . . . . . . . . . 41.10 Breve Storia delle Reti 802.11 . . . . . . . . . . . . . . . . . . . 6

2 Analisi della Protezione Fornita da 802.11 92.1 802.11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2.1.1 WEP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92.1.2 Open System Authentication . . . . . . . . . . . . . . . 152.1.3 Shared Key Authentication . . . . . . . . . . . . . . . . 152.1.4 Gestione delle Chiavi . . . . . . . . . . . . . . . . . . . . 172.1.5 SSID . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.2 Robust Security Network (RSN) . . . . . . . . . . . . . . . . . . 182.2.1 Struttura di RSN . . . . . . . . . . . . . . . . . . . . . . 192.2.2 Attacchi a RSN . . . . . . . . . . . . . . . . . . . . . . 20

2.3 802.11i . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.3.1 TKIP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232.3.2 AES . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

3 Sistemi di Protezione Alternativi a 802.11 373.1 WPA e WPA2 . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.2 Virtual Private Networks (VPN) . . . . . . . . . . . . . . . . . . 393.3 CISCO LEAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393.4 Sicurezza a Livello Applicazione e Trasporto . . . . . . . . . . . 39

iii

Page 5: Sicurezza delle reti 802.11

Sicurezza delle reti 802.11 iv

4 Conclusioni 41

Bibliografia 45

Page 6: Sicurezza delle reti 802.11

Capitolo 1

Introduzione alle LAN Wireless

Le Wireless LAN (WLAN) sono una particolare topologia di reti il cui mez-zo trasmissivo e costituito dall’etere. Lo standard di riferimento originarioe stato redatto dal comitato 802.111 di IEEE2 (Institute of Electrical andElectronics Engeneers) nel 1997 [1].

Lo standard 802.11 definisce un’interfaccia tra i client wireless e i relativipunti di accesso alla rete; piu precisamente sono incluse le definizioni deilivelli: PHY (Physical) e MAC (Media Access Control). Inoltre definisceanche il meccanismo di protezione WEP (Wired Equivalent Privacy).

Il livello PHY definisce come avviene la trasmissione wireless vera e pro-pria. Nello standard 802.11 sono definiti tre tipi di trasmissioni: infrarossidiffusi, radio frequenza tramite FHSS (Frequency Hopping Spread Spectrum)oppure radio frequenza tramite DSSS (Direct Sequence Spread Spectrum),oggi di gran lunga la piu utilizzata. La banda radio utilizzata in questo stan-dard e quella dei 2.4 GHz, dato che e disponibile senza l’acquisto di nessunalicenza nella maggior parte degli stati del mondo; va comunque detto cheesiste anche una vesrione che utilizza la banda dei 5 GHz.

Il livello MAC controlla l’accesso al mezzo di trasporto fisico, ma non soloinfatti questo livello si occupa anche di fornire funzionalita aggiuntive come:correzzione degli errori, funzionalita di roaming e di risparmio energetico.Il MAC ha due standard di funzionamento: una modalita distribuita e unamodalita coordinata. La modalita distribuita, che si basa su CSMA/CA(Carrier Sense Multiple Access with Collision Avoidance), utilizza gli stessiprincipi che utilizzano le reti Ethernet per condividere lo stesso cavo. Lamodalita coordinata, sempre basata su CSMA/CA, utilizza un meccanismodi interrogazione coordinata e centralizzata, che garantisce il supporto perapplicazioni real time.

1http://grouper.ieee.org/groups/802/11/2http://www.ieee.org

1

Page 7: Sicurezza delle reti 802.11

2 Capitolo 1

Il protocollo WEP sara preso in considerazione in modo piu approfonditonel Capitolo 2.

In seguito alla creazione di 802.11, il comitato 802 ha creato diversi sottogruppi di lavoro (Task Group, TG) ciascuno con l’obbiettivo di migliorare unaspecifica area dello standard wireless. Ed e cosı che furono creati gli standard:802.11a, 802.11b, 802.11g, 802.11j, 802.11h, 802.11e, 802.11i, 802.11f [2].

1.1 802.11a

L’obbiettivo del gruppo 802.11a era quello di sviluppare un livello PHY adalta velocia nella banda dei 5 GHz, tale obbiettivo e stato raggiunto nel 1999con la pubblicazione dell’omonimo standard [3]. 802.11a e stato progettatoper lavorare ad una velocita di 54 Mbps, facendo uso di un uno schema dimodulazione OFDM3, anche se il throughput reale arriva a 31 Mbps. Unodei principali svantaggi di questa tecnologia e che non e compatibile conaltri standard wireless come 802.11 e 802.11b, dato che lavorano su bandedifferenti, anche se alcuni produttori hanno messo in commercio unita chefunzionino sia con 802.11a che con 802.11b. Tuttavia l’utilizzo della banda a5 GHz a lungo termine dovrebbe garantire delle trasmissioni piu pulite, cioesenza interferire con altri apparecchi che utilizzano la banda dei 2.4 GHzcome telefoni cordless, microonde, Bluethooth4 etc. . .

1.2 802.11b

Nel settembre del 1999 venne approvato 802.11 High Rate o 802.11b [4] comestandard ad alta velocita che permetteva un data rate a livello PHY di 11Mbps, mentre il throughput reale era di 6 Mbps a causa dell’overhead diMAC, della correzzione degli errori e delle collisioni. 802.11b utilizza comemodulazione la tecnica CCK con DSSS e questo permette una totale compa-tibilita all’indietro con 802.11. L’organizzazione WECA5 (Wireless EthernetCompatibility Alliance) ha nominato questo standard Wi-Fi. Quindi tutte leapparecchiature che portano questo nome sono state testate per operare con802.11. In seguito alla pubblicazione di questo standard sono state sviluppatedelle estensioni proprietarie che permettevano velocita di 22, 33, 44 Mbps;queste estensioni hanno preso poi il nome di “802.11b+”.

3http://www.ofdm-forum.com4https://www.bluetooth.org5http://www.wi-fi.org

Page 8: Sicurezza delle reti 802.11

Capitolo 1 3

1.3 802.11e

Questo gruppo di lavoro ha il compito di aggiungere funzionalita multimedialie di QoS (Quality Of Service) al livello MAC di 802.11. Dato che le modifichesono a livello MAC i vantaggi derivanti da 802.11e potranno essere utilizzatida: 802.11a, 802.11b, 802.11g. Il fatto di avere uno standard di QoS negliapparecchi wireless potrebbe spianare la strada dell’adozione di 802.11 indispositivi multimediali e VoIP (Voice over IP). Lo standard e ormai nellafase finale di approvazione; nel Gennaio 2005 e stato approvata la bozza802.11e-D12.0.

1.4 802.11f

Il gruppo 802.11f [5], che ha terminato lo standard nel 2003, e stato istituitoin seguito alle esigenze di rendere interoperabili gli access point dei diver-si fornitori, permettendo la realizzazione di sistemi distribuiti e di fornirefunzionalita di roaming avanate. Nel 1996 Aironet, Lucent Technologies eDigital Ocean hanno formato un gruppo di lavoro per dar vita al protocol-lo IAPP (InterAccess Point Protocol) che e poi stato ripreso dal 802.11f estandarizzato.

1.5 802.11g

Nel giugno del 2003 un ulteriore standard mirato a migliorare la velocitadi trasmissione e stato approvato: 802.11g [6], anche questo standard come802.11b lavora sulla banda dei 2.4 GHz con la differenza che le velocita chesi ottengono a livello PHY sono di 54 Mbps, mentre il throughput reale edi 24 Mbps circa. 802.11g supporta sia la modulazione CCK su DSSS sia lamodulazione OFDM; questo e dovuto alla disputa tra Texas Instruments eIntersil per aggiudicarsi la leadership come fornitori di chipset 802.11g.

1.6 802.11h

802.11h [7] e un miglioramento a livello PHY di 802.11a. Piu precisamen-te questo standard introduce TPC (Transmit Power Control) per limitarel’emissione dei segnali radio non necessari; e DFS (Dynamic Frequency Se-lection) che permette all’unita di mettersi in ascolto nell’etere prima di ap-propriarsi del canale. TPC e DFS sono regolamentazioni europee, quindi802.11h non e altro che un adattamento di 802.11a alle esigenze europee per

Page 9: Sicurezza delle reti 802.11

4 Capitolo 1

l’utilizzo della banda dei 5 GHz. In futuro 802.11h potra rimpiazzare 802.11acome Wi-Fi5 in base a quanto affermato da WECA.

1.7 802.11i

Lo standard 802.11, come vedremo nel corso del documento, presenta nume-rosi problemi di sicurezza, ed e proprio per risolvere questi problemi che estato creato il gruppo 802.11i [8] che ha approvato lo standard nel giugno del2004. Lo sviluppo di questo standard ha portato sostanzialmente due miglio-ramenti: TKIP (Temporal Key Integrity Protocol), e la definizione dei proto-colli AES-CCM (AES Counter Mode/CBC-MAC ) e AES-OCB (AES OffsetCodeBook) basati sull’algoritmo di crittazione AES [9] (Advanced EncryptionStandard).

TKIP e stato progettato per rimpiazzare WEP pero senza la necessitadi cambiare il vecchio hardware, dato che lo sviluppo di una tecnologia noncompatibile con WEP avrebbe lasciato i dispositivi wireless gia sul mercatosenza un layer di sicurezza sufficientemente adeguato.

Invece AES-CCM e AES-OCB sono stati progettati con l’intento di creareun nuovo protocollo di sicurezza senza alcun vincolo imposto da un’eventualecompatibilita con WEP, per garantire la sicurezza necessaria alle WLANper i prossimi decenni. Infatti l’impiego di AES necessita di nuovi supportihardware.

1.8 802.11j

Questo gruppo di lavoro era stato proposto da IEEE, ETSI6 (European Te-lecominications Standards Institute) e dal 5GSG (5 GHz Globalization andHarmonization Study Group) con il compito di rendere interoperabili gli stan-dard 802.11a e quello relativo alle LAN radio a elevate prestazione (Hiper-LAN ), con l’obbiettivo di creare uno standard globale per WLAN nella bandadei 5 GHz. Dopo aver svolto parte del lavoro per l’unificazione in Europa,Stati Uniti e Giappone il gruppo e stato sciolto.

1.9 Struttura Generale delle Reti 802.11

Una rete 802.11 puo operare in due modi differenti: nel modo ad-hoc op-pure nel modo infrastructure [10]. IEEE definisce le reti ad-hoc come IBSS

6http://www.etsi.org

Page 10: Sicurezza delle reti 802.11

Capitolo 1 5

(Independent Basic Service System), mentre le reti che operano in modalitainfrastructure sono definite come BSS (Basic Service Set).

In modalita ad-hoc ogni client della rete comunica direttamente con glialtri client che fanno parte della rete (ovvero quegli host che sono raggiun-gibili dal segnale radio); questo tipo di rete e la piu semplice da realizzareed e composta da almeno due host. Nel caso i client volessero comunicareall’esterno della cella IBSS, un membro della cella dovrebbe operare comegateway e realizzare le politiche di routing. Un esempio viene mostrato infigura 1.1.

Invece nella modalita infrastructure ogni client comunica unicamente conuan stazione centrale, chiamata AP (Access Point). Gli AP funzionano esat-tamente come i bridge per le reti Ethernet, ricevono i pacchetti e li inoltranoalla rete corretta. In figura 1.2 ne viene mostrato un esempio.

Figura 1.1: Rete ad-hoc Figura 1.2: Rete infrastructure

Prima di comunicarsi dei dati gli AP e le stazioni client devono stabilireuna relazione (association). Solamente dopo che questa relazione e statastabilita due stazioni possono scambiarsi dei dati. Nel modo infrastructurei client devono stabilire questa relazione con gli AP, la relazione avvieneattraverso i seguenti stati:

1. Unauthenticated and Unassociated (non autenticato e non associato)

2. Authenticated and Unassociated (autenticato e non associato)

3. Authenticated and Associated (autenticato e associato)

Per passare da uno stato ad un altro le parti in causa si scambiano deimessaggi chiamati management frame.

Tutti gli AP trasmettono ad un intervallo regolare un management framedetto beacon (fuoco di segnalazione) e i client che vogliono accedere allaBSS rimangono in attesa di questo messaggio per identificare l’AP che e nelraggio di azione della propria interfaccia Wi-Fi. Ad ogni WLAN e associato

Page 11: Sicurezza delle reti 802.11

6 Capitolo 1

un SSID (Service Set IDentifier) che e solitamente contenuto all’interno delbeacon frame, in questo modo permette ai client di selezionare a quale retecollegarsi. In caso un client conosca gia un SSID valido puo inviare un framedi probe per verificare se la rete e effettivamente disponibile. Una voltache un client identifica un AP avviene un processo di autenticazione, 802.11prevede due metodi differenti di autenticazione che saranno esaminati nelCapitolo 2. Dopo che l’autenticazione ha avuto successo il client si spostanel secondo stato Authenticated and Unassociated, per passare da questostato al successivo, Authenticated and Associated, il client deve inviare unframe di richiesta di associazione, association frame, e l’AP deve risponderecon un association frame di risposta.

1.10 Breve Storia delle Reti 802.11

L’utilizzo della tecnologia Wireless presenta senza dubbio molti vantaggi, tut-tavia la natura stessa del mezzo di comunicazione, l’etere, espone le WLANad un numero elevato di pericoli per i dati in transito.

I ricercatori hanno ampiamente dimostrato l’insicurezza delle WLAN,e questo fattore e stato, sicuramente, la causa maggiore che ha frenato ildivulgarsi di questo tipo di tecnologia [11].

Inizialmente quando i primi prodotti Wi-Fi vennero immessi sul merca-to si pensava che l’intercettazione dei segnali radio di 802.11 sarebbe statomolto arduo dato l’utlizzo della modulazione spread spectrum che rendevacomplicato la costruzione di un dispositivo ricevente, tuttavia questa scioc-ca supposizione venne subito smentita dato che per intercettare del traffico802.11 basta semplicemente avere un’interfaccia conforme a Wi-Fi. Per indi-viduare una WLAN basta attrezzarsi con un’interfaccia 802.11, un antennaominidirezionale, e un laptop o un PDA ed iniziare a muoversi in una dataarea a piedi o in auto alla ricerca del segnale. Queste tecniche, note poi conil nome di War Walking e War Driving [12], presero piede a tal punto che eora possibile trovare su internet mappe che descrivono la posizione e i sistemidi protezione di molte WLAN7. Un ulteriore motivo che ha consentito questogenere di attivita e stato la creazione di tool di detect come NetStumbler8,Kismet9.

Una volta che una rete Wi-Fi viene individuata l’unica soluzione propostada 802.11 per fornire confidenzialita ai dati che transitano sulla rete e WEP.

7Un esempio lo si puo trovare su http://www.nycwireless.net che mappa le reti diNewYork

8http://www.netstumbler.com9http://www.kismetwireless.net

Page 12: Sicurezza delle reti 802.11

Capitolo 1 7

WEP si e dimostrato essere un fiasco clamoroso fallendo completamente tuttigli obbiettivi per cui era stato progettato. Come se non bastasse, l’utilizzodi WEP era una caratteristica opzionale, e quindi molti costruttori non loimplementarono nemmeno nei loro primi prodotti.

Un’altra possibile soluzione per tenere al sicuro le reti Wi-Fi e data dallacreazione di Access Control Lists tramire il filtraggio dei MAC Address, matuttavia non va presa come una soluzione seria dato che non autentica unutente ma un host, e va inoltre detto che la modifica del MAC di una schedaWi-Fi e una cosa piuttosto semplice, a volte lo si puo fare tramite l’interfacciafornita dai driver.

Dopo il fallimento di queste tecniche sono state proposte tecniche di pro-tezione basate su protocolli gia noti e su sistemi gia adottati da tempo perle reti tradizionali; come ad esempio: e stato proposto l’uso di 802.1x, diVPN, o di Kerberos10 per l’autenticazione, l’uso di IPSec [13] per garantireconfidenzialita e integrita dei dati, e infine l’utilizzo massiccio di SSL [14] eHTTPS [15]. Infine e iniziata da parte di IEEE la redazione di un nuovostandard mirato a risolvere tutti i problemi di 802.11, dando vita ad unaserie di proposte formalizzate in 802.11i nel Giugno del 2004.

Comunque in attesa che 802.11i venga implementato (in questo momentola maggior parte dei dispotivi Wi-Fi implementano un sottoinsieme dellefunzionalita di 802.11i, nominato WPA; anche se esistono gia alcuni chipset,come l’AR5006 di Atheros11 che fornise il supporto completo a 802.11i) e resodisponibile agli utenti la scelta migliore per mantenere sicura una rete Wi-Firimane quella di adottare un approccio tradizionale basato su piu livelli disicurezza [11].

10http://web.mit.edu/kerberos/www/11http://www.atheros.com

Page 13: Sicurezza delle reti 802.11

8 Capitolo 1

Page 14: Sicurezza delle reti 802.11

Capitolo 2

Analisi della Protezione Fornitada 802.11

In questo capitolo verranno trattati i sistemi di protezione realizzati dal comi-tato 802.11 per rendere sicure le reti Wi-Fi, inoltre verranno anche analizzatigli attacchi che rendono queste contromisure, in alcuni casi, del tutto inuti-li. Infine verranno affrontate le nuove disposizioni di sicurezza che il gruppo802.11i ha formalizzato nel Giugno del 2004.

2.1 802.11

2.1.1 WEP

802.11 ha introdotto WEP con l’intento di portare il livello di sicurezza delleWLAN equivalente a quello delle LAN, ne e ulteriore prova il nome stessoWired Equivalent Privacy. WEP viene quindi utilizzato per proteggere illivello data link durante le trasmissioni dei dati. Gli obbiettivi di sicurezzache WEP si era proposto sono:

Confidenzialita L’obbiettivo principale e quello di prevenire l’eavesdrop-ping1.

Controllo d’Accesso Proteggere l’accesso all’infrastruttura delle WLAN.

Integrita dei Dati Proteggere le WLAN dall’alterazione dei dati in tran-sito.

Tutte queste misure di sicurezze sono state violate.

1Intercettazione e furto delle informazioni che transito sulle WLAN.

9

Page 15: Sicurezza delle reti 802.11

10 Capitolo 2

WEP e basato su una chiave segreta condivisa tra i menbri della BSS,tale chiave ha una lunghezza di 40 bit. La lunghezza della chiave e statadecisa di soli 40 bit a causa delle leggi sull’esportazione della crittografia delGoverno USA; comunque attualmente esistono implementazioni di WEP conchiavi lunghe dai 64 ai 152 bit. Queste estensione sono state implementatedato che una chiave lunga 40 bit permette un brute-force attack in tempipiuttosto brevi [16, 17], invece chiavi piu lunghe impediscono questo attaccoma non risolvono tutti i problemi di WEP.

L’algoritmo che viene utilizzato per crittare i frame e RC4 [18]2. RC4e una algoritmo di tipo stream cipher. RC4 genera un keystream di bitpseudo-casuali, nel caso di WEP questo stream viene generato basandosisulla chiave condivisa k e su IV, che viene poi messo in XOR con il testo inchiaro per ottenere uno stream crittato della stessa lunghezza del messaggiodi partenza. Per il processo di decodifica si deve riottenenere esattamentelo stesso keystream e fare nuovamente lo XOR del messaggio crittato perottenere il testo in chiaro.

Il vettore di inizializzazione IV viene utilizzato in RC4 per rendere mag-giormente casuale la creazione del keystream di codifica, e per evitare cheuna chiave condivisa utilizzi lo stesso vettore IV. IV ha una lugnhezza di 24bit.

Per garantire l’integrita dei dati WEP utilizza un campo per il checksum,basato su CRC-32, che viene inserito all’interno del payload crittato dei frame802.11.

2.1.1.1 Il Protocollo

Vediamo ora come avviene l’invio e la ricezione dei dati in una WLAN cheutilizza WEP.

Innanzitutto ogni membro della BSS viene inizializzato con la chiave con-divisa k, questo e un meccanismo che avviene in modo manule e non tramitela rete.

L’invio di un frame comporta le seguenti operazioni:

• come prima cosa viene calcolato l’integrity cheksum c(M) del messaggioM che vogliamo inviare, tramite l’alogirtmo CRC-32. Dopo di cheotteniamo il testo P concatenando M e c(M), P = < M, c(M) >. Vafatto notare che c(M) non dipende da k.

• ora si procede alla crittazione di P tramite RC4. Viene scelto un vettoredi inizializzazione v (IV), dopo di che RC4 genera un keystream della

2Una descrizione pubblica di RC4 la si puo trovare in [19].

Page 16: Sicurezza delle reti 802.11

Capitolo 2 11

lunghezza di P , basato su k e v. Questo keystream viene identificatocon RC4(v, k). Infine per ottenere il testo crittato C si procede con:

C = P � RC4(v, k).

• infine viene trasmesso il frame contenente IV e C nell’etere, con ilbit che indica la presenza di WEP settato. Possiamo rappresentaresimbolicamente l’invio come:

A → B : v, (P � RC4(v, k)).

Per ricevere un frame protetto con WEP vengono svolte le seguenti ope-razioni:

• il ricevente testa se il bit per la presenza di WEP e settato.

• viene rigenerato RC4(v, k), estraendo v dal pacchetto ricevuto e vienemesso nuovamente in XOR con C in modo da riottenere il testo inchiaro P .

P ′ = C � RC4(v, k) = (P � RC4(v, k)) � RC4(v, k) = P.

• infine viene verificato il checksum di P ′ per controllare l’autenticita delpacchetto. Per fare cio P ′ viene spezzato in < M ′, c′ > dopo di cheviene calcolato c(M ′) e confrontato con c′. Se il confronto va a buonfine il frame viene accettato.

2.1.1.2 Attacchi a WEP

Riutilizzo del Keystream [20, 21]. Un’insidia ben conosciuta degli algo-ritmi stream cipher consente, se due messaggi vengono crittati con la stessokeystream, e quindi con la stessa coppia IV e k, di conoscere il contenuto deidue messaggi. Ad esempio:

Se:C1 = P1 � RC4(v, k)C2 = P2 � RC4(v, k)

abbiamo che:C1 � C2 = (P1 � RC4(v, k))) � (P2 � RC4(v, k)) =P1 � P2

In altre parole lo XOR tra C1 e C2 causa la cancellazione del keystream e dacome risultato lo XOR tra P1 e P2. Quindi se uno dei due messaggi in chiaroe conosciuto e elementare ottenere l’altro.

Page 17: Sicurezza delle reti 802.11

12 Capitolo 2

Per prevenire questo problema viene uitlizzato IV in combinazione conla chiave k, ma la gestione impropria di IV e la sua lunghezza di soli 24 bitrendono questa misura di sicurezza inutile.

Le specifiche di WEP si limitano a raccomandare di cambiare IV ad ognipaccetto inviato ma non dichiara come. Ad esempio alcune schede Wi-Fi silimitano ad incrementare IV ogni pacchetto che inviano e al termine dellospazio delle combinazioni resettano IV. Il problema di questa soluzione e chele chiavi non possono essere cambiate con la frequenza necessaria per evitareun riutilizzo del keystream. La selezione random di IV, oltre a essere piucomplicata da implementare, presenta delle difficolta a causa del “Paradossodel Compleanno”. Questo paradosso, applicato a WEP, ci garantisce chepossiamo ottenere, con una probabilita del 50%, due frame con lo stesso IVsolamente dopo 212 frame che equivale a circa 5000 frame, anziche dopo 224.Tanto per fare un esempio pratico in una rete a 11 Mbps in pochi secondipossiamo ottenere un set di frame contenente due frame crittati con lo stessokeystream.

Una volta che si ottengono due pacchetti crittati con lo stesso keystreamci sono diversi modi per ottenere il testo in chiaro. Se si conosce il plaintextdi un messaggio e molto semplice ottenere l’altro. Se invece non si conoscenessuno dei messaggi si possono utilizzare dei possibili candidati come adesempio molti campi del protocollo IP sono predicibili e molti protocolli usanodelle strutture fisse per scambiarsi dati, oppure effettuando delle analisi deltipo di traffico della rete. Un altro modo per ottenere informazioni puo esserequello di immettere pacchetti noti all’interno della rete per poi sniffarne icorrispondenti crittati. Ad esempio un attaccante potrebbe inviare una emailad una stazione che sta monitorando, da un host esterno sotto il suo controllo.

Decryption Dictionary [20]. Una volta che si ottiene il plaintext di unframe intercettato un attaccante puo utilizzare il valore del keystream usatoper crittare il messaggio per decrittare tutti i messaggi codificati con lo stessoIV. Con il passare del tempo un attaccante puo accumulare tutti i keystreamper ciascun IV e ottenere un dizionario che gli permetterebbe di decifraretutto il traffico della rete. L’intero dizionario corrisponderebbe all’incirca a25 GB. Ovviamente questo tipo di attacco sara reso possibile se le chiavivengono cambiate poco frequentemente, dato che la costruzione dell’interodizionario richiede parecchio tempo.

Comunque va fatto notare che se viene utilizzato WEP con chiavi da 40 bite possibile sferrare un attacco di tipo brute force in un tempo relativamentebreve e con risorse moderate [16, 17].

Page 18: Sicurezza delle reti 802.11

Capitolo 2 13

Message Modification [20]. Questo tipo di attacco e possibile per la pro-prieta della funzione che calcola il checksum dei pacchetti di essere linearerispetto al messaggio. Quindi questo significa che c(x � y) = c(x)�c(y) perqualunque x, y. La conseguenza diretta di questa proprieta e che possiamomodificare i messaggi che intercettiamo senza danneggiare il checksum.

Consideriamo C come un messaggio che abbiamo intercettato prima cheraggiungesse la sua destinazione:

A → (B) : < v,B >

Assumiano che C corrisponde a un messaggio M non conosciuto:

C = Rc4(v, k) � < M, c(M) >

Ora verra mostrato come sia possibile ottenere un messaggio crittato C ′

da C in modo tale che quando viene ricevuto e decodificato dalla stazionedestinazione leggera M ′ anziche M .

Prendiamo M ′ = M � ∆ dove ∆ e un valore arbitrario. Quindi

C ′ = C � < ∆, c(∆) >= RC4(v, k) � < M, c(M) > � < ∆, c(∆) >= RC4(v, k) � < M � ∆, c(M) � c(∆) >= RC4(v, k) � < M ′, c(M � ∆) >= RC4(v, k) � < M ′, c(M ′) >

In questa derivazione viene sfruttato il fatto che il checksum di WEP e lineare.Va fatto notare che questo attacco puo essere effettuato senza conoscere M ,all’attaccante e sufficiente conoscere il frame crittato C e il valore desideratodi ∆.

Come si e potuto dimostrare e possibile modificare qualsiasi messag-gio crittato senza che venga rilevato da WEP, quindi WEP fallisce anchel’obbiettivo di fornire l’integrita dei dati.

Message Injection [20]. Anche questo tipo di attacco e dovuto ad unaproprieta del checksum di WEP: il checksum di WEP e una funzione nondipendenete dalla chiave ma dipende solo dal messaggio. La conseguenza diquesta proprieta e che il checksum puo essere calcolato da un attaccante checonosce il messaggio in chiaro, inoltre va fatto notare che questa debolezzapermette di scavalcare i meccanismi per il controllo degli accessi. QuindiWEP fallisce anche l’obbiettivo di fornire un accesso controllato alle risorsedelle WLAN.

Page 19: Sicurezza delle reti 802.11

14 Capitolo 2

Se un attaccante riesce a procurarsi un frame in chiaro e il suo corrispon-dente crittato puo inserire nella rete qualsiasi tipo di frame. Infatti se si e inpossesso di P e di C abbiamo che:

P � C = P � (P � RC4(v, k)) = RC4(v, k)

Ora si puo costruire un nuovo messaggio crittato M ′ tale che:

(A) → B : < v,C ′ >

dove

C ′ = < M ′, c(M ′) > �RC4(v, k)

Va fatto notare che il vettore IV utilizzato per C ′ e lo stesso utilizzato nelframe C, ma questo non crea nessun problema dato che WEP permettela possibilita di riutilizzare lo stesso IV in messaggi diversi. Quindi non enecessario bloccare il messaggio originale che viene catturato.

Message Decryption [20]. Dato che WEP utilizza un algoritmo ritenutosicuro (RC4) attacchi diretti alla crittografia sono senza speranza, ma se nonriusciamo noi stessi a decrittare i frame qualcun altro puo farci questo servi-zio: l’AP. L’idea che sta dietro a questo tipo di attacchi e quella di cercare diingannare l’AP e farlo lavorare a favore dell’attaccante decrittando i frameper lui. La possibilita di ingannare l’AP ci viene fornita dalla possibilita dimodificare i pacchetti che circolano nella WLAN.

Si possono effettuare due tipi di attacchi: IP Redirection e ReactionAttacks.

Il primo, IP Redirection, puo essere utilizzato quando l’AP viene utilizzatocome IP router per una connessione a Internet. In questo caso l’idea e disniffare dei pacchetti dalla WLAN e di modificarne l’IP di destinazione, inmodo che il pacchetto venga inviato ad un host all’esterno della WLAN chee sotto il controllo dell’attaccante. Quindi l’AP decrittera il messaggio e loinviera alla nuova destinazione dove l’attaccante potra leggere il messaggioin chiaro. Affinche questo attacco funzioni e necessario modificare oltre l’IPdi destinazione anche il checksum del pacchetto altrimenti verra scartatodall’AP.

Il secondo tipo di attacco, Reaction Attacks, non ha bisogno di una con-nessione a Internet, quindi puo essere attuato quando l’IP Redirection none applicabile. L’attacco consiste nel monitorare una stazione a cui verrannoinviati dei pacchetti TCP e osservando il tipo di risposta si dedurra il conte-nuto del plaintext. L’idea di base e che se un pacchetto TCP ha un checksum

Page 20: Sicurezza delle reti 802.11

Capitolo 2 15

valido allora viene inviato in risposta un pacchetto di ACK, che sara possi-bile riconoscere dalla dimensione, quindi non ci sara bisogno di decrittarlo.Quindi il destinatario ci dira se il checksum e valido o meno.

Inizialmente viene catturato un ciphertext di cui non si conosce la versio-ne in chiaro. Dopo di che si modificheranno alcuni bit in C e si aggiustera ilchecksum di WEP ottenendo cosı un nuovo frame C ′. Ora si trasmettera ilnuovo frame e andremo a controllare se il destinatario invia o meno il pac-chetto di ACK. Va fatto notare che non possiamo modificare i bit in manieraarbitraria come avveniva nel caso del Message Modification ma bisgogna ri-spettare uno schema ben preciso. La regola base da seguire e che possiamoessere sicuri che il checksum di TCP rimane integro se la sequente condizio-ne sui bit del plaintext e rispettata Pi � Pi+16 = 1. Percio la presenza ol’assenza del pacchetto di ACK ci rivela un bit del plaintext che vogliamoottenere. Ripetendo la tecnica per molti i possiamo conoscere abbastanzabit del plaintext per poi procedere con le tecniche tradizionali.

2.1.2 Open System Authentication

Questo metodo di autenticazione come dice il nome stesso e strutturato inmodo che chiunque possa richiedere di essere autenticato; questa modalita el’autenticazione di default prevista da 802.11. Praticamente non viene fornitanessuna forma di autenticazione. Delle sperimentazione su questo modellodi autenticazione hanno dimostrato che i management frame vengono inviatiin chiaro anche quando WEP e attivo [10].

2.1.2.1 Difetti di Open System Authentication

Di fatto questo sistema non fornisce nessun tipo di autenticazione ed e prati-camente impensabile il suo utilizzo dove la sciurezza sia uno dei punti cardineper la progettazione della rete.

2.1.3 Shared Key Authentication

La modalita Shared Key Authentication si basa sul meccanismo standarddi autenticazione challenge and response tramite una chiave condivisa chefornisce l’autenticazione [10].

La stazione che si vuole autenticare, initiator, invia un management framedi richiesta di autenticazione indicando che vuole utilizzare il meccanismo diautenticazione Shared Key.

Il ricevente del frame di richiesta, responder, risponde inviando un mana-gement frame di autenticazione contenente 128 byte di testo, che rappresenta

Page 21: Sicurezza delle reti 802.11

16 Capitolo 2

il challenge, all’initiator. Questi 128 byte vengono inviati in chiaro. Il chal-lenge viene generato tramite il PRNG (Pseudo-Random Number Generator)di WEP attraverso la chiave condivisa k e il vettore IV.

Una volta che l’initiator riceve il challenge, non fa altro che creare unnuovo frame e copiarvi il challenge ricevuto pero crittato tramite WEP, uti-lizzando la combinazione della chiave condivisa e di un nuovo vettore IVcreato dall’initiator stesso. Infine invia il frame (response).

Il responder decripta il frame ricevuto e verfica che il valore di integritasia valido (ICV), tramite l’algoritmo CRC-32; se questo valore e valido e ilchallenge corrisponde allora l’autenticazione ha avuto successo.

In figura 2.1 viene mostrato come e strutturato un management frame diautenticazione. Alcuni campi interessanti sono l’Element ID che indica se epresente il challenge, lo Status Code che viene settato a 0 quando l’autentica-zione va a buon fine, 1 altrimenti. Lo stato di questi bit durante il processodi autenticazione viene mostrato in tabella 2.1.3.

Figura 2.1: Formato di un Management frame.

Sequence Number Status Code Challenge Text WEP1 Reserved Not Present No2 Status Present No3 Reserved Present Yes4 Status Not Present No

Tabella 2.1: Formato messaggi in corrispondenza del Sequence Number.

2.1.3.1 Attacchi a Shared Key Authentication

Questo protocollo di autenticazione e facilmente eludibile tramite un attaccopassivo. Sostanzialmente basta sniffare i pacchetti che vengono scambiatidurante l’autenticazione degli host. L’attacco funziona a causa della struttura

Page 22: Sicurezza delle reti 802.11

Capitolo 2 17

fissa del protocollo (ovvero tutti i valori dei campi dei management frame diautenticazione sono conosciuti dato che non cambiano mai da una sessionedi autenticazione ad un’altra, con l’eccezzione del challenge) e a causa delledebolezze viste precedentemente in WEP.

L’attaccante deve catturare il secondo e il terzo management frame diautenticazione (visulalizzabili in tabella 2.1.3). Il secondo messaggio contieneil challenge in chiaro mentre il terzo contiene il challenge crittato con la chiavecondivisa. Quindi, a questo punto l’attaccante ha in mano tutti gli elementi:il challenge in chiaro P , il challenge crittato C, il vettore di inizializzazioneIV; per derivare il keystream prodotto da RC4 mettendo semplicemente inXOR C e P (RC4(v, k) = C � P ).

L’attaccante ora puo autenticarsi nella rete senza conoscere la chiave con-divisa. L’attaccante richiede di essere autenticato ad un AP, e l’AP rispondeinviando il challenge in chiaro che sara poi crittato dall’attaccante facendolo XOR tra il keystream, ottenuto da una sessione precedente, e il challen-ge. Come ultima cosa l’attaccante deve creare un nuovo ICV come descrittoin [20, 22]. Ora puo essere inviato un messaggio di autenticazione valido el’attaccante si connette alla rete. Tuttavia nelle reti che utilizzano WEP enecessario implementare un attacco al WEP [20, 21].

2.1.4 Gestione delle Chiavi

Piu che “Gestione delle Chiavi” sarebbe piu corretto dire che 802.11 for-nisce una “Mancata Gestione delle Chiavi” [23, 10]. Questa mancanza haavuto come risultato che molti produttori di hardware hanno implementatosoluzioni proprietarie nei loro dispositivi di fascia alta. Purtroppo affermareche queste soluzioni sia sicure o meno non e stato possibile dato che i pro-duttori non hanno reso pubblico il tipo di protocollo utlizzato; comunquein alcune circostanze e stato verificato che venivano utilizzati protocolli convulnerabilita note.

Va comunque detto che 802.11 fornisce fornisce due meccanismi, seppurenon adatti a fornire un alto livello di sicurezza, per la gestione delle chiavi: ilprimo consiste nell’utilizzare un array di quattro chiavi condivise. Tuttaviala trasmissione dei pacchetti crittati avviene sempre tramite una default key.Il secondo metodo consiste nel fornire ad ogni MAC Address una chiavedifferente. L’AP contiene una tabella dove associa ad ogni MAC la chiavecorrispondente. Le specifiche 802.11 dichiarano che la dimensione di que-sta tabella deve essere di dieci voci; ma in realta dipende dalla memoriadel chipset. Questa soluzione mitiga il problema di attacchi crittograficima rimane il problema che le chiavi devono essere cambiate a mano dagliamministratori, e questo ha come conseguenza una frequenza del cambio

Page 23: Sicurezza delle reti 802.11

18 Capitolo 2

delle chiavi molto bassa il che ci riporta al problema di essere soggetti adattacchi crittografici.

2.1.5 SSID

SSID attua l’identificazione delle WLAN e non fa altro che fornire un rudi-mentale livello di controllo di accesso. Infatti tutti gli host che cercherannodi connettersi ad una particolare WLAN dovranno avere lo stesso SSID im-postato. Questo identificativo viene inserito nell’header di ciascun pacchettoche viene inviato nella WLAN, ma dato che il contenuto di questo campoviene trasmesso in chiaro possiamo considerare questa funzionalita come unidentificatore della rete piuttosto che una funzionalita di sicurezza [24]. In-fatti viene utilizzato ampiamente per creare sottoreti o per segmentare leWLAN.

2.2 Robust Security Network (RSN)

Come si e potuto vedere nelle precedenti sezioni, WEP non e in grado difornire un livello di sicurezza adeguato per le WLAN, IEEE ha quindi decisodi introdurre una nuova architettura chiamata RSN (Robust Security Net-work). RSN e stato fin da subito utilizzato dati i problemi di 802.11 e datoche lo standard 802.11i era ancora in via di definizione. La chiave di RSNe lo standard di IEEE 802.1x [25] che fornisce un meccanismo di restrizionedell’accesso alla rete, a livello MAC, basato sul concetto dei port. 802.1x sipropone di fornire: una robusta autenticazione, controllo dell’accesso, e unagestione delle chiavi, ma come vedremo fallisce i suoi obbiettivi non essen-do in grado di fornire ne un adeguato controllo dell’accesso, ne un robustosistema di autenticazione. Questo e dovuto a dei difetti di progettazione di802.11, 802.1x e di EAP [26].

802.1x fornisce un framework architetturale su cui vari metodi di auten-ticazione possono essere utilizzati, come ad esempio: one time password,smart card, autenticazione basata su certificati etc. . . . Va detto che 802.1xpuo essere utilizzato in reti di vario genere come ad esempio: Token Ring,FDDI (802.5), LAN (802.3) e ovviamente nelle WLAN (802.11).

RSN si propone di fornire le seguenti funzionalita:

Autenticazione/Integrita dei frame tra RADIUS e l’AP Questo vie-ne garantito dall’utilizzo di una chiave segreta unica per ciascun APcondivisa con il server RADIUS. Tutti i messaggi inviati dal server RA-DIUS contengono il campo Request Authenticator che contiene un hash

Page 24: Sicurezza delle reti 802.11

Capitolo 2 19

HMAC-MD5 del contenuto del pacchetto utilizzando la chiave condivi-sa. Questo campo viene settato dal server RADIUS e verificato dall’AP.Per autenticare i pacchetti dall’AP al server RADIUS viene utilizzato ilcampo EAP Authenticator presente all’interno dei frame EAP Message.Anche in questo caso viene utilizzata una funzione hash HMAC-MD5per garantire l’integrita e l’autenticita dei dati.

Scalabilita e Flessibilita RSN permette una buona scalabilita in termi-ni di numero di AP, separando l’AP dal processo di autenticazione.La flessibilita si ottiene inserendo confidenzialita tramite l’utilizzo delmessaggio opzionale EAPOL key.

Access Control Utilizzando un buon layer ad alto livello di autenticazioneRSN puo fornire un buon meccanismo di access control.

One-way Authentication 802.1x fornisce solamente l’autenticazione dellestazioni verso l’AP e non il vicevera.

2.2.1 Struttura di RSN

Il framework fornito da RSN si basa sull’astrazione di tre entita, come spe-cificato in 802.1x: supplicant, authenticator o network port, authenticationserver. Con il termine supplicant si identificano le stazioni che desideranousufruire di un servizio (la connettivita alla rete WLAN) che viene fornitoattraverso il cosiddetto port dall’authenticator che non e altro che l’AP. Per-cio all’interno di una rete esisteranno diversi port disponibili a cui le variestazioni potranno autenticarsi. Le stazioni verranno autenticate tramite gliAP in un authentication server centrale che indichera agli AP di fornire ilservizio quando l’autenticazione andra a buon fine.

802.1x e basato su EAP [27] (Extensible Authentication Protocol) per per-mettere vari meccanismi di autenticazione. EAP e progettato sulla base delparadigma di comunicazione challenge and response. EAP e costituito daquattro tipi di messaggi: EAP Request, EAP Response, EAP Success e EAPFailure. Il messaggio EAP Request viene inviato alle stazioni dall’AP, inpratica EAP Request rappresenta il challenge, dopo di che viene inviato unmessaggio di EAP Response all’AP dalla stazione che si vuole autenticare.Gli altri due messaggi, EAP Success e EAP Failure, vengono utilizzati percomunicare il risultato dell’autenticazione alle stazioni. EAP viene definitoun protocollo estensibile dato che all’interno dei pacchetti EAP puo esse-re incapsulato qualsiasi altro protocollo per garantire l’interoperabilita condiversi meccanismi di autenticazione.

Page 25: Sicurezza delle reti 802.11

20 Capitolo 2

Prima che l’autenticazione abbia successo soltanto il traffico EAP puotransitare dalle stazioni client all’AP. Per negare qualsiasi tipo di trafficol’authenticator ha un modello basato sul concetto di dual port. La Uncon-trolled port ha il compito di filtrare tutto il traffico della rete lasciando passaresolamente il traffico EAP. La Controlled port, invece, viene abilitata quandol’autenticazione ha avuto esito positivo e permette la completa connettivitaalla rete.

I messaggi EAP a loro volta sono incapsulati all’interno di pacchetti delprotocollo EAPOL [25] (EAP Over Lan), che viene utilizzato per spedire ipacchetti dall’authenticator al supplicant. Oltre a fornire l’incapsulamentodei messaggi EAP, EAPOL viene utilizzato per la notifica dell’inizio e del-la fine di una sessione rispettivamente con EAPOL start e EAPOL logoff.Un’altra funzionalita di EAPOL e quella di mettere a disposizione dei layersuperiori un messaggio EAPOL key che permette la negoziazione delle sessionkey per protocolli come TLS etc. . .

Va fatto notare che sia EAP che EAPOL non forniscono alcuna misuraper il controllo dell’integrita e della privacy dei dati.

L’authenticator e l’authentication server comunicano tra di loro tramiteil protocollo RADIUS [28] (Remote Authentication Dial-in User Service). Imessaggi EAP vengono trasmessi come attributi del protocollo RADIUS. Ilprotocollo RADIUS a differenza di EAP e EAPOL ha un sistema che controllal’autenticita e l’integrita dei dati di tutti i pacchetti scambiati tra l’AP e ilserver RADIUS.

2.2.2 Attacchi a RSN

Man In The Middle Attack [26]. RSN prevede un autenticazione di tipoasimmetrica tra il supplicant e l’authenticator, infatti il supplicant presumeche l’AP sia sempre fidato. Questo difetto progettuale ha la conseguenza dipermettere un attacco Man In The Middle tra supplicant e AP. Un esem-pio viene mostrato in figura 2.2. Un messaggio EAP Success viene inviatodall’authenticator al supplicant al ricevimento da parte dell’authenticator diun messaggio Access Accept dal server RADIUS. Questo indica che l’auten-ticazione ha avuto esito positivo. Il messaggio EAP Success ha l’effetto diattivare il flag eapSuccess e indipendentemente dallo stato in cui si trova ilsupplicant lo fa passare in uno stato di Authenticate, permettendo cosı laconnettivita alla rete.

Come detto in precedenza EAP non ha alcun controllo per preservarel’integrita dei messaggi, quindi un attaccante puo forgiare un messaggio EAPSuccess, oppure catturarne uno e modificargli il MAC dell’AP con il proprio,e spacciarsi per l’AP. In questo modo tutto il traffico tra il supplicant e

Page 26: Sicurezza delle reti 802.11

Capitolo 2 21

Figura 2.2: Attacco Man In The Middle

il vero AP passerra attraverso la stazione dell’attaccante. Inoltre va fattonotare che questo tipo di attacco scavalca completamente i meccanismi diautenticazione dei layer piu alti come ad esempio EAP-TLS o EAP-MD5.

Session Hijacking [26, 24]. Lo stato di autenticazione di un supplicantviene dato dall’azione combinata di due state machine: una per 802.11 euna per 802.1x; un difetto progettuale di comunicazione tra queste due statemachine permette ad un attaccante di attuare un attacco di session hijacking.La figura 2.3 mostra come un attaccante puo eludere i meccanismi di accessoe guadagnare la connettivita alla rete. L’attacco si svolge nella seguente

Figura 2.3: Sessione di Hijack attraverso il messaggio MAC Disassociate di802.11

maniera:

Page 27: Sicurezza delle reti 802.11

22 Capitolo 2

• i messaggi 1, 2 e 3 identificano la fase di autenticazione di un supplicantlegittimo. La fase di autenticazione ha piu di tre messaggi ma sono statiomessi per semplicita.

• il messaggio 4 viene inviato dall’attaccante e contiene il managementframe di 802.11 MAC Disassociate con il MAC dell’AP. Questo co-stringe il supplicant a scollegarsi dalla rete e a spostarsi nello statoUnassociated. Pero la transizione di stato avviene solamente nella sta-te machine di 802.1x mentre nella state machine di 802.11 il supplicantrisulta essere in uno stato di Authenticated.

• il messaggio 5 permette all’attaccante di guadagnare la connettivita allarete utilizzando il MAC Address del supplicant che risultera autenti-cato presso l’AP ma rimarra scollegato dalla rete dato che per la statemachine di 802.1x risulta essere non associato.

Denial of Service Attacks [26]. Ci sono varie tipologie di attacchi DoSche possono essere attuati contro RSN. Ad esempio:

Spoofing Messaggi EAPOL Logoff e Start Il messaggio EAPOL Logoffviene inviato da un supplicant quando vuole scollegarsi dalla rete. Que-sto tipo di messaggi possono essere facilmente sniffati e successivamentemodificati tramite un attacco Man In The Middle. Dopo di che l’attac-cante puo inviare un messaggio di EAP Logoff impersonando il suppli-cant vittima in modo tale da disconnetterlo dalla rete. Lo stesso puoavvenire anche per i messaggi di tipo EAPOL Start solo con l’effettoopposto.

Spoofing Messaggi EAP Failure I messaggi EAPOL Failure vengono in-viati dall’AP al supplicant quando l’autenticazione presso il sever RA-DIUS fallisce. Anche questo tipo di messaggio puo essere sniffato einviato a un supplicant con il MAC Address dell’AP. La ricezione diquesto messaggio da parte di un supplicant fa si che avvenga una tran-sizione in uno stato chiamato Held indipendentemente dallo stato incui si trova il supplicant. Una volta nello stato di Held viene attivatoun timer, heldWhile, di 60 secondi che tiene bloccato il supplicant finoallo scadere dei 60 secondi. Quindi l’attaccante per tenere il supplicantperennemente bloccato dovra inviare un messaggio EAP Failure conuna frequenza maggiore ai 60 secondi.

Alto Numero di Richieste di Associazione Un’AP mantiene un nume-ro considerevole di dati nel momento che intercorre tra l’avvenuta as-sociazione di un supplicant con 802.11 e prima che l’associazione con

Page 28: Sicurezza delle reti 802.11

Capitolo 2 23

802.1x sia completata. In questo istante il supplicant risultera in unostato di Unauthenticated. Una singola stazione po quindi generare unnumero elevato di richieste di autenticazione utilizzando dei MAC Ad-dress random. Dato che il campo identifier dei pacchetti EAP e disoli 8 bit significa che ogni AP e limitato ad un massimo di 255 au-tenticazioni in parallelo. Quindi saturando il numero di rischieste diautenticazione una stazione puo impedire a chiunque di autenticarsi.

2.3 802.11i

Il gruppo 802.11i per porre rimedio alle deficienze di WEP ha proposto unnuovo standard per garantire sicurezza nell’ambito delle WLAN. La propostadi TGi si puo riassumere nell’introduzione di due nuovi elementi, ciascunoprogettato in base a precise esigenze. Questi due elementi sono: TKIP el’utilizzo di AES per la codifica dei dati.

TKIP deve essere vista come una soluzione immediata e il meno dispen-diosa possibile, sia in termini di tempo di implementazione che di hardwarenecessario, per risolvere i problemi di WEP. Una sorta di patch di WEP.Quindi TKIP e stato progettato basandosi sui seguenti presupposti:

• TKIP deve essere distribuito come patch per WEP e quindi deve fun-zionare sull’hardware gia in commercio.

• i micropocessori degli AP hanno pochi cicli di clock disponibili perimplementare nuove funzionalita, la maggior parte della potenza dicalcolo, circa il 90%, viene gia impiegata per l’uso di WEP.

• per implementare RC4 con microprocessori piu modesti sono stati uti-lizzate soluzioni hardware ad hoc per realizzare le funzioni di codifica edecodfica dei pacchetti, quindi TKIP deve continuare a utilizzare RC4come base crittografica.

Invece AES va pensata come una soluzione a lungo termine, per garantirenei prossimi decenni la sicurezza nelle WLAN. L’utilizzo di AES ha infatticomportato la riprogettazione da zero di tutti i sistemi atti alla protezionidei dati. L’immediata conseguenza di cio e che si ha la necessita di utilizzarenuovo hardware dedicato.

2.3.1 TKIP

TKIP e l’acronimo di Temporal Key Integrity Protocol ed e la risposta di802.11i che si propone di fare quanto detto nel paragrafo precedente. TGi

Page 29: Sicurezza delle reti 802.11

24 Capitolo 2

(Task Group i) ha proposto TKIP come obbligatorio in ogni dispositivowireless [29].

TKIP e una suite di algoritmi che gira sopra WEP; questi algoritmi sonostati progettati esclusivamente per essere implementati su hardware datato,o per meglio dire su hardware che era gia sul mercato prima che si scoprissel’insicurezza di WEP, senza abbassarre in modo eccessivo le performance.TKIP aggiunge quattro algoritmi:

• un MIC (Messagge Integrity Code) crittografico, chiamato Michael, pereliminare i pacchetti falsificati

• una nuova gestione del vettore IV, per evitare gli attacchi di tipo replay

• una funzione di key mixing per creare una chiave per pacchetto, perdisassociare il vettore IV dalle debolezze delle chiavi

• un meccanismo di rekeyng, per fornire nuove chiavi e per difendersidalla minaccia derivante dal riutilizzo del keystream

Michael. In letteratura viene utilizzato l’acronimo MACs (Messagge Au-thentication Codes) ma TGi aveva gia utilizzato il termine MAC per indi-care Media Access Control, quindi TGi ha optato per l’utilizzo di MIC perindicare il meccanismo crittografico per evitare i falsi pacchetti; chiamatoMichael [30].

Ogni MIC e costituito da tre componenti: una chiave segreta k, una“tagging function” e un predicato di verifica (verification predicate). Latagging function prende la chiave k e il messaggio M come input, generandoin output il tag T , chiamato anche messagge integrity code. Il tag T viene poiinviato insieme a M per permettere di riconoscere se un pacchetto e originaleo e stato forgiato da un attaccante. Per verificare se un pacchetto e validoo meno il ricevente prende in input k, M , e T e li inserisce nel predicato diverifica. Se il predicato restituira true il pacchetto sara autentico altrimentirestituira false e il pacchetto sara droppato.

La chiave k e di 64 bit ed e rappresentata da due word di 32 bit (k0,k1).

La tagging function come prima cosa inserisce nel messaggio il valore esa-decimale 0x5A e riempie i successivi spazi di zero in modo tale che la lunghez-za del messaggio sia un multiplo di 32 bit. Quindi partizionera il messaggioM in tante word M1,M2. . .Mn, e alla fine creera il tag T . Il funzionamento

Page 30: Sicurezza delle reti 802.11

Capitolo 2 25

di questa funzione lo possiamo schematizzare nel modo seguente:

(L, R) ← (K0, K1)do i from 1 to n

L ← L � Mi

(L, R) ← b(L, R)return (L, R) as the tag T

Il predicato di verifica non fa altro che utilizzare la tagging function sulmessaggio M che gli arriva e fare una comparazione bit a bit del tag che earrivato insieme a M con quello calcolato localmente.

Il livello di sicurezza di qualsiasi MIC puo essere misurato in bit, adesempio se vogliamo un livello pari a s bit un attaccante dovra generare2−s+1 pacchetti per trovare un pacchetto valido. Il migliore attacco cono-sciuto contro Michael, che utilizza diverse tecniche di criptoanalisi, utlizza229 messaggi; tradotto in termini di tempo significa che un attaccante habisogno di due minuti in una WLAN 802.11b e di un minuto in una WLAN802.11a/g per generare il numero di pacchetti necessari.

Tuttavia Michael implementa una contro misura per questo genere diattacchi. Questa contro misura non fa altro che monitorare il numero deipacchetti marcati come falsificazioni, se il loro numero supera i due pacchettiper secondo si assume che la stazione sia sotto attacco. In questo caso lastazione cancella le sue chiavi, si disassocia dall’AP ed aspetta un minuto epoi si riassocia nuovamente presso l’AP. Questo comportamento ha l’effet-to indesiderato di interrompere la comunicazione, ma non solo; infatti puocausare un attacco DoS. Basta che l’attaccante continui ad inviare pacchettinon validi e la stazione continuera a disassociarsi dall’AP e non riuscira piua riaccedere alla rete.

Sicuramente bisogna dire che MIC e un sistema crittografico piuttostodebole, ma nonostante cio non e stata trovata nessuna soluzione che abbia lavelocita di esecuzione di Michael e allo stesso tempo il suo livello di sicurezza;quindi lo si puo considerare una buona soluzione all’interno del contesto diprogettazione di TKIP.

IV Sequence [31]. Per difendersi dagli attacchi di tipo replay TKIP riu-tilizza i bit del frame che veniva utilizzato dal vettore IV di WEP comecontatore sequenziale di pacchetto. Sia chi trasmette sia chi riceve i framedovra settare a zero il numero sequenziale di pacchetto quando un nuovo setdi chiavi viene definito, inoltre chi li invia dovra provvedera ad incrementar-ne il numero. Un pacchetto viene definito fuori sequenza se il valore di IV eminore o uguale al precedente MPDU ricevuto correttamente e associato alla

Page 31: Sicurezza delle reti 802.11

26 Capitolo 2

medesima chiave. Se un MPDU arriva fuori sequenza allora verra consideratocome una copia quindi il ricevente lo scartera e incrementera il numero deitentativi di replay.

L’implementazione di TKIP per evitare gli attacchi replay ha una grossalimitazione: non funziona con il QoS (Quality of Service) introdotto dalgruppo 802.11e.

Key Mixing. Doug Whiting e Ron Rivest hanno invetato la funzione TKIPdi key mixing. Questa funzione non fa altro che trasformare una temporalkey e il contatore sequenziale di pacchetto in una chiave per pacchetto e in unIV. L’utilizzo di questa funzione non e, in generale, obbligatorio per fornireprivacy in un protocollo, come invece lo sono MIC, rekeyng e il controllodegli attacchi replay; infatti questa funzione e nata esclusivamente per porrerimedio ai problemi di WEP.

La funzione key mixing opera in due fasi distinte, dove in ciascuna fase siva ad eliminare un particolare problema di WEP. La fase uno ha l’obbiettivodi eliminare l’uso della stessa chiave per ogni stazione, mentre la fase due estata progettata con l’intento di evitare qualsiasi relazione tra IV e la chiaveper pacchetto.

La fase uno combina i MAC Address dell’interfaccia locale con la tem-poral key, facendo interativamente lo XOR per ognuno dei byte; il risultatodi questo XOR sara poi utilizzato come input per una S-Box che genererauna chiave intermedia. Mescolare in questo modo i MAC e la temporal keypermette di creare chiavi intermedie diverse per ciascuna stazione o AP; diconseguenza verranno generate delle chiavi per pacchetto uniche per ciascunastazione. Va fatto notare che la computazione delle chiavi intermedie avvienesolo se le temporal key sono aggiornate.

La fase due utilizza un piccolo cipher per crittare il numero sequenzialedi pacchetto con la chiave intermedia, generata nella fase uno, producendouna chiave a 128 bit per pacchetto. In realta i primi 3 byte della chiavecorrisponderanno a quello che era il vecchio IV in WEP, mentre i rimanenti13 byte corrisponderanno alla vecchia chiave WEP. Quindi l’hardware andraa concatenare questi valori rendendo difficile ad un attaccante correlare ilvettore IV con la chiave per pacchetto.

Per quanto riguarda la sicurezza di questa funzione non esiste un limitecalcolabile come nel caso di MIC, ma la comunita dei crittografi ha assicu-rato che la soluzione proposta da Rivest e Whiting raggiunge pienamente gliobbiettivi per cui era stata progettata e puo essere considerata una soluzioneottimale per i problemi creati da WEP.

Page 32: Sicurezza delle reti 802.11

Capitolo 2 27

Rekeying. Il compito della funzione rekeying e quello di fornire chiavi ag-giornate ai vari componenti di TKIP.

L’architettura fornita da TGi per la funzione di rekeying e basata su unagerarchia di tre differenti tipi di chiavi: temporal key, key encryption key, ela master key.

Le temporal key vengono utilizzate dagli algoritmi di TKIP per fornireprivacy e autenticazione. TKIP utilizza una coppia di temporal key: unachiave da 128 bit e una da 64 bit per fornire l’integrita dei dati. TKIPimpiega una coppia di chiavi per ciascuna direzione dell’associazione tra APe le stazioni; quindi vengono utilizzate un totale di quattro chiavi, ciascunaidentificata da un ID a 2 bit chiamato WEP keyid.

La funzione di key mixing puo generare al massimo 216 IV quindi saranecessario un meccanismo che aggiorni le chiavi con una frequenza di almeno216 pacchetti, dato che come si e visto nella sezione dedicata a WEP il riuti-lizzo di IV con la stessa chiave rende vano ogni tentativo di fornire privacy eintegrita dei dati. Per rendere fattibile il cambio da un set di temporal keyad un altro ad ogni associazione vengono allocati due WEP keyid. Quandoun’associazione viene stabilita un primo set di chiavi viene associato ad unodei due WEP keyid. Quando delle nuove chiavi vengono create, il processodi asscociazione controlla i due WEP keyid e associa il nuovo set di temporalkey al WEP keyid meno recente. Dopo che un nuovo set di chiavi viene regi-strato una stazione puo ancora ricevere dati con il vecchio set di chiavi, madovra trasmettere unicamente utilizzando il nuovo WEP keyid. Ovviamentele chiavi, per garantire un’adeguata sicurezza, non dovranno avere nessunacorrelazione algoritmica tra loro, altrimenti potrebbero essere violate.

Il successivo livello della gerarchia e occupato dalle encryption key cheproteggono le temporal key. Ci sono due chiavi di tipo encryption key: unaper crittare e distribuire le chiavi, e una per proteggere il messaggi di rekeydalle falsificazioni. L’utilizzo i questo tipo di chiavi e del tutto simile a quellodelle temporal key: ad ogni nuova associazione tra la stazione e l’AP deveessere concordato un nuovo set di encryption key.

Infine, all’ultimo livello della gerarchia, abbiamo la master key. Que-sta chiave viene condivisa tra la stazione e l’authentication server basato su802.1x. Questa chiave, tra tutte e quella maggiormente legata all’autentica-zione, e viene utilizzata per distribuire in modo sicuro le enryption key. Lamaster key viene concordata durante il procedimento di autenticazione. An-che in questo caso la master key viene rinnovata ad ogni nuova associazione ele varie master key non devono avere alcuna relazione con le altre, altrimentitutto il processo di protezione implementato da TKIP cade. Infatti se unattaccante si impossessa della master key e poi in grado di ottenere tutte lealtre chiavi rendendo quindi TKIP inutile.

Page 33: Sicurezza delle reti 802.11

28 Capitolo 2

2.3.1.1 Il Protocollo

Quando una stazione in reti di tipo infrastructure cerca di autenticarsi uti-lizza 802.1x e da questo processo deriva la master key. La master key rimanevalida fino a quando non scade oppure fino a quando non viene revocata.

Dopo che la master key viene stabilita l’authentication server distribuisceil materiale aggiornato alle stazioni e agli AP per derivate il primo set diencryption key. La master key protegge i dati tra l’authentication server ele stazioni, ma il protocollo fornisce anche un meccanismo per proteggere idati che transitano tra gli AP e le stazioni: inviando delle encryption keyaggiornate dopo ogni riassociazione.

Gli AP utilizzano a loro volta le encryption key concordate per proteggerele temporal key che inviano alle stazioni. L’AP ripete l’aggiornamento dellechiavi con una frequenza leggermente maggiore dei 216 pacchetti necessariper consetire ad un attaccante di sferrare attacchi di tipo replay.

L’incapsulazione, ovvero l’invio, di un pacchetto TKIP avviene nel se-guente modo:

• quando la stazione desidera inviare un MSDU3, TKIP usa Michael conla temporal key per calcolare il MIC dell’indirizzo MAC della stazionesorgente e del destinatario, lo stesso vale per il payload del MSDU. Poiil MIC viene accodato al payload del pacchetto.

• 802.11 frammenta MSDU in MPDU4.

• ad ogni frammento (MPDU) viene asseganto un numero sequenziale eviene impiegata la funzione di key mixing per creare una chiave crit-tografica per ciascun pacchetto che corrisponde, in termini di posizio-namento dei bit all’interno dei frame, alla concatenazione di IV e dellachiave k di WEP.

• a questo punto i rimanenti passi sono funzioni implementate in hard-ware che venivano impiegate in WEP. Viene impiegato IV e la chiavek per crittare i dati includendo il MIC e l’ICV, e per finire viene co-dificato il vettore IV e il WEP keyid delle temporal key all’interno delcampo WEP IV.

• ora l’intero MPDU e pronto per essere trasmesso.

In figura 2.4 vengono mostrati i vari passaggi per ottenere un pacchetto TKIPvalido.

Il ricevente invece compira i seguenti passi per ottenere i dati in chiaro:

3MSDU: MAC Service Protocol Unit.4MPDU: Messagge Protocol Data Unit.

Page 34: Sicurezza delle reti 802.11

Capitolo 2 29

Figura 2.4: Procedimento di incapsulamento di un pacchetto TKIP.

• come prima cosa viene utilizzato il MAC Address della stazione cheha inviato il pacchetto e i WEP keyid per identificare qual’e il set ditemporal key attualmente in uso.

• si estrae il numero di sequenza del pacchetto e si controlla che il pac-chetto non sia un replay. Se il numero sequenziale e corretto il pacchettoviene accettato altrimenti viene droppato.

• viene utilizzata la funzione key mixing per combinare il numero disequenza del pacchetto con la temporal key per produrre la chiave perpacchetto per decrittare il contenuto.

• a questo punto, utilizzando l’hardware di WEP, si decritta il contenutodel pacchetto e si verifica che ICV sia corretto o meno. In caso afferma-tivo la stazione ricevente incrementa il numero dei pacchetti ricevuti eaggiunge il frammento MPDU agli altri ricevuti in modo da ricostruireil MSDU completo. Invece in caso ICV sia errato il pacchetto vienedroppato.

• una volta completata la ricostruzione di MSDU viene utilizzato Michaelper verificare che il pacchetto non sia una falsificazione. Se il pacchettorisulta contraffatto TKIP scarta il pacchetto e in caso viene individuatoun attacco attiva le contromisure necessarie, se invece il pacchetto eintegro viene spassato ai livello superiori dello stack TCP/IP.

Page 35: Sicurezza delle reti 802.11

30 Capitolo 2

In figura 2.5 vengono mostrati i vari passaggi per ottenere i dati in chiaropartendo da un pacchetto protetto da TKIP.

Figura 2.5: Procedimento di decapsulamento di un pacchetto TKIP.

2.3.2 AES

AES [9] e un algoritmo crittografico basato su un block cipher a chiave simme-trica. AES supporta chiavi di diversa lunghezza: 128, 192, 256 bit; in realta icrittografi pensano che delle chiavi a 128 bit sia assolutamente adeguate perfornire una sicurezza adeguata per applicazioni commerciali o governativeper qualche decennio, quindi il supporto per le chiavi a 192 e 256 bit vienevisto piu come una garanzia per il futuro piuttosto che una reale necessita.

Un block cipher lavora su delle stringhe di bit di lunghezza prefissata, adifferenza degli stream cipher, come RC4, che trasformano un singolo byteper volta. Il numero di bit utilizzati prende il nome di block size, AES usablocchi di 128 bit (16 byte). Nel caso un dato che deve essere elaboratodal block cipher non sia un multiplo del block size, allora al dato vengonoaggiunti tanti byte quanti necessari per raggiungere una dimensione multipladel block size.

Per utilizzare il block cipher bisogna fornirgli un cosidetto mode of ope-ration, che non e altro che una sorta di “ricetta” che spiega come utilizzareil block cipher. Alcuni esempi sono: ECB (Electronic CodeBook mode),CTR (Counter mode), CBC (Cipher-Block Chaining mode), OCB (OffsetCodeBook) [32].

Page 36: Sicurezza delle reti 802.11

Capitolo 2 31

ECB. ECB e un modo piuttosto ingenuo per utilizzare il block cipher. Ilmessaggio M viene spezzato in blocchi e ciascun blocco M1,M2 . . . Mn vienecodificato con la chiave k:

for i = 1 to n doCi ← Ek(Mi)

I blocchi risultanti C1,C2 . . . Cn sono i blocchi crittati. Il processo di decodi-fica avviene nello stesso modo:

for i = 1 to n doCi ← Dk(Mi)

Come si puo immaginare il modello ECB e piuttosto insicuro su messaggiche ripetono gli stessi dati; infatti se prendiamo due messaggi M e N e licodifichiamo con ECB se abbiamo che E(M) = E(N) allora si puo dedurreche anche M = N e questo puo essere molto utile ad un attaccante che vuoleforzare i dati crittati.

CTR. CTR utilizza un contatore ausiliario, che incrementa ad ogni itera-zione. Il funzionamento di CTR puo essere schematizzato come segue:

when k is assigned , set counter ← 0for each messaggeM = M1 M2 . . . Mn

initial counter ← counterfor i = 1 to n do Ci ← Mi � Ek(counter) , counter ← counter + 1

encrypted messagge = initial counter C1, C2 . . . Cn

Come si puo notare il ciphertext si ottiene dallo XOR del contatore crittatocon la chiave k e del blocco del messaggio Mi. Va fatto notare che la fasedi codifica aggiunge in cima al blocco crittato Ci il contatore per crittare ilblocco di testo (initial counter); in questo modo nella fase di decodifica sipuo risalire al contatore corretto per effettuare la decodifica. La decofica puoessere schematizzata come segue:

for an encrypted messaggeC = initial counter C1 C2 . . . Cn

counter ← initial counterfor i = 1 to n do Mi ← Ci � Ek(counter) , counter ← counter + 1

decrypted messagge = M1, M2 . . . Mn

Come si puo notare la fase di decodifica avviene nello stesso modo della fasedi codifica e questo rende l’implementazione di CTR piu economica dato chee sufficiente un solo cipher. Questa soluzione va abbinata ad un supportoesterno che permetta un refresh continuo delle chiavi dato che nel caso lostesso contatore sia utilizzato con la medesima chiave tutto il protocollofallirebbe.

Page 37: Sicurezza delle reti 802.11

32 Capitolo 2

CBC. CBC e il block cipher piu diffuso tra i tre. CBC utilizza un vet-tore di inizializzazione, IV, scelto in modo casuale (random); per prevenireil problema che si ha con ECB. Il processo di codifica di CBC puo essereschematizzato come segue:

for each messaggeM = M1 M2 . . . Mn

IV ← randomly selected valueinitial IV ← IVfor i = 1 to n do Ci ← Ek(Mi � IV ) , IV ← Ci

encrypted messagge = initial IV C1, C2 . . . Cn

Come si puo notare ad ogni messaggio Mi viene associato tramite lo XORil valore random IV per evitare che due messaggi uguali generino lo stessociphertext. Inoltre va fatto notare che il ciphertext Ci diventa il nuovo vettoreIV. Come nel caso di CTR anche CBC prepone al messaggio crittato il valoreiniziale di IV per permettere alla fase di decodifica di utilizzare il vettore IVcorretto. Se la selezione di IV non e random per ogni messaggio CBC falliscenel suo intento di proteggere i dati. Il funzionamento della fase di decoficapuo essere schemattizzato come segue:

for an encrypted messaggeC = initial IV C1 C2 . . . Cn

IV ← initial IVfor i = 1 to n do Mi ← IV � Dk(Ci) , IV ← Ci

decrypted messagge = M1, M2 . . . Mn

Oltre a fornire la privacy dei dati, CBC puo anche calcolare il MIC di unmessaggio per fornire l’autenticazione dei dati. Il funzionamento di CBC-MAC (o CBC-MIC) puo essere schematizzato come segue:

for each messaggeM = M1 M2 . . . Mn

IV ← known IVfor i = 1 to n do MICi ← Ek(Mi � IV ) , IV ← MICi

MIC = MICn

dove known IV indica un valore conosciuto di IV.

OCB. OCB (Offset CodeBook) e un modo operativo di AES inventato daPhil Rogaway [33].

OCB come CBC fornisce sia l’autenticazione che la privacy dei dati usan-do un singolo passaggio e con una sola chiave. Il nome di questa modalitaoperativa prende il nome dal valore O = Ek(0

b), dove O indica un vettoredi b bit di zero crittati con la chiave k, che viene chiamato offset. L’off-set rappresenta un valore random che OCB utilizza per generare i valori di

Page 38: Sicurezza delle reti 802.11

Capitolo 2 33

O1,O2. . .On. OCB utilizza un nonce invece di un vettore IV o di un contatoreper randomizzare l’operazione di codifica. Il none e un valore casuale che vie-ne utilizzato una sola volta con la stessa chiave. Se N indica il nonce per unmessaggio M = M1 M2 . . . Mn allora OCB crittera l’i-esimo messaggio Mi,come segue: Mi = Ek(Mi � Oi � N) � Oi � N . Il calcolo del MIC avvieneinvece nel seguente modo: MIC = Ek(Mi � . . . Mn � Yn � On+1 � N).

2.3.2.1 Incapsulazione di 802.11i basata su AES

IEEE TGi ha ricevuto due proposte per creare una soluzione a lungo termineper la sicurezza delle WLAN basate su AES. Entrambe le soluzioni soddi-sfano le richieste di progettazione ed entrambe forniscono un’ottimo livellodi sicurezza. L’unico inconveniente, tuttavia era previsto fin dall’inizio dellaprogettazione di questo nuovo protocollo di sicurezza, e che sara necessariocreare nuovi AP e nuovi dispositivi wireless per creare una WLAN basatasu AES. Queste due soluzioni sono conosciute con il nome di: AES-CCM eAES-OCB. Nella versione finale di IEEE 802.11i e stata inclusa solamente lasoluzione AES-CCM, probabilmente a causa dei brevetti che coprivano OCB.

Incapsulazione AES-CCM. Il protocollo AES-CCM e basato su CTR perfornire la privacy dei dati e su CBC-MAC per fornirne l’autenticazione. Laprogettazione di AES-CCM e stata eseguita da Ferguson, Housley, Stanley,e Whiting [34, 35].

AES-CCM rischiede due variabili di stato. La prima e costituita da unachiave, chiamata AES-key, che viene utilizzata sia per crittare i dati sia percalcolarne il MIC. In generale utilizzare la stessa chiave per due funzioni dif-ferenti e considerata una pratica discutibile, tuttavia Jacob Jonsson dei RSALabs ha provato che utilizzare la stessa chiave per CTR e CBC-MAC non creaproblemi, e tutto funziona in maniera ottimale. La seconda variabile di statoe costituita da un contatore sequenziale di pacchetto di 48 bit. AES-CCMutilizza il contatore sequenziale di pacchetto per costruire sia il contatore perCTR sia il vettore IV per CBC-MAC. Il vettore IV di CBC-MAC e il con-tatore di CTR vengono cotruiti concatenando il MAC Address, il contatoresequenziale di pacchetto, 16 bit del contatore di frammenti per pacchetto, e16 bit di altri dati che servono per distinguere IV dal contatore CTR. I 16bit del contatore di frammenti per pacchetto permettono la frammentazionedei frame MPDU.

AES-CCM incapsula i frammenti 802.11, MPDU, il processo di incapsu-lamento avviene in quattro passi:

• come prima cosa viene creato il contatore CTR e il vettore IV per CBC-

Page 39: Sicurezza delle reti 802.11

34 Capitolo 2

MAC dal contatore sequenziale di pacchetto, e viene incrementato diuno.

• viene utilizzala la AES-key e il IV di CBC-MAC per calcolare il MIC,inglobando l’indirizzo sorgente e destinazione del frame, il traffico QoS,la lunghezza dei dati, e infine i dati del MPDU. Il valore del MICottenuto viene troncato a 64 bit e concatenato ai dati del MPDU.

• viene utilizzata la AES-key e il contatore CTR per crittare i dati delMPDU utilizzando CTR, includendo anche i 64 bit del MIC calcolatoprecedentemente.

• una volta completata la protezione del MPDU viene inserito il valoredel contatore sequenziale di pacchetto tra l’header del frame 802.11 e idati crittati.

Il processo di decapsulamento avviene nei seguenti tre passi:

• come prima cosa si estrae il contatore sequenziale di pacchetto dalMPDU. Se il suo valore e gia stato ricevuto con la corrente AES-keyallora viene considerato un replay, e droppato. Altrimenti si procedecon la costruzione del contatore CTR e del vettore IV di CBC-MACdal contatore sequenziale di pacchetto ricevuto.

• ora CTR decritta il contenuto dei dati utilizzato la chiave AES-key eil contatore CTR.

• infine viene ricalcolato il MIC tamite la AES-key e il vettore IV, tron-cato a 64 bit, e comparato con il MIC ricevuto nel MPDU. Se i duevalori del MIC sono differenti il pacchetto viene considerato un falso escartato, altrimenti viene considerato buono.

Quando AES-CCM viene utilizzato con uno schema di gestione delle chia-vi e facile notare che soddisfa pienamente i requisiti di progettazione. Infattiabbiamo che il MIC testa la falsificazione dei pacchetti in modo impeccabile, ilcontatore sequenziale di pacchetto protegge il protocollo da attacchi di tiporeplay. Inoltre MIC protegge anche l’indirizzo sorgente e destinazione deipacchetti prevenendone la modifica. Lo schema non riutilizza mai lo stessoIV o il contatore CTR con la stessa chiave. AES-CCM e anche ottimizato dalpunto di vista computazionale dato che utilizza AES, che al momento e lamigliore base crittografica che esista e va anche considerato il fatto che CTRe CBC-MAC possono essere implementati efficientemente anche via software.

Page 40: Sicurezza delle reti 802.11

Capitolo 2 35

Incapsulazione AES-OCB. Il protocollo AES-OCB e basato su OCB perfornire la privacy e l’autenticazione. La progettazione di AES-OCB e stataeffettuata da Can-Winget e da Walker.

Come AES-CCM, AES-OCB utilizza due variabili di stato; la prima ecostituita dalla chiave AES-key, che viene utilizzata sia per l’incapsulamentoche per il decapsulamento dei dati. La seconda variabile di stato e un conta-tore sequenziale di pacchetto di 28 bit. AES-OCB usa questo contatore percreare il nonce OCB, costruito concatenando il MAC Address della stazioneche invia i dati, il traffico QoS, e il contatore sequenziale di pacchetto.

L’incapsulamento di AES-OCB lavora sui frame 802.11 interi, MSDU, edavviene in tre passi:

• come prima cosa viene creato il nonce OCB e il contatore sequenzialedi pacchetto, e viene incrementato di uno.

• viene utilizzala la AES-key e il nonce OCB per crittare i dati del MSDU,e inoltre viene calcolato e troncato a 64 bit il MIC.

• una volta completata la protezione del MSDU viene inserito il valoredel contatore sequenziale di pacchetto tra l’header del frame 802.11 e idati crittati.

Il processo di decapsulamento avviene nei seguenti due passi:

• come prima cosa si estrae il contatore sequenziale di pacchetto dalMSDU. Se il suo valore e gia stato ricevuto con la corrente AES-keyallora viene considerato un replay, e droppato. Altrimenti si estraeil MAC Address del sorgente e della destinazione, il traffico QoS e siprocede con la creazione del nonce OCB.

• ora OCB decritta l’MSDU con la chiave AES-key. Se il processo didecodifica fallisce il pacchetto viene considerato falsificato e droppatoaltrimenti viene considerato buono.

Dato che OCB utilizza un singolo passo per autenticare e crittare i datile implementazioni di AES-OCB saranno in linea di massima il doppio piuveloci rispetto alle implementazioni di AES-CCM. Per quanto riguarda lasicurezza grazie al teorema di sicurezza di OCB il quale afferma che tutti gliattacchi contro OCB vengono trasformati in attacchi per forzare il cipher diAES; possiamo tranquillamente dire che se AES e considerato sicuro, e AESe considreato sicuro, allora anche AES-OCB e sicuro.

Quando AES-OCB viene utilizzato con uno schema di gestione delle chia-vi e facile notare che soddisfa pienamente i requisiti di progettazione. Infatti

Page 41: Sicurezza delle reti 802.11

36 Capitolo 2

abbiamo che il OCB-MIC rende la falsificazione dei pacchetti computazio-nalmente impensabile; il contatore sequenziale di pacchetto protegge il pro-tocollo da attacchi di tipo replay. Lo schema non riutilizza mai lo stessocontatore sequenziale di pacchetto con la stessa chiave; e i nonce costruitisono tutti unici. AES-OCB e anche ottimizzato al punto di vista computa-zionale dato che utilizza AES, che al momento e la migliore base crittograficache esista e va anche considerato il fatto che OCB puo essere implementatoefficientemente anche via software.

Page 42: Sicurezza delle reti 802.11

Capitolo 3

Sistemi di Protezione Alternativia 802.11

In questo capitolo verranno trattate brevemente delle soluzioni alternative aquelle proposte da IEEE. Verranno trattate sia soluzioni di tipo amministra-tivo sia soluzioni orientate a migliore i protocolli in uso con RSN, e 802.11.

3.1 WPA e WPA2

Lo sforzo congiunto di IEEE e Wi-Fi Alliance1, per soddisfare le richieste dimaggior sicurezza per le WLAN, ha portato alla creazione e alla distribu-zione sul mercato di prodotti wireless piu sicuri, dando vita a WPA [36, 37](Wi-Fi Protected Access). WPA in sostanza non e altro che un sottoinsie-me delle funzionalita che fornisce 802.11i. Uno dei maggiori punti di forzadi WPA e che viene distribuito come aggiornamento software; quindi perusufruire dei benifici in termini di sicurezza non sara necessario cambiarel’hardware in proprio possesso. Oltre a essere compatibile con l’harware giaesistente WPA e stato progettato per essere compatibile con i dispositivi cheimplementeranno il set completo di specifiche di 802.11i (noto come WPA2).

Per fornire la confidenzilita e l’integrita dei dati, totalmente assente inWEP, WPA utilizza TKIP (maggiori dettagli si trovano nella Sezione 2.3.1).

Per quanto riguarda l’autenticazione WPA la distingue in base all’ambien-te in cui deve operare. Per gli ambienti Enterprise viene utilizzata un’auten-ticazione basata su 802.1x e EAP (maggiori dettagli si trovano nella Sezione2.2), pero con l’utilizzo di una mutua autenticazione anche tra l’AP e le sta-

1Wi-Fi Alliance e un’organizzazione internazionale nonprofit creata nel 1999 con lo sco-po di certificare l’interoperabilita dei prodotti destinati alle WLAN basati sullo standardIEEE 802.11.

37

Page 43: Sicurezza delle reti 802.11

38 Capitolo 3

zioni client; in modo tale da prevenire la possibilita che un attaccante possainstallare dei falsi AP all’interno della WLAN. In figura 3.1 ne viene mo-strato un esempio. Invece in ambienti SOHO (Small Office / Home Office)viene utilizzata una soluzione basata su chiavi pre condivise, o per megliodire su password pre condivise (PSK); dato che solitamente in questo tipo diambienti non si ha a disposizione server RADIUS. Va comunque detto cheanche questa soluzione fornisce un buon livello di protezione anche se bisognaconsiderare il fatto che le password negli AP e nelle stazioni vengono inseritein modo manuale, quindi il fattore umano potrebbe minare la sicurezza delprotocollo. Quindi tale soluzione va considerata esclusivamente per reti dimodeste dimensioni. In figura 3.2 ne viene mostrato un esempio.

Figura 3.1: Autenticazione in retiEnterprise

Figura 3.2: Autenticazione in retiSOHO

WPA2 oltre ad utilizzare le tecnologie impiegate in WPA fornira un nuo-vo schema di crittazione basato su AES (maggiori dettagli si possono trovarenella Sezione 2.3.2). Il processo di certificazione dei nuovi dispositivi WPA2ha avuto inizio il 1 Settembre 2004. Gli AP che saranno certificati WPA2 do-vranno supportare sia WPA che WPA2 per rendere la transizione in ambitoEnterprise il piu facile possibile. L’utilizzo di WPA2, a differenza di WPA,comporta un upgrade hardware dato che l’implementazione di AES richiedeprocessori piu potenti rispetto a quelli in uso per crittare i dati utilizzan-do RC4. Va detto che la nascita di WPA2 nasce dall’esigenza delle grandiaziende e agli enti governativi di un livello maggiore di sicurezza rispetto allasoluzione WPA, che rimane comunque una soluzione piuttosto valida in altriambiti.

In definitiva si puo affermare che l’utilizzo di WPA e poi di WPA2 do-vrebbe aver sistemato in modo definitivo i problemi che erano presenti conWEP, fornendo in modo sicuro: autenticazione, integrita e confidenzialitadei dati.

Page 44: Sicurezza delle reti 802.11

Capitolo 3 39

3.2 Virtual Private Networks (VPN)

Forse la soluzione “finale” per la sicurezza delle WLAN e l’impiego delleVPN [24, 38, 20]. Le VPN sono nate per garantire sicura una connessionetra due host su un mezzo di trasporto insicuro come lo e Internet; quindi unaloro applicazione nelle WLAN diventa naturale.

L’utilizzo di una struttura basata su VPN richiede pero un discreto lavorodi installazione e configurazione sia sul lato Server che sul lato Client. Vacomunque considerato il fatto che la maggior parte degli utilizzatori di retiWLAN sono utenti di una certa mobilita e quindi gia abituati all’uso diVPN per collegarsi ai PC remoti della propria azienda, e che molte aziendedispongono gia di VPN e adattarle alle WLAN risulta poco dispendioso intermini di tempo e di strutture necessarie.

Le VPN lavorano formando un tunnel al livello del protocollo IP e hannola caratteristica di fornire un ulteriore livello di crittazione ai dati (rispettoal tradizionale WEP), una robusta autenticazione basata sull’utente e nonsulle macchine, e inoltre fornisce meccanismi di autenticazione del traffico.

3.3 CISCO LEAP

CISCO LEAP supporta una robusta mutua autenticazione tra le stazioniclient e i server RADIUS. LEAP e stato introdotto nella Cisco WirelessSecurity Suite a partire dal Dicembre del 2000 e in sostanza non fa altro chemettere una pezza ai problemi di autenticazione di 802.1x. Inoltre in aggiuntaa questo protocollo CISCO ha sviluppato dei miglioramenti per WEP, comeil messagge integrity check e il per packet keying.

Una cosa molto interessante di LEAP e che supporta il concetto di dy-namic session keys. Sia il server RADIUS, sia le stazioni possono generareindipendentemente le chiavi. Quindi le chiavi non vengono trasmesse tragli host della WLAN mitigando il problema di un attacco di tipo SessionHijack [24].

3.4 Sicurezza a Livello Applicazione e Trasporto

Dato il basso livello di confidenzialita dei dati che si ottiene con WEP unasoluzione per poter rendere sicuro almeno parte del traffico, come ad esempiola posta elettronica, la navigazione su web, l’amministrazione remota deglihost, l’autenticazione, puo essere quella di utilizzare protocolli sicuri a livellipiu alti dello stack TCP/IP [24]. Come ad esempio l’uso di SSL, HTTPS,Kerberos, PGP, S/MIME etc. . .

Page 45: Sicurezza delle reti 802.11

40 Capitolo 3

Page 46: Sicurezza delle reti 802.11

Capitolo 4

Conclusioni

I catastrofici risultati ottenuti con WEP fanno capire come sia difficile proget-tare un framework sicuro, non solo per le WLAN ma per tutte le applicazioniin generale. Anche se va detto che certe scelte progettuali si sarebbero potu-te evitare dati i problemi gia noti che si avevano con quel tipo di tecnologia(riutilizzo del keystream con gli stream cipher, ad esempio). Tuttavia le mo-tivazioni di IEEE per le scelte fatte possono essere attribuite alla necessita diavere qualcosa di semplice e di funzionale, che si potesse implementare conpoche risorse hardware.

Le scelte di IEEE nel caso di WEP si sono rivelate errate e hanno portatonon pochi disagi nell’ambito delle WLAN. Ma bisogna dire che con il lavorodi TGi si e raggiunto un buon, con TKIP, e un ottimo, con AES, livello disicurezza; che permettera sicuramente un piu largo utilizzo delle WLAN inambiti Enterprise e Governativi.

Comunque, continuare o iniziare, ad utilizzare una gamma di prote-zioni aggiuntive a 802.11i e sicuramente buona norma; come lo e evitareassolutamente di utilizzare WEP.

Anche se ora si e raggiunto un buon livello di sicurezza, dal punto di vi-sta della privacy dei dati, dell’integrita e del controllo dell’accesso alle risorsemesse a disposizione da una WLAN, bisogna sempre considerare il fatto chele WLAN sono soggette ad attacchi di tipo Jamming che mirano a metterefuori uso (DoS) una o piu stazioni della rete tramite l’invio di disturbi sullafrequenza radio usata da 802.11. Impedendo cosı agli utilizzatori legittimidelle WLAN l’accesso alle risorse condivise. In sostanza non riusciamo adottenere una sicurezza perimetrale, come avviene nel caso delle LAN; cheuna volta protette all’interno di un edificio sono al sicuro. Quindi bisognaessere consapevoli che l’utilizzo della tecnologia wireless oltre a portare van-taggi porta anche dei pericoli, i quali si possono limitare ma non elimarecompletamente.

41

Page 47: Sicurezza delle reti 802.11

42 Capitolo 4

Nella trattazione manca una sezione dedicata alla sperimentazione praticasu reti Wi-Fi data la mancanza dell’hardware necessario (AP e NetworkAdapters).

Page 48: Sicurezza delle reti 802.11

Bibliografia

[1] Comitato 802.11 di IEEE. Wireless LAN medium access control (MAC)and physical layer (PHY) specification. Technical report, IEEE, 1997.

[2] David Pollino Merritt Maxim. La Sicurezza Delle Reti Wireless. Apogeo,2003.

[3] Gruppo 802.11a di IEEE. ANSI/IEEE std 802.11a. Technical report,IEEE, 1999.

[4] Gruppo 802.11b di IEEE. ANSI/IEEE std 802.11b. Technical report,IEEE, 1999.

[5] Gruppo 802.11f di IEEE. ANSI/IEEE std 802.11f. Technical report,IEEE, 2003.

[6] Gruppo 802.11g di IEEE. ANSI/IEEE std 802.11g. Technical report,IEEE, 2003.

[7] Gruppo 802.11h di IEEE. ANSI/IEEE std 802.11h. Technical report,IEEE, 2003.

[8] Gruppo 802.11i di IEEE. ANSI/IEEE std 802.11i. Technical report,IEEE, 2004.

[9] FIPS PUBS. AES Advanced Encryption Standard. Technical ReportFIPS PUB 197, NIST National Institute of Standard Tecnology, 2001.

[10] Y.C. Justin Wan William A. Arbaugh, Narendar Shankar. Your 802.11Wireless Network has no Clothes. Technical report, 2001.

[11] Matthew Gast. Wireless LAN Security: A Short History. WirelessDevcenter, http://www.oreillynet.com/wireless/, 2002.

[12] Hal Berghel. Wireless Infidelity I: War Driving. Communications of theACM, 47(9), September 2004.

43

Page 49: Sicurezza delle reti 802.11

44 Capitolo 4

[13] S. Kent and R. Atkinson. RFC 2401, Security Architecture for theInternet Protocol (IPSEC). Technical report, IETF, 1998.

[14] T. Dierks and C. Allen. RFC 2246, the TLS Protocl, Version 1.0.Technical report, IETF, 1999.

[15] T. Dierks and C. Allen. RFC 2818, HTTP Over TLS. Technical report,IETF, 2000.

[16] A. Beck. Netscape’s export SSL broken by 120 workstation and onestudent. HPCwire, August 1995.

[17] D. Doligez. SSL challenge virtual press conference. 1995.http://pauillac.inria.fr/ doligez/ssl/press-conf.html.

[18] R. L. Rivest. The RC4 Algorithm (proprietary). Technical report, RSAData Security, 1992.

[19] B. Schneier. Applied Cryptography: Protocols, Algorithms and SourceCode in C. John Wiley and Sons, 1996.

[20] I. Goldberg N. Borisov and D. Wagner. Intercepting MobileCommunications: the insecurity of 802.11. Technical report.

[21] Jess R. Walker. Unsafe at any key size; An Analysis of WEPencapsulation. Technical report, 2000.

[22] Jess R. Walker. Overview of 802.11 Security. Technical report, 2001.

[23] Jess R. Walker. 802.11 Key Management Series: Part I: key managementfor WEP and TKIP. Technical report, INTEL.

[24] Yasir Zahur and T. Andrew Yang. Wireless LAN Security andLaboratory Designs. Technical report.

[25] Comitato 802.11 di IEEE. Standard for port based network accesscontrol (802.1x). Technical report, IEEE, 2001.

[26] A. Mishra and W. A. Arbaugh. An Initial Security Aanalysis of the IEEE802.1x Standard. Technical report, University Of Maryland, 2002.

[27] L. Blunk and J. Vollbrecht. RFC 2284 PPP Extensible AuthenticationProtocol (EAP). Technical report, 1998.

[28] C. Rigney etc. RFC 2138 Remote Authentication Dial-In User Service(RADIUS). Technical report, 1997.

Page 50: Sicurezza delle reti 802.11

45 Sicurezza delle reti 802.11

[29] Jess R. Walker. 802.11 Security Series: Part II: the Temporal KeyIntegrity Protocol TKIP. Technical report, INTEL.

[30] N. Ferguson. Michael an improved MIC for 802.11 WEP. Technicalreport, IEEE, 2002.

[31] D. Stanley. IV Sequencing Requirements Summary. Technical report,IEEE, 2002.

[32] Jess R. Walker. 802.11 Security Series: Part III: AES-basedEncapsulations of 802.11 Data. Technical report, INTEL.

[33] P. Rogaway M. Bellare J. Black and T. Krovetz. OCB Mode. Technicalreport, University Of California, 2001.

[34] D. Whiting R. Housley and N. Ferguson. AES Encryption and Au-thentication using CTR Mode and CBC-MAC. Technical report, IEEE,2002.

[35] Letanche and D. Stanley. Proposed TGi D1.9 Clause 8 AES-CTR CBC-MAC (CCM) text. Technical report, IEEE, 2002.

[36] Wi-Fi Alliance. Overview Wi-Fi Protected Access.

[37] Wi-Fi Alliance. Wi-Fi Protected Access: strong, standard-based,interoperable security for today’s Wi-Fi netowrks. 2003.

[38] Soumendra Nanda. How Johnny can hack your WEP protected 802.11bnetwork. Technical report.