Le reti LAN, Analisi sulla sicurezza dei sistemi wireless

Transcript

Le reti LAN, Analisi sulla sicurezza dei sistemi wireless
UNIVERSITA' DEGLI STUDI DI CAGLIARI
Facoltà di Scienze MM. FF. NN.
Corso di Laurea in Informatica
Le reti LAN:
Analisi sulla sicurezza dei sistemi Wireless
Corsi di Reti di calcolatori e Progettazione Sistemi Distribuiti
A.A. 2006/2007
Docente: Prof. Gianni Fenu
Tutor:
Dott. Alessandro De Agostini
Tipologia Tesina: C
Studenti: Andrea Loi
39993
Giacomo Piseddu 39905
Michele Corrias 39868
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Indice
Introduzione …………………………………………………… 7
Il Wireless ………………………………………………………………………….. 8
Problematiche del Wireless ………………………………………………………... 9
Soluzioni in un guscio di noce ……………………………………………………... 11
Capitolo 1 - La tecnologia Wireless LAN 802.11………………13
I tipi di apparati ………………………………………………………………….... 14
Le modalità del funzionamento …………………………………………………… 15
Gli standard in dettaglio …………………………………………………………... 17
802.11a …………………………………………………………………………… 17
802.11b …………………………………………………………………………… 17
802.11d …………………………………………………………………………… 18
802.11e …………………………………………………………………………… 18
802.11f …………………………………………………………………………… 18
802.11g …………………………………………………………………………… 18
802.11h …………………………………………………………………………… 18
802.11i ……………………………………………………………………………. 19
802.11n …………………………………………………………………………… 19
La pila di protocolli 802.11 ………………………………………………………... 19
Lo strato fisico 802.11 ……………………………………………………………... 20
2
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Capitolo 2 - Il sottostrato MAC 802.11…………………………23
MAC Frame 802.11 ………………………………………………………………… 25
Formato Generale ……………………………………………………………….. 25
Frame Control …………………………………………………………………… 25
Duration/ID ……………………………………………………………………… 28
Address …………………………………………………………………………… 29
Sequence Control ………………………………………………………………… 30
QoS Control ……………………………………………………………………… 31
Frame Body………………………………………………………………………. 32
FCS ……………………………………………………………………………….. 33
Capitolo 3 - Meccanismi di Difesa ……………………………..34
Algoritmi di Cifratura ……………………………………………………………... 34
MAC Filtering e IP Filtering ……………………………………………………… 36
Proxy ……………………………………………………………………………….. 37
PPPoE ………....………..………..………..………..………..………..………….. 38
VPN ………..…………..………..………..………..………..………..………..….. 39
Regole di Base ………..……….…..………..………..………..………..…………. 40
Cambiare gli SSID di default …………………………………………………… 40
Utilizzare SSID non descrittivi …………………………………………………. 40
Disabilitare il broadcast SSID ………………………………………………….. 40
Cambiare le Password …………………………………………………………… 41
Aggiornare il Firmware …………………………………………………………..41
Minimizzare l‟intensità del segnale ………………………………………………41
Cambiare le Community di default SNMP ……………………………………... 41
Limitare il traffico di broadcast ………………………………………………… 41
Protezione del Client …………………………………………………………….. 42
Non utilizzare il DHCP …………………………………………………………. 42
Uso di una VLAN separata …………………………………………………….. 42
3
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Capitolo 4 - WEP (Wired Equivalence Protocol) ……………..43
Formato MPDU …………………………………………………………………… 43
Chiavi di Cifratura …………………………………………………………………. 44
Algoritmi di Cifratura ……………………………………………………………... 44
RC4 …………………………………………………………………….………… 45
Key Scheduling Algorithm ……………………………………………………… 45
Pseudo Random Generation Algorithm ………………………………………... 45
Implementazione RC4 …………………………………………………………... 46
Costruzione del Seme ………………………………………………………………. 46
Incapsulamento crittografico di una MPDU …………………………………….. 47
Scapsulamento di una MPDU …………………………………………………….. 47
Vulnerabilità dell‟algoritmo WEP ………………………………………………... 48
IV Collision ………………………………………………………………………. 49
WEP Key Recovery …………………………………………………………….. 49
L'attacco di Fluhrer, Mantin e Shamir …………………………………………. 50
L‟attacco di Klein ……………………………………………………………….. 52
L'attacco di Tews, Weinmann e Pyshkin ………………………………………. 54
Incrementare il traffico dei pacchetti utilizzati ………………………………… 55
Conclusione dell‟analisi WEP ……………………………………………………... 56
Capitolo 5 - WPA (Wi-Fi Protected Access) ………………….57
TKIP ………………………………………………………………………………. 57
Formato MPDU …………………………………………………………………… 58
Incapsulamento crittografico di una MPDU …………………………………….. 59
Scapsulamento di una MPDU ………………………….…………………………. 60
Message Integrity Check (MIC) …………………………………………………… 61
MIC nel dettaglio ………………………………………………………………… 62
Vulnerabilità del WPA ……………………………………………………………..63
4
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Capitolo 6 - WPA2 ……………………………………………..65
CCMP - Counter Mode with CBC-MAC Protocol ………………………………… 66
Formato MPDU …………………………………………………………………… 66
Incapsulamento crittografico di una MPDU …………………………………...... 67
Scapsulamento di una MPDU ………………….…………………………………. 67
Vulnerabilità del WPA2 …………………………………………………………… 68
Capitolo 7 - MAC Filtering ….…………………………………70
Funzionamento …………………………………………………………………….. 70
Vulnerabilità del MAC Filtering …………………………………………………...71
Capitolo 8 - IP Filtering ………………………………………..72
Funzionamento …………………………………………………………………….. 72
Vulnerabilità dell‟IP Filtering …………………………………………………….. 73
IP Address Spoofing …………………………………………………………….. 74
Capitolo 9 - Proxy ……………….……………………………..75
Tipologie di Proxy …………………………………………………………………. 75
L‟uso del Proxy in ambito wireless ………………………………………………,. 76
Vulnerabilità dei Proxy applicativi ………………………………………………..77
Hostname: localhost …………………………………………………………….. 77
Accesso non autenticato al Proxy ….…………………………………………… 77
Capitolo 10 - PPPoE (Point-to-Point Protocol over Ethernet)..78
L‟uso del PPPoE in ambito wireless ……………………………………………… 78
5
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Crittografia ………………………………………………………………………… 79
Capitolo 11 - VPN (Virtual Private Network) …………………81
Sicurezza …………………………………………………………………………… 82
IPSec (IP Security Protocol) ……………………………………………………… 83
Scambio delle chiavi …………………………………………………………….. 85
Protezione del Client …………………………………………………………….. 86
Hacking delle VPN ………………………………………………………………… 87
Microsoft PPTP …………………………………………………………………. 87
Analisi Pratica di IPSec ………………………………………………………… 88
Bibliografia ……………………………………………………90
6
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Introduzione
Il XX secolo è stato un secolo nel quale la comunicazione e l‟informazione, e quindi
una sua raccolta, elaborazione, condivisione e distribuzione, hanno giocato un ruolo
fondamentale in ogni campo. Dalla stampa alla posta, dalla radio alla televisione,
dal codice morse al telefono; è nata una corsa alla condivisione ed alla ricerca di informazione, che rende l‟essere umano partecipe della vita sociale. Altresì, col passare
degli anni e grazie un rapido progresso tecnologico, l‟informazione si è avvalsa di
numerose tecnologie di comunicazione per potersi diffondere dappertutto e il più velocemente possibile.
Siamo raggiunti ovunque dall‟informazione, e, quel che più è importante, è che vogliamo essere raggiunti: segnali luminosi, carta, onde radio, televisione, telefono fissi
e mobili, reti di computer. Peggio. La cerchiamo: quando siamo in vacanza, al lavoro, o più generalmente, fuori casa, sentiamo la necessità di avere con noi giornali,
mezzi di comunicazione quali telefoni cellulari o fissi, televisione, notebook. Vogliamo raggiungere, essere raggiunti in qualsiasi momento e luogo, abbattendo le barriere della distanza e del tempo con qualsiasi mezzo.
Una chiamata, una connessione ad internet, uno scambio di file, sono diventate azioni quotidiane, quasi indispensabili, ed il fatto di poterle effettuare nella più completa mobilità rappresenta una comodità, un vantaggio, un risparmio economico,
talvolta addirittura una necessità.
Ma è soprattutto la mobilità nell‟ultimo tratto, quel tratto che separano l‟utente e
l‟apparecchio dal mezzo tramite il quale si vuole comunicare, l‟essere svincolati dai
cavi, che ci attirano terribilmente.
Si pensi al vantaggio economico: sparisce la necessità dei cavi, almeno nell‟ultimo
tratto, quello che raggiunge l‟utente, con le aziende che non devono provvedere ad
una massiccia stesura di cavi. Ma anche alla comodità: meno ingombro, il non dover
cercare una presa telefonica. E alle necessità: si pensi a zone per le quali la stesura di
cavi risulta alquanto difficoltosa o eccessivamente onerosa in termini economici da
doverci rinunciare.
La realtà di una trasmissione dati senza fili, o meglio segnali o impulsi, non è recentissima. Dapprima con Guglielmo Marconi, agli inizi del 1900, con la comunicazione
senza fili con l‟utilizzo del codice Morse, poi con la radio per la trasmissione di messaggi sonori.
Per arrivare a più di cinquanta anni fa durante la Seconda Guerra Mondiale, quando
l'esercito degli Stati Uniti utilizzò per primo i segnali radio per la trasmissione dati.
7
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Svilupparono una tecnologia di radiotrasmissione dei dati, pesantemente criptata,
ampiamente utilizzata durante le operazioni belliche dagli Stati Uniti e dai loro alleati.
Questo ispirò un gruppo di ricercatori che nel 1971, presso l'Università delle Hawaii,
crearono la prima rete di comunicazioni radio a pacchetto. ALOHANET, questo era
il suo nome, fu essenzialmente la prima Wireless Local Area Network (WLAN). La
prima WLAN era costituita da 7 computers che comunicavano bidirezionalmente in
una topologia a stella che si estendeva su quattro delle isole Hawaii con il computer
centrale installato su l'isola Oahu. Così nacque il wireless networking.
Tuttavia, la tecnologia e le conoscenze del periodo non permettevano ai collegamenti
wireless una buona resa dal punto di vista delle prestazioni rispetto alle già collaudate LAN cablate che fino agli anni 90 dominavano il mercato del networking. Al giorno d‟oggi e, più precisamente, in questi ultimi dieci anni, l‟abbattimento dei costi, lo
sviluppo della tecnologia e l‟introduzione degli standard hanno permesso alla tecnologia senza fili di poter competere con le reti cablate, se non addirittura risultare una
prima scelta in alcuni casi.
Si può osservare meglio nei campus universitari, nelle aziende pubbliche e private,
negli uffici ed in ambito domestico: in tutto questo la tecnologia sta migliorando e
diventa sempre più semplice e meno costoso per le compagnie utilizzare il wireless.
Ora si potrebbe pensare che siamo ancora legati ai cavi per quanto riguarda
l‟alimentazione dei dispositivi elettronici, ma possiamo considerare il fatto che si è
già al lavoro per l‟alimentazione wireless.
Il Wireless
Col termine "wireless" ci si riferisce a una tipologia di comunicazione, monitoraggio e
sistemi di controllo tra dispositivi elettronici in cui i segnali viaggiano nello spazio,
in totale assenza di fili o cavi tra i due capi della trasmissione. È in contrapposizione
col termine "wired", che sta appunto ad indicare una comunicazione cablata.
In un sistema wireless la trasmissione avviene principalmente tramite modalità: via
radiofrequenza (RF), via infrarosso (IR) o via laser.
Il primo sistema adotta la tecnologia delle onde radio a bassa frequenza (sull‟ordine
dei pochi GHz), che permette la connessione tra dispositivi dislocati in ambienti eterogenei, senza che le postazioni da interconnettere siano necessariamente visibili tra
di esse e che possono essere separate da muri o intercapedini.
Il secondo sistema adotta la tecnologia delle onde infrarosse a frequenza più alta rispetto al sistema precedente (poche centinaia di THz) è perciò più direzionali delle
prime: infatti non sono in grado di superare ostacoli solidi, vengono utilizzate per
collegare dispositivi visibili direttamente e per questo sono poco impiegate in questo
campo.
8
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Il terzo sistema, basato su laser, viene utilizzato per la sua elevata velocità di trasmissione. Un tipico esempio è il collegamento delle reti di due edifici vicini. Il laser
ha il problema di essere altamente direzionale e sensibile alle condizioni esterne e alle
vibrazioni: anche queste tipologie di dispositivi sono considerati in disuso e quasi
sempre sostituiti da collegamenti via onde radio.
Oltre alla tecnologia di cui fanno uso, le reti wireless possono essere raggruppate in
tre grandi categorie, in base alla distanza tra i dispositivi e, quindi, all‟utilizzo cui
verranno dedicate:
1)
2)
3)
Connessioni all‟interno di un sistema;
LAN Wireless;
WAN Wireless;
Le connessioni all‟interno di un sistema coinvolgono il collegamento delle periferiche
di un computer, quali mouse, tastiere o telefoni cellulari, tramite segnali radio a bassa portata che non necessitano di un‟alta velocità di trasmissione dati, chiamata
Bluetooth (si pensi che il dattilografo più veloce al mondo riesce a battere 212 parole
al minuto con una tastiera DVORAK, circa 20 byte al secondo, che difficilmente
congestioneranno una connessione bluetooth).
La topologia di connessione WAN Wireless è invece utilizzata nei sistemi su area estesa, come ad esempio le reti radio a banda stretta (GSM e il più recente GPRS) utilizzate dai telefoni cellulari, oppure le più recenti reti wireless a banda larga e copertura estesa per la quale è nato lo standard IEEE 802.16. In questo caso, la distanza
del collegamento è misurata in chilometri.
Per finire, l‟altra tipologia di connessione sono le reti LAN Wireless, dove ogni computer è dotato di un modem radio e un‟antenna che gli permettono di comunicare
con gli altri sistemi, in un raggio di circa 100 metri outdoor, in una configurazione
chiamata peer-to-peer. Tuttavia è spesso presente un‟antenna nel soffitto con la quale i computer dialogano tra loro in una configurazione chiamata a stella. Esiste uno
standard per le LAN Wireless, chiamato IEEE 802.11, estremamente diffuso e che
costituirà argomento principale di questa breve trattazione.
Problematiche del Wireless
Come già accennato, esistono diverse metodologie di trasmissione dati via etere, quali ad esempio il GPRS, Bluetooth e 802.11, detta anche Wireless Ethernet o Wi-Fi
(Wireless Fidelity). La diffusione di quest'ultima sta aumentando notevolmente negli
ultimi anni presso le aziende e utenze private, data la facilità di installazione, le sue
prestazioni (11Mbps o 54Mbps) e la sua flessibilità con costi ridotti.
Ad una serie di agevolazioni che il wireless ha portato con se e delle quali abbiamo
già parlato, hanno però seguito una serie di problematiche e di rischi altissimi per la
violazione della privacy domestica ed aziendale, con potenziali danni socio-economici
per gli utenti, siano essi privato o aziende. Alcuni di questi rischi esistono anche nelle
9
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
reti di tipo tradizionale, ma vengono tuttavia esasperati dalla tipologia di collegamento senza fili.
Con l'avvento delle tecnologie senza fili si sono presentate problematiche sulla sicurezza che prima erano impensabili, sono state introdotte vulnerabilità a livello fisico
e DataLink, che prima erano demandate alla responsabilità di sicurezza fisica, dove
l‟intrusione nella rete corrispondeva ad un‟intrusione reale, fisica. Dieci anni fa una
rete locale non collegata ad Internet blindata in una stanza era decisamente sicura
dal punto di vista della sicurezza informatica. Oggi invece, se si volesse realizzare
una rete locale non collegata ad Internet usando il wireless ed avere la stessa sicurezza, bisognerebbe piombare le pareti.
Questo perché la trasmissione attraverso onde radio non è confinabile ad uno spazio
ben definito, quale può essere quello della trasmissione via cavo: come per l'ascolto di
una radio, è possibile per un potenziale intruso avvicinarsi all'esterno del palazzo e
"captare" le onde radio. Così, attraverso appositi strumenti, è possibile visualizzare i
dati che vengono ricevuti e inviati, rendendo disponibile all'eventuale intruso preziose informazioni quali utenze e password, e, in alcune situazioni, addirittura accedere
ai database e corrompere i dati.
Un altro fattore di rischio molto importante, ma spesso sottovalutato, è che un eventuale intruso non abbia nessun interesse a prendere informazioni sulla rete attaccata, ma voglia utilizzare la rete vittima come "ponte" per attaccare una terza entità. L'intruso sarà solito usare il "ponte" per offuscare le proprie tracce: da un punto
di vista puramente giuridico, l'amministratore della rete wireless violata sarà formalmente responsabile dell'atto di pirateria informatica nei confronti della terza entità, fino a quando le autorità giudiziali non troveranno prova dell'avvenuta intrusione.
È nato addirittura un novo sport, il "wardriving"; si prende un portatile con una
scheda di rete Wi-Fi e si passeggia a piedi o in auto alla ricerca di reti non protette,
per usare gratuitamente una connessione ad internet o per violare la privacy di qualche malcapitato.
Ancor prima che nascessero questi problemi sulla sicurezza, si sono dovuti affrontare
i problemi intrinseci alla natura stessa dei dispositivi wireless, inesistenti per le ormai
collaudate reti 802.3. Il wireless soffre di una maggior attenuazione del segnale rispetto alle reti cablate, specialmente in ambienti chiusi, dove si aggiunge il problema
della propagazione del segnale su percorsi multipli (Multipath Fading). Inoltre le reti
wireless usano frequenze standard (ad esempio i 2.4 Ghz) che sono condivise da altri
dispositivi come telefoni cordless o forni a microonde, che creano delle interferenze,
andando ad disturbare la trasmissione.
Altri problemi possono essere la potenza dei dispositivi, che dev‟essere tale da non
dover nuocere alla salute umana, e l‟assegnazione di certe bande di frequenza in una
porzione dello spettro elettromagnetico ormai sovraffollato. Ultimo ma non per importanza, il problema della gestione dell‟energia (Power Management) di cui necessi-
10
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
tano gli apparecchi a batterie, come ad esempio portatili e palmari, che vedono ridursi la loro autonomia.
Tutte queste problematiche appena elencate rendono la comunicazione wireless (anche punto-punto fra due soli utenti) molto più complessa, anche dal punto di vista
della ricerca di compromessi tra le varie problematiche.
Soluzioni in un guscio di noce
Già da subito, quindi contestualmente alla nascita dello standard 802.11, si è cercato
di eliminare, o perlomeno limitare, le problematiche di sicurezza legate alla trasmissione wireless. Attraverso l‟introduzione di un protocollo di sicurezza chiamato WEP
(Wired Equivalent Privacy) si è cercato di eliminare il problema alla radice; si è
dunque cercato di criptare le informazioni che viaggiano tra due nodi, in modo da
rendere inutili i le informazioni captate da un terzo apparecchio non provvisto di una
chiave di decrittazione.
Tuttavia questo protocollo rivelò già da subito quali fossero le sue gravi debolezze,
che verranno discusse nei seguenti paragrafi, risultando quindi pressoché inutile in
quanto facilmente aggirabile.
Per ovviare alle gravi lacune del protocollo WEP, venne introdotto dapprima il più
robusto protocollo WPA e, più recentemente, una sua evoluzione chiamata WPA2.
Anche questi protocolli, anche se hanno eliminato buona parte dei gravi ed evidenti
problemi che affliggono il WEP, non sono perfetti e anch‟essi presentano delle vulnerabilità, anche se molto meno evidenti e gravi.
In questa tesina verranno esaminati sotto ogni aspetto i protocolli di sicurezza introdotti come soluzione ai problemi sopracitati.
Questi protocolli sono:
-
WEP (Wired Equivalent Privacy);
WPA (Wi-Fi Protected Access);
WPA2.
Verranno inoltre esaminate le relative vulnerabilità di ogni protocollo.
A questi principali protocolli di sicurezza è bene affiancare una serie di regole tecniche e di configurazione di base affinché la sicurezza risulti la più elevata possibile e
con la consapevolezza che non possa raggiungere il livello del 100%. Infatti, una corretta configurazione degli apparati è un buon inizio per proteggere la rete wireless.
Grazie ad alcuni accorgimenti, è possibile "sviare" un eventuale intruso nascondendo
dettagli preziosi e rendendo più difficile l'identificazione della rete su cui si sta collegando.
Ad esempio, si può iniziare cambiando gli SSID (Service Set Identifier) di default
senza usare nomi descrittivi, con l‟intento di scoraggiare degli intrusi, disabilitare il
11
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
broadcast SSID, cambiare spesso le password, abilitare il MAC Filtering, spegnere
l‟AP quando non serve e tanti altri semplici accorgimenti.
Oltre a risolvere le problematiche legate alla sicurezza, si è cercato sin dall‟inizio di
rendere più efficienti i dispositivi wireless dal punto dell‟efficienza, quindi della velocità e del consumo energetico, implementando nuovi metodi di modulazione del segnale e utilizzando altre frequenze, che si sono imposti a seguito dell‟introduzione
degli standard da parte dei comitati di standardizzazione.
12
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Capitolo 1
La tecnologia Wireless LAN 802.11
Sin dall‟inizio degli anni „90 svariate aziende iniziarono a lavorare per cercare di introdurre delle nuove tecnologie per le reti wireless, con l‟intento di imporre ognuna la
supremazia sull‟altra e di aggiudicarsi la più ampia fetta di quel mercato che di lì a
poco si sarebbe espanso a vista d‟occhio.
Il problema principale stava nel fatto che queste reti risultavano incompatibili tra
loro. La proliferazione degli standard significava che un computer equipaggiato con
una scheda radio di marca X non poteva funzionare in una stanza equipaggiata con
una stazione base di marca Y.
Di fronte a queste problematiche sorse la necessità della creazione di uno standard
per le reti LAN senza fili, quindi venne dato il compito di progettare uno standard
LAN wireless al comitato IEEE che aveva standardizzato le LAN cablate. Nel 1997
lo standard così realizzato venne battezzato 802.11, chiamato anche, informalmente,
Wi-Fi (dal nome di una associazione di costruttori che lo promuove e verifica la inter-operabilità dei prodotti).
Questo primo standard raggiungeva velocità di 1Mbps e 2Mbps e, a causa di questa
ridotta velocità che non poteva tener testa all‟ormai consolidata LAN wired 802.3, si
lavorò per l‟introduzione di standard più veloci.
Già nel 1999 nel comitato iniziale si verificò una divisione che determinò la proposta
di due nuovi standard: 802.11a e 802.11b, operanti a frequenze e velocità differenti, e
comunque a velocità superiori rispetto all‟originale 802.11. Successivamente venne
proposta un‟altra variante, chiamata 802.11g, che ingloba alcune caratteristiche di
802.11a e altre di 802.11b. Altri standard nacquero in seguito, quali l‟802.11c/d/e/f/h
che riguardano estensioni dei servizi base e miglioramenti di servizi già disponibili. Il
protocollo per la sicurezza venne incluso in uno standard a parte, l‟802.11i.
Nonostante questa standardizzazione voluta, esistono diversi standard nell‟ambito
delle reti LAN Wireless, tra i quali:
-
IEEE 802.11;
HIPERLAN (HIgh PERformance LAN);
Bluetooth;
Shared Wireless Access Protocol - Cordless Access (SWAP-CA).
13
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Tuttavia la tecnologia Wireless LAN più diffusa è basata sullo standard IEEE
802.11x, in quanto più facile da configurare e più flessibile rispetto ad altre opzioni;
più precisamente, il primo protocollo largamente diffuso è stato il b; in seguito si sono diffusi il protocollo a e soprattutto il protocollo g.
IEEE 802.11 definisce uno standard per le reti WLAN sviluppato dal gruppo 11
dell'IEEE 802, descrivendo in particolare in livello fisico e MAC del modello ISO/OSI, specificando sia l'interfaccia tra client e base station (o access point) sia tra
client wireless.
Tipi di apparati
La realizzazione di reti wireless 802.11 è messa in opera grazie all‟utilizzo di alcuni
apparati che si distinguono per i ruoli ai quali vengono relegati, ma che in una stessa
rete devono essere omogenei dal punto di vista fisico e di collegamento per una corretta comunicazione tra di essi.
Trascurando quegli apparati dotati di caratteristiche e funzionalità particolari, la
classificazione è così suddivisa:
Access Point: Access Point (AP in breve) è il modo di funzionamento a "punto d'accesso" e cioè quel dispositivo che consente di collegare ad una rete cablata i client
Wi-Fi. Esso è in pratica la stazione centrale di trasmissione e ricezione di una rete
senza fili. Gli AP possono essere implementati sia in hardware (esistono dei dispositivi dedicati) che in software appoggiandosi per esempio ad un PC o Notebook dotato
sia dell‟interfaccia wireless sia di un scheda Ethernet. La copertura del segnale di un
AP è chiamata cella radio e varia da 20 metri a oltre 300 metri, in relazione alla tipologia degli ambienti, con una possibilità di collegamento da 10 a 250 utenze per AP,
in funzione del modello e della tecnologia impiegata.
Client: sono quei dispositivi con interfaccia d'interconnessione PCI, PCMCIA, USB o
altre, che si collegano ed autenticano attraverso le onde radio ad un Access Point e
che usufruiscono dei servizi di rete.
Repeater: il ripetitore è un dispositivo in grado di ripetere il segnale di un Access
Point, permettendo l'estensione della rete Wi-Fi. Allo stato attuale non è possibile
ripetere più d'una volta il segnale di un AP collegandosi ad un altro Repeater; si possono comunque collegare più Repeater ad un AP purché siano in comunicazione diretta con l'AP base.
Bridge Wireless-Ethernet: sono apparati particolari, studiati e realizzati appositamente per realizzare un BRIDGE (ponte) wireless tra due reti LAN. L'unica modalità di funzionamento di cui dispongono è quella di bridge.
Apparati multimodalità: sono dispositivi che permettono il funzionamento Wi-Fi in
modalità multipla come AP, Client, Bridge e Repeater. Non sempre sono garantite
14
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
l'interoperabilità tra apparati con chipset diverso ed il funzionamento simultaneo di
più modalità.
Modalità di funzionamento
I dispositivi appena elencati permettono diverse modalità di funzionamento e di
configurazione di una rete wireless 802.11 e, in base alle necessità di un determinato
contesto, possiamo distinguere le seguenti modalità:
Infrastructure: una rete wireless gestita in questa modalità sfrutta un Access Point
(oppure un Client adibito a tale scopo) come stazione base attraverso la quale passano tutto le comunicazioni. Generalmente si utilizza un AP per realizzare una rete che
deve durare nel tempo, sia per scopi privati (creazione di una rete tra PC domestici)
che pubblici (in un campus, la possibilità di accedere alla rete Internet). Nel caso di
un singolo AP, questo copre una cella (BSS - Basic Service Set), identificato da un
parametro (BSSID), che è spesso l‟indirizzo MAC dell‟AP.
Roaming (o Multi AP): è quella particolare funzione che permette il passaggio di un
client da un Access Point all'altro senza l'interruzione della comunicazione (per intenderci è come per i cellulari, passando da un ponte ad un altro, non cade la telefonata). Più Access Point possono formare una ESS (Extended Service Set) identificata da un parametro (SSID) che possono coprire un‟area come, ad esempio, un
campus universitario.
Figura 1 - Schema di una ESS
15
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Ad Hoc: in una rete Ad Hoc due o più client, detti anche Independent Basic Service
Set (IBSS), comunicano direttamente tra loro, senza alcun Access Point che faccia
da centro di smistamento dei dati. E' simile ad una rete peer-to-peer dove ogni client
è collegato direttamente con un altro ed identificato da un parametro (BSSID) quale, ad esempio, il MAC Address. È una configurazione utile e adatta per setup semplici e veloci, ad esempio scambio di file tra due dispositivi, riunioni, convegni o dimostrazioni.
Figura 2 - Schema di una rete ad hoc
Wireless Bridge (o Point-To-Point Bridge): è la modalità di funzionamento che permette l'unione e la connessione di due reti cablate attraverso il Wi-Fi. Si tratta di
una sorta di configurazione ad hoc fra Access Point, ed è per questo motivo che le
schede client non hanno possibilità di connessione.
Wireless Multi Bridge (o Point To Multipoint Bridge): è quella modalità che permette l'unione di tre o più reti cablate attraverso il Wi-Fi. E' un'estensione della modalità Bridge, perciò ne eredita da essa le impostazioni e le caratteristiche principali.
WDS: particolare modalità che permette al dispositivo di funzionare simultaneamente sia da Bridge che da Access Point.
16
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Gli standard in dettaglio
La famiglia dei dispositivi 802.11 è molto numerosa e composta di standard spesso
incompatibili, soprattutto dal punto di vista fisico.
Questa famiglia di protocolli include tre protocolli dedicati alla trasmissione delle informazioni (802.11a/b/g), mentre la sicurezza è stata inclusa in uno standard a parte
(802.11i). Gli altri standard della famiglia (802.11c/d/e/f/h) riguardano estensioni dei
servizi base e miglioramenti di servizi già disponibili. Il primo protocollo largamente
diffuso è stato il 802.11b, in seguito si sono diffusi il protocollo 802.11a e soprattutto
il protocollo 802.11g.
L' 802.11b e 802.11g utilizzano lo spettro di frequenze (banda ISM) nell'intorno dei
2.4 GHz. Si tratta di una banda di frequenze regolarmente assegnata dal piano di ripartizione nazionale (ed internazionale) ad altro servizio, e lasciato di libero impiego
solo per le applicazioni che prevedono potenze EIRP (Massima Potenza Equivalente
Irradiata da antenna Isotropica) di non più di 20 dBm ed utilizzate all'interno di una
proprietà privata (teoricamente non dovrebbe attraversare il suolo pubblico). Trovandosi così ad operare in bande di frequenze ove già lavorano altri apparecchi, i dispositivi 802.11b e 802.11g possono essere influenzati da telefoni cordless, ripetitori
audio/video per distribuire programmi televisivi satellitari od altri apparecchi all'interno di un appartamento che utilizzano quella stessa banda di frequenze.
802.11a
Nel 2001 venne ratificato il protocollo 802.11a, approvato precedentemente nel
1999. Questo standard utilizza lo spazio di frequenze nell'intorno dei 5 GHz e opera
con una velocità di picco di 54 Mb/s, sebbene nella realtà la velocità reale disponibile
all'utente sia di circa 20 Mb/s continui.
Lavorando a frequenze più alte può raggiungere estensioni geografiche ridotte rispetto alla 802.11b e per risolvere questo problema si usa più potenza in trasmissione
e un più efficiente schema di codifica dei dati, utilizzando una modulazione del segnale OFDM. Tuttavia, la velocità massima può essere ridotta a 48, 36, 24, 18, 9 o 6
Mb/s se le interferenze elettromagnetiche lo impongono. Lo standard definisce 12 canali non sovrapposti, 8 dedicati alle comunicazioni interne e 4 per le comunicazioni
punto a punto.
Questo standard non ha riscosso i favori del pubblico dato che l'802.11b si era già
molto diffuso e in molti paesi l'uso delle frequenze a 5 GHz è tuttora riservato. Esistono schede Dual standard o Tri standard in grado di accettare oltre allo standard
802.11a anche l‟802.11b e per le schede Tri standard anche l‟802.11g. Ovviamente esistono anche degli Access Point multi standard.
802.11b
E‟ lo standard più conosciuto e diffuso della famiglia 802.11, operante nella banda
liberalizzata a 2.4 Ghz. I dati vengono trasmessi ad una velocità teorica di picco di
11 Mbps e di 4 Mbps continui. Utilizza una modulazione DSSS.
17
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Utilizza il protocollo Carrier Sense Multiple Access con Collision Avoidance
(CSMA/CA) come metodo di trasmissione delle informazioni e, poiché una buona
parte della banda disponibile viene utilizzata dal CSMA/CA, il massimo trasferimento ottenibile è di 5,9 Mbit/s in TCP e di 7,1 Mbit/s in UDP. Metallo, acqua e in generale ostacoli solidi riducono drasticamente la portata del segnale.
Utilizzando antenne direzionali esterne dotate di alto guadagno si è in grado di stabilire delle connessioni punto a punto del raggio di molti chilometri. Utilizzando ricevitori con guadagno di 80 db si può arrivare a 8 chilometri o se le condizioni del
tempo sono favorevoli anche a distanze maggiori ma sono situazioni temporanee che
non consentono una copertura affidabile. Quando il segnale è troppo disturbato o
debole lo standard prevede di ridurre la velocità massima a 5.5, 2 o 1 Mb/s per consentire al segnale di essere decodificato correttamente.
802.11d
E‟ lo standard alternativo a 802.11b destinato ai paesi che non possono liberalizzare
la banda a 2.4 Ghz perché destinata ad altri usi.
802.11e
E‟ lo standard migliorativo delle specifiche originarie 802.11, arenatosi su una serie
di problemi tecnici e quindi abbandonato.
802.11f
E‟ lo standard che riunisce una serie di specifiche destinate a facilitare il passaggio
da una zona di copertura all‟altra e da un canale all‟altro, in diretta concorrenza con
le tecnologie di telefonia cellulare.
Anche chiamato Inter Access Point Protocol (IAPP), è un protocollo di livello applicazione per la gestione di ESS (Extented Service Set), ovvero più reti wireless collegate tra di loro, gestendo l'hand-over di terminali da una rete wireless all'altra. Infatti le specifiche 802.11 originarie sono destinate a postazioni fisse o portatili, che
non si spostano nello spazio.
802.11g
Questo standard venne ratificato nel giugno del 2003. Utilizza le stesse frequenze del
b, cioè la banda di 2.4 GHz, e fornisce una banda teorica di 54 Mb/s che nella realtà
si traduce in una banda netta di 24.7 Mb/s, simile a quella dello standard 802.11a. È
totalmente compatibile con lo standard 802.11b ma quando si trova a operare con
periferiche 802.11b deve ovviamente ridurre la sua velocità a quella dello standard
802.11b.
802.11h
E‟ lo standard che serve a garantire un maggiore controllo della potenza di trasmissione da parte di 802.11a per facilitarne la diffusione anche in Europa.
18
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
802.11i
E‟ lo standard destinato alla sicurezza delle reti wireless della famiglia 802.11, sviluppato dalla IEEE specificamente per fornire uno strato di sicurezza alle comunicazioni basate sullo standard IEEE 802.11. Il documento è stato ratificato il 24 giugno
2004 e rappresenta un‟estensione del precedente standard Wired Equivalent Privacy
(WEP) che aveva dimostrato di essere soggetto a errori concettuali di progetto. Prima dello standard 802.11i la Wi-Fi Alliance aveva introdotto il Wi-Fi Protected
Access (WPA) un sottoinsieme delle specifiche 802.11i. Il WPA era stato introdotto
per tamponare l'emergenza sicurezza dovuta al WEP e rappresenta solamente uno
standard transitorio mentre l'802.11i veniva terminato e perfezionato. La Wi-Fi Alliance ha deciso di chiamare le specifiche 802.11i con il nome di WPA2 per rendere
semplice all'utente comune l'individuazione delle schede basate sul nuovo standard.
L'802.11i utilizza come algoritmo crittografico l'Advanced Encryption Standard (AES) a differenza del WEP e del WPA che utilizzano l'RC4.
L'architettura dell'802.11i utilizza i seguenti componenti: IEEE 802.1x per autentificare (può essere utilizzato l'EAP o un server di autentificazione), RSN per tenere
traccia delle associazioni e il CCMP per garantire la confidenzialità, l'integrità e la
certezza del mittente. Un elemento importante del processo di autenticazione è il
processo four-way handshake.
802.11n
Nel Gennaio 2004 IEEE ha annunciato di aver avviato lo studio di un nuovo standard per realizzare reti wireless di dimensioni metropolitane. La velocità reale di
questo standard dovrebbe essere di 100 Mb/s (quella fisica dovrebbe essere prossima
a 250 Mb/s), quindi dovrebbe essere 5 volte più rapido del 802.11g e 40 volte più rapido dell'802.11b. La standardizzazione è ancora in corso, il 19 Gennaio 2007 il gruppo di lavoro 802.11 di IEEE ha approvato la Draft 2.0.
802.11n include anche la possibilità di utilizzare la tecnologia MIMO (MultipleInput Multiple-Output). Questo consentirà di utilizzare più antenne per trasmettere
e più antenne per ricevere incrementando la banda disponibile utilizzando una multiplazione di tipo spaziale attraverso una codifica tipo quella di Alamouti.
La pila di protocolli 802.11
I protocolli utilizzati da tutte le varianti di 802.11, inclusa Ethernet, hanno una
struttura simile: è presente lo strato fisico che si è evoluto e si differenzia nelle varie
versioni 802.11 viste in precedenza per quanto riguarda le tecniche di trasmissione e
modulazione dei dati. Lo standard 802.11 del 1997 specifica tre tecniche di trasmissione supportate nello strato fisico: uno è il metodo a infrarossi (IR) e gli altri due
usano un sistema radio a bassa potenza basato sulle tecniche FHSS e DSSS che utilizzano la banda dello spettro ISM 2.4 Ghz. Per aumentare la banda disponibile, nel
19
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
1999 sono state introdotte due nuove tecnologie chiamate OFDM e HR-DSSS, rispettivamente con 802.11a e 802.11b.
Lo strato Data Link è invece diviso in due sottostrati: il sottostrato MAC (Medium
Access Control) che stabilisce il metodo di allocazione del canale, cioè a quale dispositivo spetta trasmettere e il sottostrato superiore, detto LLC (Logical Link Control)
che ha invece il compito di nascondere le differenze tra le varianti di 802.11 e renderle indistinguibili al livello Network.
Lo strato fisico 802.11
Ognuna delle cinque tecniche di trasmissione sopra citate (IR, FHSS, DSSS, OFDM,
HR-DSSS) consentono l‟invio di un frame MAC da una sorgente ad una destinazione, ma queste soluzioni differiscono sia per la tecnologia utilizzate, sia per le velocità
supportate. Diamo un rapido sguardo.
IR: utilizza una trasmissione diffusa (ossia non in linea retta) a 0.85 e 0.95 micron e
supporta due velocità: 1Mbps e 2Mbps. Questa tecnica è stata quasi subito soppiantata in quanto raggiungeva scarse velocità e la natura dei segnali infrarossi non permette loro di superare ostacoli solidi come i muri.
FHSS (Frequency Hopping Spread Spectrum): Modulazione a Spettro Diffuso per
Salti. Questa tecnica utilizza 79 canali larghi 1 Mhz ciascuno (75 per i dati, 4 per la
sincronizzazione), che iniziano dal margine inferiore della banda ISM a 2,4 Ghz, che
vengono usati uno alla volta per sostenere la trasmissione dei segnali. Il segnale passa (salta) da sottocanale a sottocanale, per un prefissato periodo di tempo (chiamato
Dwell Time che è solitamente di 400μsec) e secondo un ordine predeterminato. Dopo
ogni salto è necessaria una resincronizzazione.
Figura 3 - Esempio di FHSS
20
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Si usa un generatore di numeri casuali per produrre la sequenza con cui le frequenze
si susseguono. Tutte le stazioni salteranno contemporaneamente nelle stesse frequenze a patto di usare lo stesso seme per generare i numeri casuali e di mantenere la sincronizzazione. Questa casualità rappresenta un modo efficace di allocare lo spettro
nella banda ISM non regolata.
La tecnica di salto ha diversi vantaggi: contribuisce a minimizzare gli effetti dei rumori elettromagnetici, che in genere sono limitati a una frequenza abbastanza costante nel tempo; permette la presenza di più unità di accesso all‟interno delle zone di
trasmissione efficaci l‟una dell‟altra (due sistemi che dialogano con i rispettivi router
non creano interferenza tra i loro segnali anche se posti vicini fra loro). Ultimo, ma
non meno importante vantaggio, è la sicurezza del sistema: chi cerca di intercettare
la trasmissione deve essere in grado di catturare il segnale emesso su più sottocanali e
deve interpretare correttamente la successione, apparentemente casuale, dei dati.
Figura 4 - Schema di un pacchetto FHSS
L‟FHSS Physical Packet è composto da 6 campi: un campo Synchronization (Sincronizzazione) di 80 bit e un campo SFD (Start Frame Delimiter) di 16 bit
(0000110010111101 start pattern) che individuano il preambolo (PLCP preamble). A
seguire troviamo: il campo PLW (PLCP_PDU Length Word) da 12 bit che individua
la lunghezza del payload inclusi 32 bit di CRC, il campo PSF (PLCP Signaling Field)
che individua il data rate del payload (1 or 2 Mbit/s) e il campo HEC (Header Error
Check) che contiene il codice CRC. Questi tre campi formano il PLCP header. Infine
troviamo il carico utile (payload) che può essere di dimensioni variabili.
DSSS (Direct Sequence Spread Spectrum): Modulazione a Spettro Diffuso per Sequenza Diretta. È una tecnologia di trasmissione a "frequenza diretta" a banda larga, nella quale ogni bit viene trasmesso come una sequenza ridondante di bit, detta
chip. Tale metodo è indicato per la trasmissione e la ricezione di segnali deboli. La
banda viene divisa in 14 canali da 22 MHz sovrapposti e li usa uno alla volta.
Figura 5 - Distribuzione dei canali nella banda dei 2.4 GHz
21
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
L'interfaccia DSSS utilizza un sistema con dispersione in banda base, impiegando
un chipping code (codice di dispersione); modulando il dato prima di trasmetterlo,
ogni bit trasmesso viene disperso su una sequenza a 11 bit (detta sequenza di Barker). Il segnale trasmesso consumerà una maggiore larghezza di banda, consentendo
la ricezione di segnali deboli. I vantaggi che l'interfaccia DSSS assicura contro l'interferenza sono piuttosto scarsi.
Figura 6 - Direct Sequence Spread Spectrum
OFDM (Orthogonal Frequency Division Multiplexing). Arriva a distribuire fino a 54
Mbps nella banda ISM dei 5 Ghz, più ampia rispetto alle altre. Questa tecnica utilizza 52 frequenze (48 per i dati e 4 per la sincronizzazione), tale suddivisione del canale
in tante bande strette offre vantaggi rispetto all‟utilizzo di una singola banda larga,
per esempio una migliore resistenza alle interferenze con banda stretta e la possibilità
di utilizzare bande non contigue. I vantaggi principali derivano dal fatto che questa
tecnica si adatta facilmente a canali in condizioni critiche, ha una buona efficienza di
spettro in termini di bit/Hz e una buona resistenza al multipath fading.
HR-DSSS: sta per High Rate Direct Sequence Spread Spectrum. Tecnica a diffusione di spettro che raggiunge la velocità di 11 Mbps nella banda 2,4 Ghz, adottata da
802.11b.
Tabella Riassuntiva:
Standard
802.11
802.11 a
802.11 b
802.11 g
802.11 n
Modulazione
FHSS, DSSS, IR
OFDM
DSSS, HR-DSSS
OFDM
DSSS, HR-DSSS,
OFDM
Frequenza
2,4 GHz, IR
5,2, 5,8 GHz
2.4 GHz
2.4 GHz
2.4 GHz
22
Velocità di trasferimento (Mbit/s)
1, 2
6, 9, 12, 18, 24, 36, 48, 54
1, 2, 5.5, 11
6, 9, 12, 18, 24, 36, 48, 54
1, 2, 5,5, 11; 6, 9, 12, 18, 24, 36, 48,
54, 125
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Capitolo 2
Il sottostrato MAC 802.11
Il protocollo del sottostrato MAC 802.11 che, come già detto, si occupa
dell‟allocazione del canale, è leggermente diverso da quello Ethernet, a causa della
complessità intrinseca dell‟ambiente wireless. Mentre con Ethernet una stazione si
limita ad ascoltare il mezzo e aspettare che diventi silenzioso per poi trasmettere, col
wireless vengono introdotte una serie di limitazioni che portano ad adottare una
strategia differente.
Tanto per cominciare, col wireless esiste il problema della stazione nascosta, che nasce dal fatto che non tutte le stazioni si trovano all‟interno del campo radio delle altre. Si supponga una trasmissione tra due terminali A e B, ed un terzo terminale C
che si trova fuori dalla portata di B; il terminale C, non essendo in grado di rilevare
questa comunicazione, pensa erroneamente che il canale sia libero, e inizia la comunicazione.
Inoltre, la maggior parte dei dispositivi radio è Half-Duplex, e non può quindi trasmettere e contemporaneamente rimanere in ascolto dei burst di rumore su una singola frequenza.
Per ovviare a questi problemi, l‟802.11 adotta due modalità operative: DCF e PCF.
DCF (Distributed Coordination Function)
- prevede la comunicazione tra stazioni senza un arbitraggio centralizzato;
- questa modalità prevede la contesa del mezzo e la gestione delle collisioni.
PCF (Point Coordination Function)
- prevede che ci sia una stazione base che coordina la trasmissione di tutti i
terminali;
- in questa modalità non ci sono collisioni perché l‟ordine delle trasmissioni
e‟ determinato dalla stazione di controllo.
Tutte le schede wireless devono supportare la trasmissione DCF, mentre quella PCF
e‟ opzionale in quanto poco diffusa.
In modalità DCF si utilizza un protocollo chiamato CSMA/CA (Carrier Sense Multiple Access Collision Avoidance) che mira ad evitare le collisioni, operando in due
modi differenti:
1. nella prima modalità la stazione controlla se il canale è libero (per quello che
può vedere):
23
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
- se è libero trasmette (senza collision detection);
- se è occupato, aspetta che si liberi e trasmette;
- se si verifica una collisione (rilevata) utilizza il backoff esponenziale binario
e ritenta.
2. la seconda modalità è derivata da MACAW, con utilizzo di RTS (Richiesta),
CTS (Risposta) ed ACK per ogni frame trasmesso:
- l‟interfaccia della stazione che rileva un RTS o un CTS evita di trasmettere
dati fino alla fine prevista per la trasmissione corrente e relativo ACK;
- tecnicamente la stazione utilizza internamente un Network Allocation
Vector (NAV), che definisce l‟intervallo temporale in cui il mezzo trasmissivo e‟ occupato.
Figura 7 - Il controllo del canale virtuale mediante CSMA/CA
Poiché le reti wireless sono molto rumorose, il protocollo prevede la possibilità di
spezzare il frame in frammenti, ciascuno trasmesso e riscontrato individualmente. I
frammenti vengono inviati tutti di seguito, senza bisogno di invio di RTS; le stazioni
in ascolto utilizzeranno il NAV per attendere solo fino al primo riscontro.
Figura 8 – Un Burst di frammenti
Nella modalità PCF, invece, la stazione base sonda le altre stazioni per vedere se
hanno frame da trasmettere. La trasmissione e‟ regolata ed autorizzata dalla stazio-
24
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
ne base e non avvengono collisioni. Il protocollo specifica la modalità di interrogazione e prevede che le stazioni si registrino con la stazione base per entrare nel meccanismo delle interrogazioni. La stazione base regola tutto il meccanismo della trasmissione, comprese le informazioni sulle sequenze di salto di frequenza (per FHSS) e
le temporizzazioni. Il protocollo, ottimizzato per i computer portatili, prevede anche
che la stazione base possa imporre alla stazione mobile di mettersi in modalità di sospensione, al fine di risparmiare batteria.
MAC Frame 802.11
Ogni frame consiste nei seguenti componenti base:
un header MAC, che comprende i campi di controllo, durata, indirizzi e sequenza, e per i frame QoS, informazioni Qos;
un frame body di lunghezza variabile, che contiene informazioni sul tipo e sottotipo del frame;
un campo Checksum che contiene un CRC a 32 bit ;
Formato Generale
Il formato generale del frame MAC comprende un insieme di campi disposti in ordine fisso in tutti i frame. I primi tre campi (Frame Control, Duration/ID e Address 1)
e l'ultimo campo (FCS) costituiscono il formato minimo e sono presenti in tutti i
frame, inclusi i tipi riservati e i sottotipi.
I campi Address 2, Address 3, Sequence Control, Address 4, QoS Control e Frame
Body sono presenti solo in certi tipi e sottotipi di frame. Il campo Frame body è di
lunghezza variabile. La massima lunghezza è determinata dalla massima lunghezza
del MSDU (MAC Service Data Unit), cioè 2.304 byte più un overhead per
l‟incapsulazione di sicurezza.
Figura 9 - Schema di un MAC Frame 802.11
Frame Control
Il campo Frame Control, lungo 2 byte, contiene al suo interno altri diversi campi che
ora vedremo nello specifico.
25
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Figura 10 - Schema del sottocampo Frame Control
Version Protocol: in tutte le revisioni dello standard IEEE 802.11 la sua lunghezza
(2 bit) e la sua posizione sono rimaste invariate. Per questo standard assume il valore
0.
Type e Subtype: rispettivamente di 2 e 4 bit questi due campi assieme identificano
la funzione del frame. Ci sono tre tipi di frame esistenti: control frame, data frame e
management frame. Ognuno di questi tipi ha diversi sottotipi. Per quanto riguarda i
data frame, il bit più significativo del campo Subtype è definito come il sottocampo
QoS.
Figura 11 - Combinazioni valide dei campi Type e Subtype
26
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Figura 12 - Segue da figura 11
Ogni posizione dei bit del campo Subtype è usato per indicare un modifica specifica
del data frame base. Il bit 4 del frame control è impostato a 1 nei sottotipi di data
che includono +CF-Ack, il bit 5 è impostato a 1 nei sottotipi data che includono
+CF-Poll, il bit 6 è impostato a 1 nei sottotipi data che non includono campi Frame
Body, infine il bit 7 è impostato a 1 nei sottotipi data QoS che hanno un campo di
controllo QoS nei loro MAC headers.
To DS e From DS: il significato delle combinazioni di valori di questi campi è mostrata nella tabella:
Figura 13 - Combinazioni valide dei campi To DS e From DS
27
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
More Fragment: questo campo di 1 bit è impostato a 1 in tutti i frame di tipo data e
management che hanno un frammento del MSDU corrente o del corrente MMPDU
(MAC Management Protocol Data Unit) a seguire. In tutti gli altri casi è impostato a
0.
Retry: il campo retry è lungo 1 bit ed è impostato a 1 in ogni frame di tipo data o
management che risulta essere una copia di un frame trasmesso in precedenza. E impostato a 0 in tutti gli altri frame.
Una stazione ricevente usa questa indicazione per agevolare l'eliminazione dei duplicati.
Power Management: il campo Power Management ha lunghezza di 1 bit e viene usato per indicare la modalità di Power Management di una stazione. Il valore di questo
campo rimane costante in ogni frame provenienti da una stazione particolare Il valore 1 indica che la stazione sarà in modalità Power Save. Il valore 0 indica che la stazione sarà in modalità attiva. Nei frame trasmessi da Access Point questo campo è
sempre a 0.
More Data: campo lungo 1 bit e utilizzato indicare a una stazione in modalità Power
Save che più MSDU o MMPDU sono bufferizzate per quella stazione nell‟Acces
Point. Il campo more data è valido nei data frame o management frame trasmessi da
un Access Point a una stazione in modalità Power Save. Un valore di 1 indica che è
presente almeno un MSDU o MMPDU bufferizzato in più per lo stessa una stazione.
Il campo More data è impostato a 1 nei frame broadcast o multicast trasmessi da un
Access Point quando quest‟ultimo deve trasmettere altri MSDU O MMPDU, sia
broadcast che multicast. Questo campo è invece impostato a 0 nei frame broadcast o
multicast trasmessi da un Access Point quando quest‟ultimo non ha più MSDU o
MMPDU, sia broadcast che multicast, da trasmettere.
Protected Frame: questo campo è lungo 1 bit e viene impostato a 1 se il frame body
contiene informazioni che vengono processate da un algoritmo di cifratura, ma solo
in frame di tipo data e frame di tipo management per l‟autenticazione. In tutti gli altri frame viene messo a 0.
Order: il campo Order è lungo 1 bit e assume valore 1 in ogni frame data QoS che
contenente un MSDU. Questo campo è settato a 0 in tutti gli altri frame. Tutte le
stazioni QoS settano il campo a 0.
Duration/ID
Il campo Duration/ID, lungo 16 bit, varia a seconda del tipo e del sottotipo del frame, ecco i diversi contenuti:
a. nei frame di controllo del sottotipo PS-POLL questo campo reca, nelle 14 cifre meno significative, l'association identifier del STA che trasmette il frame
mentre le 2 cifre più significative assumono entrambe il valore 1;
b. nei frame trasmessi da PC e da STA non QoS, durante il CFP, il campo Duration/ID ha un valore fisso di 32768;
c. in tutti gli altri tipi di frame inviati da STA non QoS, durante il CFP, questo
campo contiene un valore diverso e predefinito per ogni tipo di frame;
28
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
d. nei frame di tipo data e di tipo management mandati da STA Qos il campo
duration/ID assume un valore che può dipendere dal tempo richiesto per la
trasmissione di una MPDU, dal tempo richiesto per la trasmissione di un
ACK, dalla tipologia del frame e da numerosi altri fattori.
Quando il contenuto di un campo Duration/ID, trattato come un intero di tipo Unsigned, senza tener conto del valore dell'indirizzo, del tipo e del sottotipo, è meno di
32768, questo valore viene usato per aggiornare il Network Allocation Vector (NAV)
secondo procedure definite nello standard stesso.
Quando invece il valore del campo durata/ID è maggiore di 32768, questo valore
viene interpretato come appropriato per il tipo e sottotipo del frame, o ignorato se
l'entità MAC che riceve non ha una interpretazione definita per quel tipo o sottotipo.
Address
Ci sono quattro diversi campi indirizzo nel formato del frame MAC. Questi campi
vengono usati per indicare il BSSID, l‟indirizzo della sorgente (SA), l‟indirizzo della
destinazione (DA), l‟indirizzo della stazione trasmettente (TA) e l‟indirizzo della stazione ricevente (RA). Certi frame possono non contenere alcuni di questi campi indirizzi.
L'uso di alcuni campi indirizzo è specificato dalla relativa posizione del campo indirizzo (1-4) all'interno dell‟header MAC, indipendentemente dal tipo di indirizzo presente in quel campo. Ad esempio l‟indirizzo del ricevente si trova sempre nel contenuto del campo Address 1 nei frame ricevuti, e l'indirizzo del ricevente di frame CTS
(Clear-to-Send ) o ACK è sempre contenuto nel campo Address 2, nei corrispondenti
frame RTS (Request-to-Send).
Ogni campo indirizzo contiene un indirizzo a 48 bit che riguarda un indirizzo del sottolivello MAC, questi indirizzi possono essere suddivisi in due diverse tipologie:
Indirizzo individuale. L'indirizzo assegnato a un STA ben preciso nella rete.
Indirizzo di gruppo. Un indirizzo a più destinazioni che può essere usato da
uno o più STA in una determinata rete. Vi sono due tipi di indirizzi di gruppo, che sono i seguenti:
- Indirizzo di gruppo multicasting . Un indirizzo associato da una convenzione di livello più alto, con un gruppo di STA relazionati in modo logico.
- Indirizzo broadcast . Un distinto e predefinito indirizzo multicast che denota sempre un insieme di STA di una certa LAN. Ognuno di questi è interpretato come un indirizzo broadcast. Questo gruppo è predefinito per
ogni mezzo di comunicazione.
BSSID: lungo 48bit, identifica univocamente ogni BSS. Il valore di questo campo,
in un‟infrastruttura BSS, è l'indirizzo MAC correntemente in uso dal STA nell‟AP del
BSS. In un BSS, invece, il campo BSSID è un indirizzo MAC amministrato localmente formato da 46 bit generati casualmente secondo procedure approvate dallo
standard. Il bit Universal/Local dell'indirizzo è impostato a 1. Questo meccanismo è
utilizzato per garantire un 'alta probabilità di selezionare un unico BSSID. Il valore
29
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
di tutti gli 1 è usato per indicare il Qildcard BSSID che non deve essere usato nel
campo BSSID eccetto per i frame di tipo Management/Probe Request.
DA: il campo DA contiene un indirizzo MAC individuale o di gruppo che identifica
una o più entità MAC intese come recipiente finale del MSDU contenute nel frame
body.
SA: questo campo contiene un indirizzo MAC individuale che identifica la macchina
che trasferisce il MSDU contenuto nel frame body. Il bit Individual/Group è sempre
a 0 nell'indirizzo sorgente.
RA: il campo RA contiene un indirizzo MAC individuale o di gruppo che identifica il
STA ricevente, nella WM, per le informazioni contenute nel campo frame body.
TA: questo campo contiene un indirizzo MAC individuale che identifica il STA che
trasmette il MPDU contenuto nel frame body. Il bit Individual/Group e sempre a 0.
Sequence Control
Il campo Sequence Control è lungo 16 bit e consiste di due sottocampi, Fragment
Number e Sequence Number che identificano relativamente il numero di sequenza e
il numero di frammento. Questo campo non è presente nei frame di controllo.
Figura 14 - Formato del campo Sequence Control
Sequence Number: il numero di sequenza è lungo 12 bit e indica il numero di sequenza di un MSDU o MMPDU. Ad ogni MSDU o MMPDU trasmessi da un STA è
assegnato un numero di sequenza. Gli STA non QoS assegnano numeri di sequenza a
frame di tipo management e di tipo data attraverso un contatore modulo 4096, che
inizia da 0 e incrementa di 1 per ogni MSDU o MMPDU trasmesso. Ogni frammento
di un MSDU o MMPDU contiene una copia del numero di sequenza assegnato a quel
MSDU o MMPDU. Il numero di sequenza rimane costante in ogni ritrasmissione di
un MSDU, MMPDU o frammento.
Fragment Number: questo campo è formato da 4 bit ed indica il numero di ogni
frammento di un MSDU o MMPDU. Il numero frammento è a 0 nel primo o unico
frammento di un MSDU o MMPDU ed è incrementato di 1 per ogni frammento successivo del relativo MSDU o MMPDU. Il numero di frammento rimane immutato
per tutte le ritrasmissioni del frammento.
30
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
QoS Control
Il Campo QoS Control è lungo 16 bit e identifica il TC o TS a cui appartiene il frame
e varie altre informazioni sul frame relative alla QoS che varia da frame a frame. Il
QoS Control è presente in tutti i frame di tipo data in cui il sottocampo QoS del sottotipo è a 1. Ogni QoS Control comprende cinque sottocampi definiti per ogni specifico mandante, tipo e sottotipo.
Figura 15 - Sottocampi del campo QoS Control
TID: il TID indica il TC o il TS al quale il corrispondente MSDU nel frame body appartiene. Il TID identifica anche il TC o il TS per il quale è richiesto un TXOP. La
codifica del TID dipende dalle politiche di accesso.
EOSP (End Of Service Period): il sottocampo EOSP è formato da 1 bit e viene usato
dall‟HC per indicare la fine del periodo di servizio corrente. L‟HC setta il sottocampo
EOSP a 1 nella sua trasmissione e ritrasmissione del frame finale di quel SP per terminare un SP schedulato o non schedulato, altrimenti lo setta a 0.
Ack Policy: il sottocampo è lungo 2 bit e identifica la politica di acknowledgement
seguita in base alle disposizioni del MPDU. Un MSDU è inviato usando una politica
di acknowledgement di Normal Ack o di Block Ack se il parametro di classe di servizio nella primitiva MA_UNITDATA.request è settata a QoSAck. Si usa la politica
di No Ack se il parametro di classe di servizio nella primitiva
MA_UNITDATA.request è settata a QoSNoAck.
TXOP Limit: questo sottocampo è lungo 8 bit ed è presente nei frame di tipo QoS
Data aventi sottotipi CF-Poll e specifica il limite di tempo in un TXOP attribuito da
un frame QoS CF-Poll mandato da un HC in un BSS. Un valore limite TXOP di 0
implica che un MPDU o un frame QoS Null sta per essere trasmesso subito dopo il
seguente frame QoS CF-Poll. Il limite TXOP è inclusivo del PHY (PHYsical layer )
e IFS (IntreFrame Space) overhead.
Queue Size: sottocampo della dimensione di 8 bit che indica l'ammontare di traffico
bufferizzato, per un dato TC o TS, verso l‟Access Point che manda un frame. Questo
sottocampo è presente nei frame QoS Data mandati da STA associate in un BSS con
il bit 4 del QoS Control Field settato a 1. L‟AP può usare informazioni
co
ntenute in questo sottocampo per determinare la durata TXOP assegnata a un AP.
31
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Il valore del sottocampo Queue Size riguarda la misura totale di tutti i MSDU bufferizzati alla STA nella delivery queue usata per gli MSDU con i valori TID uguali al
valore del sottocampo TID.
TXOP Duration Requested: è lungo 8 bit e indica la durata, in unità di 32 µs, che la
stazione mandante desidera per il suo prossimo TXOP per lo specifico TID. Il range
di tempo varia da 32 a 8160 µs. Se la durata richiesta non è un multiplo di 32 il valore viene arrotondato al più alto intero che sia multiplo di 32. Questo sottocampo è
presente nei frame data QoS inviati da STA non AP associate a BSS con il bit 4 settato a 0. L‟AP può scegliere di assegnare una durata TXOP più corta di quella richiesta in questo campo, un valore 0 in questo campo indica che non sono richiesti
TXOP per i MSDU del TID specificato nel SP corrente. I valori del campo non sono
cumulativi. Un valore di 0 nel TXOP Duration Requested può essere usato per una
richiesta non soddisfatta rimasta in sospeso quando il suo MSDU non è più accodato
per trasmissioni.
AP PS Buffer State: questo sottocampo ha dimensione di 8 bit, i quali indicano che
lo stato del buffer è in Power Save nell‟AP per un STA non AP. L‟AP PS Buffer
State è suddiviso in tre sottocampi:
Buffer State Indicated: è lungo 1 bit e viene usato per indicare se l'AP PS
Buffer State è specificato. Quando ciò accade il sottocampo assume il valore
1.
Highest Priority Buffered AC: ha dimensione 2 bit e viene usato per indicare
l'AC del traffico con priorità più alta rimanente che viene bufferizzato
nell‟AP, escluso il MSDU del frame presente.
AP Buffered Load: ha dimensione 4 bit e viene usato per indicare la grandezza totale del buffer, arrotondata al più vicino multiplo di 4096 byte ed espressa in unità da 4096 byte, di tutti i MSDU bufferizzati al QoS AP. Se il
valore di questo sottocampo è 15, significa che la grandezza del buffer è maggiore di 57.344 bytes. Il valore 0 viene usato solo per indicare l‟assenza di ogni traffico bufferizzato per AC bufferizzato con priorità più alta quando il
buffer state è a 1.
Figura 16 - Schema del sottocampo AP PS Buffer State
Frame Body
Il campo Frame Body ha lunghezza variabile e contiene informazioni specifiche per
ogni tipo e sottotipo. La sua lunghezza minima è 0 byte, mentre la lungezza massima
32
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
è espressa come MSDU+ICV+IV dove l'ICV e IV sono campi riguardanti la cifratura
WEP.
FCS Field
Il campo FCS è lungo 32 bit e contiene un CRC a 32 bit. Il FCS è calcolato su tutti i
campi dell‟header MAC e sul frame body usando il seguente generatore polinomiale
standard di grado 32:
G(x) = x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 +
x+1
L‟algoritmo per calcolare la checksum è il seguente:
1. Posto r il grado di G(x), si aggiungono r bit con valore 0 dopo la parte di ordine più basso del frame in modo tale che contenga m + r bit (m è il numero
di bit del frame) e corrisponda al polinomio xr M(x);
2. Dividere la sequenza corrispondente a G(x) per la sequenza corrispondente a
xr M(x) usando la divisione modulo 2 (il dividendo è xr M(x) e il divisore
G(x));
3. Sottrarre il resto (che contiene massimo r bit) dalla sequenza corrispondente
a xr M(x) usando la sottrazione modulo 2. Il risultato è il frame con checksum
pronto per la trasmissione.
33
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Capitolo 3
Meccanismi di difesa
Come accennato nell'introduzione, il diffondersi delle tecnologie wireless ha introdotto problemi di sicurezza nei livelli Fisico e DataLink prima inesistenti e che avrebbero pregiudicato il diffondersi di questa tecnologia molto utile. Sono stati messi a punto, di conseguenza, diversi meccanismi di difesa i quali garantiscono all‟utente medio
una certo grado di sicurezza.
Algoritmi di Cifratura
Gli algoritmi di cifratura sono algoritmi che si basano sul principio della crittografia.
Il termine 'crittografia' deriva da due parole del greco antico e letteralmente significa
'scrittura segreta'. La storia della crittografia inizia migliaia di anni fa; già nell'antica
Roma erano conosciuti dei meccanismi di crittografia, ne è un esempio il Cifrario di
Cesare.
I professionisti distinguono i termini cifrario e codice. Con cifrario s‟intende una trasformazione carattere per carattere (o bit per bit nel nostro caso) senza considerare la
struttura linguistica del messaggio. Viceversa il codice rimpiazza ogni parola del
messaggio con un altra parola o simbolo. Storicamente quattro gruppi di persone
hanno dato il loro contributo allo sviluppo della crittografia: i militari, il corpo diplomatico, gli scrittori di diari e gli amanti. Fra tutti i questi i militari hanno dato il
contributo più importante nel corso dei secoli.
Fino all‟avvento dei computer uno dei limiti della crittografia era la capacità di riuscire a compiere le operazioni necessarie spesso in campo di battaglie utilizzando un
equipaggiamento minimo. Un vincolo aggiuntivo era dato dal fatto di riuscire a
cambiare velocemente da un metodo crittografico a un altro in quanto significava
dover informare una gran quantità di persone. Comunque il pericolo che uno degli
addetti alla crittografia potesse essere catturato dal nemico rendeva necessario cambiare il metodo di crittografico all‟istante.
Queste considerazioni hanno dato origine al modello di cifratura a chiave simmetrica, presente tutt‟oggi negli algoritmi di cifratura che verranno spiegati più avanti.
34
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
I messaggi da cifrare, detti 'testi in chiaro' sono trasformati tramite una funzione parametrizzata da una chiave. L 'output del processo di cifratura, il testo cifrato, viene
trasmesso generalmente tramite un messaggero o una radio (o una rete wireless). Poniamo il caso che un intruso ascolti interamente il messaggio cifrato e lo trascriva da
qualche parte. Al contrario del destinatario legittimo l‟intruso non conosce la chiave
di decifrazione e quindi non riesce a decifrare facilmente il testo. In alcuni casi
l‟intruso oltre ad ascoltare il canale di comunicazione riesce anche a registrare i messaggi per poi ritrasmetterli aggiungendo delle informazioni oppure per modificare i
messaggi legittimi prima che raggiungano il destinatario.
L'arte di decriptare i cifrari, la criptoanalisi, e l‟arte di inventarli, la crittografia, sono note sotto il nome collettivo di crittologia. Decriptare è l‟atto di decifrazione da
parte di un intruso mentre decifrare è l‟operazione legittima di lettura di un messaggio cifrato .
E' utile avere anche una notazione per relazionare fra loro testo in chiaro, testo cifrato e le chiavi. Useremo la notazione C=Ek(P) per indicare che la cifratura del testo
in chiaro P, usando una chiave k, genera il testo cifrato C. Analogamente P=Dk(C)
indica la decifrazione di C per estrarre il testo in chiaro. Segue quindi che
P=Dk(Ek(P))
questa notazione suggerisce che D ed E sono semplicemente funzioni matematiche.
Il punto difficile è che si tratta di funzioni con due parametri: uno di essi è la chiave
mentre l‟altro è il messaggio.
Una regola base della crittografia afferma che bisogna sempre assumere che il criptoanalista conosca il metodo di cifratura e decifrazione. Lo sforzo necessario per inventare, testare e installare un nuovo algoritmo ogni volta che quello vecchio è compromesso ha sempre reso impraticabile la segretezza dell'algoritmo.
Qui entrano in gioco le chiavi. La chiave crittografica consiste di una stringa (relativamente corta) che identifica una particolare cifratura tra le molte possibilità. Diversamente dal metodo generale che può essere cambiato una sola volta ogni diversi
anni, la chiave può essere cambiata tutte le volte che si ritiene necessario. Quindi il
modello base è dato da un metodo generale stabile e noto pubblicamente, però parametrizzato da una chiave segreta che può essere cambiata facilmente.
Questa idea è detta principio di Kerchoff, dal nome di August Kerchoff, il crittografo fiammingo che per primo formulò il principio: tutti gli algoritmi devono essere pubblici, solo le chiavi sono segrete.
Le basi su cui si fonda la crittografia moderna sono le stesse idee base, i cifrari a sostituzione e i cifrari a trasposizione, vediamoli brevemente:
Cifrari a sostituzione: ogni lettera o gruppo viene rimpiazzato da un altra lettera o gruppo per mascherare il messaggio. Uno dei cifrari più antichi che si
conoscano è il cifrario di Cesare. Una semplice generalizzazione del cifrario di
Cesare consiste nello spostare l‟alfabeto del testo cifrato di k lettere. In que-
35
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
sto caso k diventa la chiave del metodo generale che consiste nell‟avere un alfabeto spostato circolarmente.
Cifrari a trasposizione: riordinano le lettere ma non le mascherano. Un esempio di cifrario a trasposizione è quello a trasposizione colonnare. La cifra in
questo caso ha come chiave una parola o una frase senza lettere ripetute. Lo
scopo della chiave è quello di numerare le colonne: la colonna numero 1 è
quella sotto la lettera della chiave più vicina all'inizio dell'alfabeto, e cosi via.
Il testo in chiaro viene scritto orizzontalmente per righe fino a riempire la
matrice, eventualmente usando anche alcuni caratteri di riempimento allo
scopo. Il testo cifrato viene letto per colonna cominciando con quella che ha
la lettera chiave più bassa.
Tradizionalmente i crittografi hanno sempre usato degli algoritmi semplici. Al giorno d‟oggi invece capita il contrario: l'idea è quella di rendere l'algoritmo sempre più
complesso per fare in modo che anche se il criptoanalista avesse a disposizione una
vasta quantità di testo cifrato non riesca comunque a capirci nulla senza avere la
chiave.
Gli algoritmi esaminati in questa sede sono i cosiddetti algoritmi a chiave simmetrica, in quanto usano la stessa chiave per cifrare e decifrare il testo in chiaro, e più
precisamente la modalità con cui operano è quella definita Stream Chiper. Questa
modalità funziona cifrando un vettore di inizializzazione con una chiave crittografica
per ottenere un blocco in uscita. Quest‟ultimo viene cifrato per produrre un secondo
blocco in uscita quindi si procede analogamente con il terzo ecc. La sequenza di blocchi cifrati in uscita viene chiamata Key Stream, viene usata come blocco monouso e
applicata in XOR sul testo in chiaro.
La decifrazione viene eseguita generando lo stesso Key Stream dal lato del ricevente.Visto che il Key Stream dipende solo dall‟IV e dalla chiave non è sensibile agli errori di trasmissione del testo cifrato. È essenziale che nella modalità Stream Chiper
non venga mai riutilizzata la coppia (chiave IV), perchè questo vorrebbe dire generare più volte lo stesso Key Stream. L'uso ripetuto dello stesso Key Stream espone il
testo cifrato all‟attacco di tipo Key Stream riutilizzato.
MAC Filtering e IP Filtering
Quando si tratta di protezione, la preoccupazione principale di gran parte delle piccole aziende è quella di tenere gli intrusi fuori dalle reti e consentire agli impiegati e
talvolta ai clienti di disporre di accesso immediato alla rete. A questo fine, il filtro
degli indirizzi MAC è il primo passo da compiere.
Contrariamente al nome sofisticato, il filtro degli indirizzi MAC ha una funzione
semplice, ma fondamentale: impedire agli hacker o altri utenti non autorizzati di accedere alla rete con l‟indirizzo o codice del dispositivo in uso durante il tentativo di
accesso.
36
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Dai notebook ai PDA, ogni dispositivo wireless dispone di una scheda wireless mobile e ogni scheda dispone di un indirizzo MAC univoco. In altre parole, l'indirizzo
MAC è l'equivalente tecnologico delle impronte digitali.
Il filtro degli indirizzi MAC funziona come un sofisticato sistema di sicurezza di un
laboratorio di ricerca top-secret. In un laboratorio, ogni scienziato che tenta di entrare viene sottoposto a scansione delle impronte digitali dal sistema. Quando le impronte non vengono riconosciute, il sistema blocca l'entrata al laboratorio.
L'equivalente dello scanner per le impronte digitali in una rete wireless è il punto di
accesso o il gateway, che nella maggior parte delle reti è rappresentato da un router.
Grazie al filtro degli indirizzi MAC, è possibile controllare l'accesso alla rete aziendale
configurando il router/punto di accesso, in modo che solo i dispositivi wireless con
indirizzi MAC riconosciuti vengano autorizzati. Se il router/punto di accesso non riconosce l'indirizzo MAC del dispositivo, l'utente che utilizza tale dispositivo non è in
grado di accedere alla rete.
L‟IP Filtering è un metodo che funziona come il MAC Filtering, con la differenza
che al posto di agire sugli indirizzi MAC, decide quali tipi di datagrammi IP saranno
processati normalmente e quali saranno scartati.
Proxy
Un Proxy è un programma che si interpone tra un client ed un server, inoltrando le
richieste e le risposte dall'uno all'altro. Il client si collega al Proxy invece che al
server, e gli invia delle richieste. Il Proxy a sua volta si collega al server e inoltra la
richiesta del client, riceve la risposta e la inoltra al client.
A differenza di bridge e router, che lavorano ad un livello ISO/OSI più basso, i
proxy nella maggior parte dei casi lavorano a livello applicativo; di conseguenza un
programma proxy gestisce un numero limitato di protocolli applicativi.
Un caso in cui viene spesso usato un Proxy è la navigazione web (denominato Proxy
HTTP dal nome del protocollo usato). Per utilizzare un Proxy è possibile configurare
il client in modo che si colleghi al Proxy invece che al server, oppure definire un
Proxy trasparente; in questo caso, a seconda della configurazione, alcune connessioni
(ad esempio quelle HTTP) vengono automaticamente indirizzate al Proxy senza che
sia necessario configurare un client (quindi l'impostazione rimane attiva anche cambiando client).
Un proxy può essere usato per una o più delle seguenti ragioni:
Connettività: per permettere ad una rete privata di accedere all'esterno è possibile configurare un computer in modo che faccia da Proxy tra gli altri computer e Internet, in modo da mantenere un unico computer connesso all'esterno, ma permettere a tutti di accedere. In questa situazione, solitamente il
Proxy viene usato anche come firewall.
37
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Caching: un Proxy può immagazzinare per un certo tempo i risultati delle richieste di un utente, e se un altro utente effettua le stesse richieste può rispondere senza dover consultare il server originale.
Monitoraggio: un Proxy può permettere di tenere traccia di tutte le operazioni effettuate (ad esempio, tutte le pagine web visitate), consentendo statistiche ed osservazioni dell'utilizzo della rete che possono anche violare la
privacy degli utenti.
Controllo: un Proxy può applicare regole definite dall‟amministratore di sistema per determinare quali richieste inoltrare e quali rifiutare, oppure limitare l‟ampiezza di banda utilizzata dai client, oppure filtrare le pagine Web
in transito, ad esempio bloccando quelle il cui contenuto è ritenuto offensivo
in base a determinate regole.
Privacy: un Proxy può garantire un maggiore livello di privacy mascherando
il vero indirizzo IP del client in modo che il server non venga a conoscenza di
chi ha effettuato la richiesta.
Quando la configurazione della rete consente di collegarsi ad internet solamente attraverso un Proxy, non sono ovviamente utilizzabili molti tipi di applicazioni basate
su protocolli non supportati dal Proxy, ad esempio giochi on-lin, webcam, programmi di messaggistica istantanea, servizi VoIP, applicazioni di file-sharing. Talune di
queste applicazioni sono state modificate per poter far passare il proprio traffico incapsulato in HTTP e quindi per poterlo veicolare in un Proxy.
PPPoE
PPPoE (Point-to-Point Protocol over Ethernet) è un protocollo punto a punto operante su Ethernet, una nuova alternativa per le connessioni Internet ad alta velocità.
Sebbene non sia uno standard Internet, il PPPoE è descritto nell'informativo RFC
2516.
È un protocollo di rete che permette di incapsulare frame PPP in frame Ethernet. È
usato soprattutto per i servizi DSL. Fornisce le caratteristiche standard di un protocollo PPP come l'autenticazione, la cifratura e la compressione. Purtroppo adotta
un'unità massima di trasmissione minore di quella standard Ethernet e questo comporta qualche problema in presenza di firewall mal configurati.
Il PPPoE è un protocollo di tunneling che permette di incapsulare il livello IP su
una connessione tra due porte Ethernet pur mantenendo le caratteristiche di un collegamento PPP, per questo motivo è utilizzato per "comporre il numero" virtualmente di un altro computer dotato di connessione Ethernet e stabilire una connessione punto-punto con esso, su questa connessione vengono poi trasportati i pacchetti IP in base alle caratteristiche del PPP.
È possibile utilizzare i normali programmi basati sul PPP per gestire una connessione che utilizza una rete orientata al pacchetto come Ethernet invece che una linea
seriale e fornire una classica connessione con login e password per accedere ad
38
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Internet. L'indirizzo IP all'altro capo della linea è assegnato solamente quando la
connessione è aperta quindi questo protocollo permette di usare gli indirizzi IP in
modo dinamico.
VPN
Una Virtual Private Network o VPN è una rete privata instaurata tra soggetti che
utilizzano un sistema di trasmissione pubblico e condiviso come per esempio
Internet. Lo scopo delle reti VPN è di dare alle aziende le stesse possibilità delle linee
private in affitto ad un costo inferiore sfruttando le reti condivise pubbliche. Le reti
VPN utilizzano collegamenti che necessitano di autenticazione per garantire che solo
gli utenti autorizzati vi possano accedere; per garantire la sicurezza che i dati inviati
in Internet non vengano intercettati o utilizzati da altri non autorizzati, esse utilizzano sistemi di crittografia.
Le reti VPN sicure adottano dunque protocolli che provvedono a cifrare il traffico
transitante sulla VPN. Oltre alla cifratura, una VPN sicura deve prevedere nei suoi
protocolli dei meccanismi che impediscano violazioni della sicurezza, come ad esempio il furto dell'identità digitale o l'alterazione dei messaggi.
Il termine VPN è un termine generico e non un marchio. In particolare, non esiste
alcun ente che regoli la denominazione di un prodotto come VPN, che quindi ogni
produttore può utilizzare a suo arbitrio.
Esistono tuttavia vari organismi indipendenti, largamente riconosciuti, che certificano interoperabilità e sicurezza dei sistemi informatici, come ad esempio ICSA
Labs. Un apparato o un software, che riporti il marchio di ICSA Labs per le VPN
IPSec, ha sicuramente superato una serie di test oggettivi e replicabili, che garantiscono la compatibilità con tutte le altre implementazioni certificate ed un adeguato
livello di sicurezza. È oggi opinione comune che una VPN correttamente progettata
abbia un grado di sicurezza comparabile con quello di una rete dedicata.
Per mezzo di una VPN, utilizzando una connessione Internet si è comunque in grado
di effettuare una connessione al proprio ufficio, con una telefonata al numero telefonico dell'accesso Internet più vicino. Se si dispone di una connessione Internet ad alta velocità (ad esempio via cavo o ADSL) per il proprio computer e per i computer
aziendali, è possibile connettersi in rete con il proprio ufficio alla velocità relativamente alta della connessione Internet utilizzata.
Generalmente una VPN comprende due parti: una interna alla rete, e quindi protetta, che preserva la trasmissione, e una meno affidabile e sicura che è quella esterna
alla rete private, ad esempio via Internet.
Nelle VPN c‟è in genere un firewall tra il computer del dipendente o di un cliente e il
terminale della rete o del server. Il dipendente, per esempio, quando stabilisce la
connessione con il firewall, deve autenticare i dati che vuole trasmettere, passando
attraverso un servizio di autenticazione interno.
39
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Un utente autenticato può essere provvisto di privilegi particolari per accedere a risorse che generalmente non sono accessibili a tutti gli utenti. La maggior parte dei
programmi client richiede che tutto il traffico IP della VPN passi attraverso un
“Tunnel” virtuale tra le reti utilizzando Internet come mezzo di collegamento. Dal
punto di vista dell‟utente ciò significa che, mentre la connessione VPN è attiva, tutti
gli accessi esterni alla rete sicura devono passare per lo stesso firewall come se
l‟utente fosse fisicamente connesso all‟interno della rete sicura. Questo riduce il rischio che utenti esterni possano accedere alla rete privata dell‟azienda.
La sicurezza della connessione VPN è di importanza fondamentale, perché la rete su
cui gli altri computer stanno lavorando potrebbe non essere sicura, o esserlo solo parzialmente. La VPN deve quindi garantire un livello di sicurezza tale da proteggere i
computer dei dipendenti che stanno lavorando simultaneamente sulla stessa rete, tra
i quali uno potrebbe essere stato infettato da un virus, un Worm o un Trojan.
Regole di Base
Una corretta configurazione degli apparati è un buon inizio per proteggere la rete
wireless. Grazie ad alcuni accorgimenti, è possibile "sviare" un eventuale intruso nascondendo dettagli preziosi e rendendo più difficile l'identificazione della rete su cui si
sta collegando. Oltre ai metodi di sicurezza precedentemente elencati si ravvisano altri metodi di protezione che aiutano una LAN Wireless ad acquistare un certo grado
di sicurezza.
Cambiare gli SSID di default
Il Service Set Identifier (SSID) identifica univocamente ogni punto di accesso all interno della rete. Tramite una configurazione opportuna, soltanto i dispositivi che utilizzano la corretta SSID possono comunicare con i punti di accesso. Molti dei dispositivi hanno già preconfigurato un SSID di default: un intruso può usare questi nomi
per cercare di accedere ad AP che hanno ancora la configurazione di fabbrica.
Utilizzare SSID non descrittivi
Usare SSID descrittivi facilita il compito di un eventuale intruso nell'individuare
luoghi o aziende e nel ricavare maggiori informazioni su come entrare. Si consiglia di
utilizzare nomi anonimi o altamente scoraggianti come "AC01MLX", "HoneyPot01"
o "GoAway01".
Disabilitare il Broadcast SSID
Gli AP mandano ad intervalli regolari Beacon Frames per la sincronizzazione con i
client, i quali contengono il SSID. Questi frame servono ai client per configurarsi automaticamente la rete di accesso, ma servono anche a potenziali aggressori durante
la ricerca delle reti wireless. È auspicabile disabilitare il Broadcast SSID qualora
l'AP supporti questa opzione. Il client dovrà essere configurato manualmente con il
SSID corretto per poter accedere alla rete.
40
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Cambiare le password
Come per gli SSID, è importante cambiare le password di default degli AP. È buona
norma che la password sia lunga almeno otto caratteri e che includa caratteri speciali
e numeri.
Aggiornare il Firmware
Nella scelta di un Access Point, è preferibile orientarsi verso un apparato che abbia
la possibilità di aggiornare il suo Firmware. È bene pertanto assicurarsi che l'Access
Point abbia l'ultimo livello di Firmware consigliato dal produttore.
Spegnere l'AP quando non serve
Gli intrusi agiscono solitamente durante la notte e il fine settimana, ovvero quando
la rete ed i sistemi non sono controllati. È consigliato, quando possibile, collegare gli
Access Point ad un timer, in modo da spegnerli quando non vengono utilizzati.
Minimizzare l'intensità del segnale
Gli intrusi sfruttano il fatto che le onde radio non si possono limitare a dei luoghi
ben definiti, esempio l'ufficio vendite, ma riescono ad espandersi fuori dalle mura perimetrali dall'ufficio. Da qui la definizione del nome "parking lot attack", o più semplicemente attacchi provenienti dal parcheggio. È pertanto importante scegliere
un'adeguata collocazione dell'Access Point all'interno dell'edificio, in modo che il segnale sia sufficiente a garantire il collegamento solo ed esclusivamente alla zona interessata. Attraverso appositi strumenti radio o di audit, è necessario verificare che il
segnale non sia visibile all'esterno del palazzo o della zona identificata. Per minimizzare l'intensità del segnale, è sufficiente non posizionare l'AP vicino alle finestre e usare antenne direzionali con basso guadagno in decibel. Alcuni AP inoltre hanno la
possibilità di definire l'intensità del segnale via software.
Cambiare le community di default di SNMP
Su molti AP risulta installato un agente SNMP (Simple Network Management Protocol). Se la community password non risulta correttamente configurata, un aggressore può leggere e scrivere dati di configurazione sull‟AP, in maniera analoga ad altri
sistemi che supportano SNMP.
Limitare il traffico di broadcast
Alcuni protocolli, in particolare il NetBIOS su TCP/IP usato da Windows, usano assiduamente i messaggi di broadcast. Questi messaggi di broadcast contribuiscono ad
incrementare il valore IV del sistema WEP minimizzando per un intruso i tempi di
raccolta dei dati per ricavare la chiave WEP. È consigliabile limitare il traffico di
broadcast quando possibile, ad esempio disattivando il protocollo NetBIOS su
TCP/IP dal binding con la scheda di rete Wireless.
41
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Protezione del client
Alcuni attacchi sono mirati ai client wireless in quanto vengono usati come ponte
per entrare nella rete interna e per ricavare preziose informazioni. Ad esempio, alcuni
client wireless scrivono in chiaro, nel registry di Windows o in un file di testo, le
chiavi WEP di crittografia. È preferibile usare un personal firewall sui client in modo
da ridurre i rischi di attacchi.
Non utilizzare il DHCP
È consigliabile non utilizzare il DHCP per l'assegnazione dinamica degli indirizzi,
ma considerare l'utilizzo di IP statici. Anche se è un ulteriore impegno per l'amministratore, è assai utile per evitare che la rete wireless attribuisca indirizzi IP validi a
chiunque voglia associarsi con l'AP. Anche se un attaccante, utilizzando uno sniffer
wireless, può facilmente ricavare gli IP, il fatto di non distribuirli via DHCP rappresenta un'ulteriore barriera. Inoltre, è consigliabile evitare di usare indirizzamenti di
default facilmente intuibili come 192.168.1.0 o 192.168.0.0.
Uso di una VLAN separata
È consigliabile utilizzare una Virtual LAN separata per il traffico wireless, separandola dalla rete intranet. Esistono varie metodologie, che vedremo in seguito, per unire in maniera sicura le due LAN, tra le più semplici ricordiamo l'uso di un router/swich con capacità di filtro IP o un proxy. In alcune piccole aziende e in ambienti
SOHO (Small Office, Home Office) dove la protezione della rete non rappresenta un
problema, queste semplici regole sono sufficienti a proteggere l'accesso wireless. In
ambienti più critici, dove è necessario mantenere la confidenzialità dei dati, è necessario applicare delle regole più rigorose: vedremo nei prossimi capitoli quali sono le
tecniche per proteggere tali ambienti.
42
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Capitolo 4
WEP (Wired Equivalence Protocol)
Lo standard IEEE 802.11 definisce un meccanismo per garantire la privacy nelle
comunicazioni, questo meccanismo è il WEP che sta per Wired Equivalence Protocol, come suggerisce il nome si pone l'obiettivo di garantire un sistema di sicurezza
equivalente a quello delle reti cablate.
Chiamato anche WEP 40 viene definito come un metodo per garantire la riservatezza di dati scambiati tra utenti autorizzati di una WLAN da possibili intercettazioni.
In questo caso il numero 40 sta ber la lunghezza della chiave (40 bit). L'implementazione del WEP è opzionale, in quanto lo stesso algoritmo può essere usato con una
chiave a 104 bit (WEP 104). Il meccanismo di cifratura e decifratura è lo stesso sia
con chiave a 40 che a 104 bit. Il termine WEP quindi si riferisce ad entrambi.
Formato MPDU
La seguente figura illustra il formato di una MPDU (MAC Protocol Data Unit) cifrata attraverso l‟algoritmo WEP.
Figura 17 – Formato di una MPDU WEP
43
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Il campo WEP ICV è lungo 32 bit mentre il frame body espanso inizia con un campo
IV a 32 bit che contiene tre sottocampi: IV da 3 bytes, Key ID da 2bit e Pad da 6
bit.
Il Key ID (formato dai 2 bit più significativi) contiene una delle quattro possibili
combinazioni di valori della secret key usata per decriptare il frame body. Il Key ID
viene ignorato quando si usano chiavi key-mapped. Il valore del Pad deve essere 0.
Chiavi di cifratura
Il WEP usa solo chiavi di cifratura e non viene eseguita nessuna autenticazione,
quindi non ha nessuna chiave di integrità dei dati. Vengono usati due tipi di chiavi di
cifratura: key-mapping e chiave di default.
Una chiave key-mapping è una chiave anonima corrispondente a una coppia distinta indirizzo trasmittente - indirizzo ricevente. Questa chiave deve essere usata per
criptare e decriptare frame trasmessi da TA verso RA senza tenere conto della presenza di altri tipi di chiavi. Quando è presente una chiave key-mapping per una coppia di indirizz, il sottocampo Key ID deve essere impostata a 0 in fase di trasmissione o ignorato in fase di ricezione.
Una chiave default è un elemento di un array di 4 elementi chiamato
"dot11WEPDefaultKeys", designato dal valore di un indice di un array ad esso correlato chiamato "dot11WEPDefaultKeyID". Se non viene configurata nessuna
chiave key-mapping WEP deve usare una chiave di default per criptare o decriptare
il frame. Durante la trasmissione la chiave selezionata è l'elemento dell‟array dato
dal suo indice correlato da 0 a 3. Il valore che il trasmettitore inserisce nel campo
Key ID del frame trasmesso deve essere il valore dell'indice che punta all‟elemento
dell‟array che fa da chiave. Il ricevitore deve usare il valore dell‟array, il cui indice è
il valore del campo key ID, per decriptare il frame. Tutte le implementazioni devono
supportare il default key.
Il valore di default per ogni chiave WEP deve essere Null. Tutte le implementazioni
WEP devono scartare il frame, generare un messaggio di conferma indicando anche
lo stato di trasmissione e che il frame può non venire incapsulato con una chiave nulla in risposta ad ogni richiesta di incapsulare un frame con una chiave nulla.
Algoritmi di cifratura
L'implementazione WEP deve usare l'ARC4 Stream Chiper come il suo algoritmo di
decifratura. ARC4 usa un generatore pseudo casuale (PRNG) per generare una key
stream che viene utilizzata come operando di un XOR assieme al plaintext del frame
da trasmettere, per produrre il chiper text o per recuperare un plaintext dal chiper
text.
44
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
RC4
Per generare il keystream lo stream chiper fa uso di uno stato interno che consiste di
due parti:
una permutazione di tutti i 256 possibili bytes (S[ ]);
due indici da 8-bit (i, j).
La permutazione è inizializzata con una chiave a lunghezza variabile tra i 40 e i 256
bit utilizzando l'algoritmo di key-scheduling (KSA). Una volta completata la permutazione, lo stream di bits è generato usando uno algoritmo di generazione pseudocasuale (PRGA).
Key Scheduling Algorithm (KSA)
L‟algoritmo KSA è usato per inizializzare la permutazione dell‟array "S[ ] ". Viene
definita la lunghezza della chiave come numero di byte della chiave (possono essere
tra 1 e 256 bytes ma tipicamente sono tra 5 e 16 bytes corrispondenti alla lunghezza
do 40-128 bit). Per cominciare l‟array è inizializzato come la "permutazione identità", ossia l'elemento i-esimo del vettore ha come valore i.
Un esempio di KSA in codice C:
for (i=0;i<=255;i++) S[i]=i;
j=0;
for (i=0 ; i<=255; i++)
{
j=( j + S[i] + key[ i % keyLenght ] ) % 256;
swap( S[i],S[j] );
}
Pseudo Random Generation Algorithm (PRGA)
Per ogni iterazione necessaria PRGA modifica lo stato e restituisce un byte del keystream. Inoltre incrementa i, aggiunge il valore di S[i] a S[j], scambia i loro valori e
poi restituisce il valore di S alla posizione (S[i]+ S[j] % 256). Ogni valore di S è
scambiato almeno una volta ogni 256 iterazioni.
Un esempio di PRGA in codice C:
i=0;
j=0;
for (k=0 ; k<=255 ; k++)
{
i=(i + 1) % 256;
j=(j + S[i]) % 256;
swap(S[i],S[j]);
return S[(S[i] + S[j]) % 256];
}
45
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Implementazione RC4
Molti Stream Chiper sono basati su un "linear feedback shift register" (LFSR), cosa
che li rende efficienti dal punto di vista hardware ma non altrettanto dal punto di vista software.
L'implementazione di RC4 evita l'uso di LFSRs ed è ideale per l'implementazione
software in quanto richiede solamente manipolazione di byte. Usa 256 bytes di memoria per l'array di stato S[ ], k byte di memoria per la chiave da key[0] a key[k-1], e
le variabili intere i, j, k .
Figura 18 - Un'implementazione JAVA dell'RC4
Costruzione del Seme
L'implementazione WEP deve creare una chiave intermedia, un seme, concatenando
una chiave di cifratura con un IV. Nel caso di WEP 40 i bit da 0 a 39 della chiave
WEP corrispondono ai bit 24-63 del seme, dove i primi 24 bit sono i bit da 0 a 23
dell‟IV.
Il seme deve essere dato come input all‟ARC4 per decriptare i campi WEP dati e
ICV.
46
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Incapsulamento Crittografico di una MPDU
Il primo passo dell'algoritmo prevede che la chiave segreta sia concatenata con un
Initialization Vector (IV) e che la stringa risultante costituisca il seme per il PNRG.
L‟output del PNRG sarà un key stream k la cui lunghezza è esattamente uguale a
quella del messaggio che sarà trasmesso in rete.
Per proteggere dalla modifica del messaggio durante la trasmissione, gli si applica un
algoritmo di controllo di integrità. Nel caso specifico del WEP viene utilizzato CRC32. Il risultato di questa operazione chiamato Integrity Check Value (ICV) e sarà
concatenato al messaggio stesso. Il processo di cifratura termina quindi calcolando lo
XOR tra il keystream k ed il testo in chiaro concatenato con lo ICV.
Il messaggio finale, pronto per la trasmissione viene ottenuto unendo al cifrato lo IV
iniziale in chiaro. È necessario che l‟IV sia inviato in chiaro per permettere la decodifica al destinatario. La decodifica di un messaggio ricevuto, prevede una fase iniziale
in cui si genera lo stesso key stream k utilizzato per la codifica.
Questo avviene prendendo l‟IV del messaggio ricevuto, concatena dolo alla chiave
segreta ed infine utilizzando la stringa ottenuta come input del PNRG. Quindi si calcolerà lo XOR tra il keystream ottenuto ed il messaggio cifrato.
Questo procedimento è schematizzato dalla figura che segue:
Figura 19 - Incapsulamento di una MPDU
Scapsulamento Crittografico di una MPDU
WEP deve applicare tre trasformazioni al frame wep per decifrare il suo payload.
Innanzitutto estrae l‟IV e l‟identificatore della chiave dal frame ricevuto. Se è presente una key mapping, questa deve essere usata come chiave WEP, altrimenti viene
estratto la Key ID dal relativo campo per identificare la chiave da usare.
WEP usa il seme costruito per decriptare il campo dati del frame; questo produce un
plaintext e un ICV. Alla fine WEP ricalcola l‟ICV e lo confronta con quello decriptato, se sono identici allora l‟algoritmo rimuove l‟IV e l‟ICV e accetta il frame come va-
47
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
lido. Se invece ci sono differenze allora WEP genera un errore di MAC management e
in questo caso i pacchetti non vengono passati a livello successivo.
Il procedimento appena descritto è schematizzato dalla figura che segue:
Figura 20 - Scapsulamento di una MPDU
Vulnerabilità dell’algoritmo WEP
Innanzi tutto va sottolineato, che il protocollo WEP non si è sforzato di migliorare
la sicurezza rispetto alle tradizionali Ethernet, dove un client può intercettare sniffando il traffico degli altri utenti sulla rete. La condivisione a livello di rete della
stessa chiave infatti può permettere a chiunque appartiene a quella rete di violare la
privacy degli appartenenti alla rete, ed inoltre la perdita di una singola chiave rende
vulnerabili tutti gli Host della rete.
Altro problema è dato dal fatto che molte schede all‟accensione resettano l‟IV e la
probabilità di intercettare sovrapposizioni di IV è tanto più alta, specialmente in alcune fasce orarie. In questo caso l‟IV è incrementato di uno per ogni suo utilizzo.
Anche nel caso in cui la scheda 802.11 selezioni un numero casuale per gli IV di ogni
pacchetto, visto che l‟IV usa 24bit, dopo aver inviato 224 pacchetti ci sarà sicuramente il riutilizzo di alcuni valori di IV. La situazione nel caso di IV generati casualmente è anche peggiore, in quanto il numero medio di pacchetti che devono essere trasmessi prima di avere una ripetizione è solamente 5000.
La sicurezza di RC4 garantisce che un attaccante in possesso solo di un IV e del corrispondente Ciphertext non sia in grado di risalire alla Chiave di Cifratura. L‟IV garantisce la cifratura di ogni pacchetto con una chiave intermedia diversa, e questo è
uno dei punti fondamentali dell‟algoritmo. D‟altra parte, se lo stesso IV fosse usato
più volte con la stessa chiave WEP, l‟algoritmo non sarebbe più sicuro.
48
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
IV Collision
Un modo di infrangere la sicurezza del WEP senza conoscere la Shared Secret Key,
consiste nel catturare passivamente una grande quantità di pacchetti, ma questa
volta ponendo attenzione alla collisione degli IV. Una collisione IV avviene quando 2
o più pacchetti sono codificati con lo stesso valore dello IV, quindi la stessa chiave
WEP.
Quando una collisione si verifica, facendo uno XOR logico con i 2 pacchetti, possiamo eliminare la codifica:
C1 ⊗ C2 = (P1 ⊗ K) ⊗ (P2 ⊗ K) = P1 ⊗ P2
ove C1 e C2 sono i Ciphertext e P1, P2 i Plaintext. Il risultato è che abbiamo eliminato la Chiave di Cifratura ed ottenuto lo XOR dei Plaintext. Ora se un attaccante
fosse in grado di conoscere uno dei due Plaintext, sarebbe in grado di ottenere l‟altro
con un semplice XOR.
P1 ⊗ (C1 ⊗ C2) = P1 ⊗( P1 ⊗ P2) = P2
Non solo, conoscendo un Plaintext ed il corrispondente Ciphertext, si può ottenere
di nuovo con un XOR la Chiave di Cifratura:
P1 ⊗ C1 = P1 ⊗ (P1 ⊗ K) = K
Le collisioni IV avvengono molto frequentemente, grazie a determinati fattori:
Lo IV-keyspace di 24-bit non è abbastanza grande per garantire che non ci
siano collisioni per un periodo di tempo molto lungo. Infatti un AP che invia
pacchetti di 1500 byte a 11Mbps sicuramente consumerà il keyspace dell‟IV
in meno di 5 ore.
Molte schede Wireless (NIC) resettano gli IV a 0 ogni volta che la scheda è inizializzata e viene incrementato di 1 ogni per ogni pacchetto. Questo significa che ogni trasmissione inizia con un ben determinato e ripetitivo IV, dando
quindi l‟opportunità per avere collisioni IV e garantire ad un cracker di scoprire l‟IV.
La sicurezza WEP è basata sull'assunzione che la chiave segreta debba essere
cambiata molto di frequente, cosa che in realtà non accade per la sua natura
manuale dell'operazione, cioè cambiare la chiave segreta a tutti gli host che
partecipano ad una determinata struttura di rete.
Grazie a tutti questi fattori, abbiamo la certezza che le collisioni IVavvengono molto
di frequente. Alla luce di queste vulnerabilità molti Produttori di prodotti Wireless,
hanno offerto aggiornamenti per i loro prodotti, migliorando la generazione e la casualità dello IV e di conseguenza riducendo il numero di chiavi WEP identiche.
WEP Key Recovery
Conoscendo alcune Chiavi di Cifratura K ed i relativi IV e sfruttando una debolezza
dell‟algoritmo RC4 scoperta da Fluhrer, Mantin e Shamir che vedremo più appro-
49
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
fonditamente fra poco, con un po‟ di sforzo ulteriore e l‟utilizzo di tecniche di criptoanalisi differenziale, si può risalire alla chiave WEP e così rompere completamente la
sicurezza.
Purtroppo tutto questo capita in WEP. Infatti come abbiamo detto, l‟IV è un numero a 24 bit, e quindi permette di creare solo circa 17 milioni di chiavi intermedie.
Ipotizzando di inviare pacchetti di 1500Bytes a 11Mbps, ognuno con un IV diverso,
e quindi sarebbero sufficienti 5 ore per esaurire gli IV. In pratica però ci vuole molto
meno, poiché ad esempio in caso di errori di trasmissione il protocollo WEP richiede
la re inizializzazione degli IV. Se poi gli IV fossero dati in modo casuale, ci vorrebbe
ancora meno per avere una ripetizione.
Inoltre non è necessario conoscere completamente un Plaintext o fare un Known
Plaintext Attack, infatti sfruttando gli header dei pacchetti, che sono spesso facilmente indovinabili, ed i pacchetti che spesso si ripetono nella rete, per esempio ARP,
IP o SNAP, è possibile ottenere sufficienti informazioni per ricostruire la Chiave di
Cifratura. Il tutto è così semplice, che esistono programmi come Airsnort e Wepcrack
che rendono del tutto automatico l‟ottenimento della chiave (non più segreta a questo punto) WEP. Se la chiave WEP è di 40 bit, poche ore di ascolto su di una rete
WiFi (con sufficiente traffico) permettono di ottenere la chiave stessa. Se la chiave
WEP è invece di 104 bit, molte più coppie (Chiave di Cifratura, IV) e molte più ore
sono necessarie per risalire alla chiave WEP.
Quando un IV è stato forzato, tutti i pacchetti che in futuro verranno inviati con
quell‟IV possono essere decifrati. Dopo aver determinato una coppia valida (IV, Keystream), si può usare l‟informazione per generare tutti i pacchetti che desidera e
quindi interferire con la comunicazione promuovendo attacchi di tipo DoS (Denial of
Service). Teoricamente, ricevente potrebbe notare che un gran numero di pacchetti
improvvisamente utilizzano lo stesso IV, ma il WEP lo permette, nessun controllo
interviene a seguito di questo comportamento. Infine notiamo che il CRC non serve a
molto in questo caso, in quanto l‟attaccante può cambiare tutto il payload ed effettuare anche il corrispondente cambiamento al CRC, senza neanche dover rimuovere
la cifratura.
A parziale scusante dell‟IEEE e della WiFi Alliance, bisogna dire che se non fosse
stata scoperta questa debolezza di RC4, sarebbe molto più difficile, se non quasi impossibile, fare l‟ultimo passo per ottenere la chiave WEP. D‟altronde, con una corretta gestione dell‟IV e delle chiavi, RC4 è ancora un protocollo sicuro. Se sin
dall‟inizio il WEP avesse previsto la generazione frequente della chiave segreta iniziale di crittazione, questo problema non sarebbe sorto.
L'attacco di Fluhrer, Mantin e Shamir
Fluhrer, Mantin e Shamir hanno descritto un attacco passivo contro il cifrario RC4.
Essi hanno mostrato come sia possibile ricavare l'intera chiave utilizzata per inizializzare il cifrario conoscendone soltanto una parte. Il WEP è vulnerabile a quest'attacco in quanto una porzione della chiave (il vettore di inizializzazione) è spedita in
chiaro al destinatario.
50
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
In particolare questo attacco per ogni IV∙k sfrutta soltanto il primo byte di output
del cifrario. Analizzando il codice del PRGA mostrato precedentemente si nota che il
primo byte generato dipende solo da tre valori: prima della chiamata alla funzione
sia i che j valgono 0, quindi dopo la prima esecuzione si avrà i = 1, j = S[1] e il valore
ritornato sarà S[S[1] + S[S[1]]].
Figura 21 - Rappresentazione del vettore di stato S
Inoltre è stato dimostrato da Fluhrer, Mantin e Shamir che se in fase di inizializzazione l‟algoritmo raggiunge uno stato in cui i è maggiore o uguale a 1, a X e a X+Y,
allora con una probabilità maggiore di e-3≈0.05 nessuno di questi tre elementi prenderà parte ad ulteriori scambi. Gli autori definiscono questa situazione una resolved
condition.
Sebbene sembri improbabile, è abbastanza semplice procurarsi il primo byte di
output del cifrario. Le reti wireless infatti utilizzano il protocollo LLC [3] (definito
dallo standard IEEE 802.2) a livello Data Link, che prevede l'incapsulamento dei
pacchetti IP in un ulteriore frame con un header SNAP (SubNetwork Access Protocol) che ha sempre il valore 0xAA come primo byte. Facendo quindi uno XOR tra il
primo byte del crittotesto e il valore 0xAA si ottiene il primo byte di output del cifrario.
Inoltre, poiché il vettore di inizializzazione è 'per packet', il cifrario verrà inizializzato ad ogni pacchetto inviato, il quale quindi conterrà sempre il primo byte generato
da RC4. Nell'articolo vengono definiti deboli quegli IV che lasciano trasparire informazioni utili ad individuare parte della chiave contenuta nel primo byte di output
del cifrario. Essi sono nella forma (A+3, N1, X)2, dove A è il byte della chiave segreta che si vuole individuare, N è il modulo utilizzato dall'algoritmo (nel caso del WEP
uguale a 256) e X è un valore arbitrario compreso tra 0 e 255.
Sia K la chiave in cui i primi 3 byte sono formati dall‟IV e i restanti dalla chiave segreta. Supposto che si conoscano i primi A byte della chiave segreta (con A inizialmente uguale a 0), ovvero K[3]...K[A+2], si vuole individuare il valore K[A+3]. Vediamo come si comporta l‟algoritmo KSA con un IV del tipo (A+3, N1, X): alla prima iterazione del secondo ciclo vengono impostati i = 0 e j = K[0] e viene fatto lo
swap dei valori in S alle posizioni i e j.
Figura 22 – Vettori dopo la seconda iterazione del KSA
51
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Il primo vettore rappresenta la chiave di inizializzazione k, mentre il secondo vettore
rappresenta la permutazione S dopo la seconda iterazione del ciclo for. Da questo
punto in poi l‟algoritmo di inizializzazione proseguirà differentemente in base al particolare IV in quanto i verrà ancora incrementato di 1 e j dipenderà dal valore X:
j = A + 3 + S[2] + K[2] = A + 3 + 2 + X
Tuttavia l‟attaccante conosce X (perché fa parte del vettore di inizializzazione) e
conosce anche i valori k[3]...k[A+2] (per l'ipotesi sopra formulata), quindi eseguendo
l‟algoritmo ne può prevedere il comportamento fino al passo A+3. A questo punto
l'attaccante conoscerà il valore jA+2 e il valore della permutazione SA+2. Se i primi
due valori di S saranno diversi da A+3 e 0 (cioè se sono stati coinvolti in ulteriori
swap) allora l'attaccante scarterà quel pacchetto e ne proverà un altro, altrimenti si
avrà:
jA+3 = jA+2 + SA+2[A + 3] + K[A + 3]
ovvero
K[A+3] = jA+3 − jA+2 − SA+2[A + 3]
Poiché i e j verranno scambiati in SA+2, si avrà che SA+3[A+3] = SA+2[jA+3], ovvero
jA+3 sarà la posizione in SA+2 in cui appare il valore SA+3[A+3]. Inoltre iA+3 (uguale a
A+3) avrà raggiunto la resolved condition (con riferimento alla figura 1 abbiamo infatti X = 0 e X+Y = A+3) e quindi, con una probabilità p > e-3≈0.05, SA+3[A+3] sarà
proprio il primo byte di output del cifrario. Analizzando circa 60 IV questa probabilità sale già a 0.5. A questo punto si hanno tutti gli elementi per calcolare k[A+3] e
iterando questo procedimento per tutti i valori di A l'attaccante è in grado di ricostruire l‟intera chiave segreta.
L'attacco di Klein
Per recuperare un'intera chiave con l'attacco precedentemente descritto occorrono
da 1.000.000 a 5.000.000 di pacchetti, in quanto non tutti i pacchetti contengono un
IV che determina una resolved condition. Un netto miglioramento si è avuto a seguito degli studi di Andreas Klein su RC4. Egli ha dimostrato l'esistenza di una forte
correlazione tra i valori osservabili i e S[S[i]+S[j]] e i valori j, S[i] e S[j] relativi allo
stato interno del cifrario. Per semplicità di notazione indichiamo con k il valore
S[i]+S[j], cosicché l'output del cifrario sarà dato dal valore S[k], mentre con K indichiamo la chiave di inizializzazione del cifrario.
Klein ha dimostrato che fissato un valore i minore di n:
Per capire come sfruttare questa probabilità analizziamo i primi due passi
dell‟algoritmo di inizializzazione di RC4. Inizialmente S[i] = i per ogni valore di i; al
primo passo dell‟algoritmo si ha i = 0 e j = K[0], e lo scambio di S[i] con S[j].
52
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Figura 23 - Stato dell'array S dopo il primo ciclo di inizializzazione
Al secondo passo j viene incrementato della quantità S[1] + K[1], e viene fatto lo
scambio tra [1] e S[j]. Poiché inizialmente S[i] = i, possiamo affermare che con il secondo scambio (dato che fino a quel momento sono stati cambiati solo due valori in
S0) otteniamo S[1] = S[j] = j = K[0] + 1 + K[1], tranne nei seguenti casi:
a) K[0] = 1 e K[1] = 0
In questo caso al primo passo j = 1, quindi viene fatto lo scambio tra S[0] e
S[1], ovvero si avrà S[0] = 1 e S[1] = 0. Al secondo passo j = K[0] + S[1] +
K[1] = 1 + 0 + 0 = 1, quindi dopo lo scambio si avrà S[1] = S[j] = S[1] = 0.
b) K[0] = 1 e K[1] != 0, n-1
Dopo il primo passo ci troviamo nello stesso stato del caso precedente. Al secondo passo però j = K[0] + S[1] + K[1] = K[0] + K[1], e poiché questa
quantità è diversa da 0 e da 1 avremo S[1] = S[j] = K[0] + K[1] (perché tutti per tutti i valori di j > 1 S[j] = j).
c) K[0] != 1 e K[1] = n-1
In questo caso dopo il primo passo avremo S[0] = K[0], S[K[0]] = 0 e S[1] =
1. Al secondo passo j = K[0] + S[1] + K[1] = K[0] + 1 + n1 = K[0] (perché
operiamo in modulo n), e quindi S[1] = S[j] = S[K[0]] = 0.
d) K[0] != 1 e K[0] + K[1] = n-1
Dopo il primo passo siamo nella stessa configurazione del caso precedente.
Al secondo passo j = K[0] + S[1] + K[1] = K[0] + 1 + K[1] = n-1+1 = 0, e
quindi S[1] = S[j] = S[0] = K[0].
In ogni caso il valore di S[1] dopo il secondo passaggio è una funzione di K[0] e K[1].
Inoltre Klein ha dimostrato che S[1] non verrà modificato nei passi successivi dell'inizializzazione (ovvero che j non raggiungerà mai più il valore 1) con probabilità ≈
1/e.
Quando viene generato il primo byte dal cifrario abbiamo i = 1, j = S[1] e lo scambio
tra S[1] e S[j]. Visto che noi siamo interessati a S[1] (per trovare K[1]) dobbiamo recuperare il valore di S[j]. Allo scopo ci viene in aiuto la formula precedente la quale
afferma che con probabilità pari a 2/n, S[j] = 1 – S[k], dove S[k] è il primo byte di
output di RC4. Mettendo assieme le due probabilità otteniamo:
La probabilità che S[1] sia un altro valore è minore di 1/n (per ogni valore degli altri
n-1). L'attacco quindi avviene nel seguente modo: per un certo numero di pacchetti
con IV distinti viene catturato il primo byte di output del cifrario S[k] e viene calcolato S[1] = 1 – S[k]. Di tutti i possibili n valori che otteniamo, quello che si ripeterà
con più frequenza sarà il valore corretto. La complessità di questa procedura è stata
53
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
calcolata da Klein ed è ≈ 17nln(n) che (per n = 256) equivale a circa 25.000 pacchetti
(di gran lunga inferiore alla complessità dell'attacco di FMS).
Si noti che in questo attacco è previsto che l'attaccante indovini K[0] affinché possa
recuperare K[1] (infatti S[1] è funzione di entrambi). Nel caso del WEP però questa
condizione è facilmente raggiungibile in quanto i primi 3 byte della chiave vengono
sempre mandati in chiaro.
Estendiamo adesso l'attacco a tutti i byte della chiave: dopo aver ottenuto K[0] e
K[1] supponiamo di voler recuperare K[2]. Analogamente a prima abbiamo che nella
fase di inizializzazione del cifrario S[2] = f(K[0], K[1], K[2]) e che con probabilità ≈
1/e non verrà più modificato negli n–3 passi successivi. Osservando il secondo byte di
output del generatore possiamoprocurarci S[j], che al secondo passo sarà uguale a
S[2] e quindi, grazie a f (poiché abbiamo già i primi due byte della chiave) possiamo
calcolare K[2]. Iterando questo procedimento possiamo recuperare l‟intera chiave K
con una complessità totale pari a O((k-1)nln(n)).
L’attacco di Tews, Weinmann e Pyshkin
Con l‟attacco di Klein abbiamo visto come sia possibile ricavare in maniera iterativa
l'intera chiave segreta. Lo svantaggio di questo approccio però è che se il byte K[i]
che abbiamo recuperato è sbagliato, tutti gli gli altri K[j] (j > i) saranno errati e devono quindi essere ricalcolati. Tews, Weinmann e Pyshkin hanno presentato un attacco che permette di ricavare ogni byte della chiave indipendentemente dagli altri.
Con Sk viene indicato lo stato dell'array S dopo k iterazioni dell'algoritmo RC4. Analogamente jk è il valore della variabile j dopo k iterazioni. Con S-1[j] si indica la posizione in S in cui si trova il valore j, ovvero se S[i] = j allora S1[j] = i. Infine con X
indichiamo l'output del generatore.
Facendo delle sostituzioni e sviluppando la formula ottenuta da Klein, gli autori di
questo attacco hanno determinato la seguente formula:
La probabilità che questo valore trovato sia quello corretto (come dimostrato da
Klein) abbiamo visto essere ≈ 1.36/n. Come si può notare però σi dipende dai valori
S3, ..., Si+3. Tews, Weinmann e Pyshkin hanno dimostrato che sostituendo ogni occorrenza di S con S3 la probabilità di prendere il valore corretto diminuisce meno dello 0.2% rispetto a quella originale. Questa approssimazione ha però il vantaggio di
portare alla seguente:
54
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Come si può notare adesso σi dipende solamente da S3, il quale a sua volta dipende
solamente da K[0], K[1] e K[2] che nel caso del WEP sono valori spediti in chiaro e
quindi a disposizione dell'attaccante senza alcuno sforzo.
L‟attacco avviene nel seguente modo: per ogni σi viene calcolato Ai con la formula
appena descritta. Ogni volta che troviamo il valore Ai diremo che esso ha ricevuto
un voto. In tabelle separate (una per ogni σi ) vengono conservati tutti i valori calcolati, e alla fine del processo come valore corretto di σi verrà preso quello che ha ottenuto il maggior numero di voti. Infine verrà calcolato K[3] = σ0 e K[i+3] = σi – σi-1 (i
> 3). È necessario fare un‟osservazione: la formula appena descritta presuppone la
conoscenza dei primi 16 byte (per tutti i 128 bit della chiave) di output del cifrario (il
vettore X), il che equivale a conoscere i primi 18 byte del plaintext del pacchetto per
poter fare lo XOR con il crittotesto. Questo attacco non è quindi applicabile a tutti i
pacchetti, ma solo a quelli con un determinato header noto, come ad esempio i pacchetti del protocollo ARP (come spiegato nella sezione successiva).
I risultati sperimentali forniti dagli autori di quest‟attacco mostrano come con soli
40.000 pacchetti sia possibile raggiungere un tasso di successo nel ritrovamento della
chiave del 50%.
Incrementare il traffico dei pacchetti utilizzabili
Per incrementare il traffico dei pacchetti da sfruttare nell‟attacco, Tews, Weinmann
e Pyshkin hanno proposto la tecnica dell'ARP re-injection. Quando un host A vuole
mandare un messaggio a B specifica nel pacchetto in uscita l'indirizzo IP di quest'ultimo. Tuttavia gli indirizzi IP hanno senso soltanto a livello rete, quindi affinché il
frame Ethernet possa raggiungere lo strato Data Link del destinatario è necessario
conoscere il suo indirizzo fisico (MAC Address). A tale scopo è stato ideato il protocollo ARP (Address Resolution Protocol): quando un host vuole conoscere l‟indirizzo
fisico di un altro host manda in broadcast a tutta la sottorete una ARP request specificando l‟indirizzo IP del destinatario e il proprio indirizzo fisico. Tutti gli host ascolteranno questa richiesta ma soltanto l‟host con l'indirizzo IP specificato invierà
una ARP response con il proprio indirizzo fisico. Poiché nella request è già incluso
l'indirizzo fisico del mittente, il destinatario della richiesta avrà tutte le informazioni
necessarie per inviare la propria risposta.
Sia le request che le response ARP sono dei pacchetti di dimensione fissa, e quindi
sono facilmente riconoscibili nel traffico in quanto il WEP non nasconde le dimensioni originali dei pacchetti. I pacchetti ARP hanno un header LLC (Logical Link
Control) fisso di 8 byte uguale a 'AA AA 03 00 00 00 08 06' e i primi 8 byte
del payload sono uguali a '00 01 08 00 06 04 00 01' per le richieste e '00 01
08 00 06 04 00 02' per le risposte (cambia solo l‟ultimo byte). Inoltre poiché
WEP non nasconde l'indirizzo fisico del destinatario e facile distinguere le richieste
(mandate in broadcast) dalle risposte (mandate in unicast), quindi è possibile riconoscere tutti i pacchetti ARP in transito nella sottorete e di questi se ne conoscono i
primi 16 byte del plaintext.
55
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
In definitiva catturando ogni pacchetto ARP e facendo lo XOR tra i primi 16 byte
del pacchetto e questi valori noti si hanno a disposizione i primi 16 byte generati dal
cifrario. In più è disponibile il vettore di inizializzazione perché è mandato in chiaro.
L'ARP reinjection consiste nel rispedire tutte le richieste ARP così come sono state
intercettate. Ogni reinjection generalmente produce 3 nuovi pacchetti a causa dei relay effettuati dall‟ Access Point, e poiché ognuno di essi ha un vettore di inizializzazione diverso il numero di pacchetti utilizzabili ai fini dell'attacco aumenta considerevolmente. Tuttavia questa tecnica trasforma l‟attacco da passivo ad attivo rendendo possibile l‟utilizzo di sistemi anti intrusione.
Conclusione dell’analisi WEP
Abbiamo dimostrato come il protocollo WEP allo stato attuale sia totalmente insicuro e inaffidabile, non ponendo nessun tipo di garanzia sulla sicurezza dei dati e
dell'autenticazione degli utenti che fanno parte della WLAN, quindi mettendo a rischio tutta la struttura di rete in cui sia presente e attivo un punto di accesso Wireless.
Ed è per questo che molte aziende e professionisti si sono mossi per creare velocemente un sostituto del WEP, tentando prima di tutto di garantire piena compatibilità con tutti gli apparati Wireless esistenti e principalmente di garantire Sicurezza e
affidabilità e la soluzione alle vulnerabilità con il protocollo WEP.
Questo nuovo protocollo è conosciuto come WPA.
56
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Capitolo 5
WPA (Wi-Fi Protected Access)
La recente espansione e relativa esigenza di rendere sicuro il wireless ha spinto IEEE
a rilasciare un altro standard per la sicurezza, il protocollo WPA (Wi-Fi Protected
Access). Il WPA implementa parte del protocollo IEEE 802.11i e rappresenta un
passaggio intermedio per il raggiungimento della piena sicurezza. Questa verrà raggiunta quando i dispositivi implementeranno in toto lo standard IEEE 802.11i (teoricamente). Le certificazioni per il WPA sono iniziate nell'aprile del 2003 mentre per
l‟IEEE 802.11i si è dovuto attendere il giugno del 2004.
WPA è progettato per gestire l'autenticazione dei server e la distribuzione di differenti chiavi per ogni utente, sebbene per questioni di compatibilità supporta la precedente gestione a chiave condivisa (PSK Private Shared Key). I dati sono cifrati col
l'algoritmo di cifratura a blocchi RC4 con chiave a 128 bit e vettore di inizializzazione a 48 bit. Una delle modifiche che introducono maggiore robustezza all'algoritmo è
la definizione del TKIP (Temporal Key Integrity Protocol). Questo protocollo dinamicamente cambia la chiave in uso e questo combinato con il vettore di inizializzazione di dimensione doppia rispetto al WEP rende inefficaci i metodi di attacco utilizzati contro il WEP. In aggiunta all‟autenticazione e alla cifratura il WPA introduce notevoli miglioramenti nella gestione dell'integrità. Il CRC utilizzato dal WEP
come detto precedentemente non era sicuro, per evitarlo il WPA utilizza un nuovo
metodo per verificare l'integrità dei messaggi chiamato "Michael". Questo include un
contatore associato al messaggio per impedire all'attaccante di ritrasmettere un messaggio che è già stato trasmesso nella rete.
In sostanza il WPA aumenta la dimensione della chiave, il numero delle chiavi in
uso, include un sistema per verificare l‟autenticità dei messaggi migliore e quindi incrementa la sicurezza della WLAN rendendola effettivamente analoga a quella di
una rete su cavo.
TKIP
Come già detto prima Temporal Key Integrity Protocol (TKIP) è un protocollo di
sicurezza usato nello standard IEEE 802.11i, creato da IEEE e Wi-Fi Alliance per
risolvere i problemi introdotti dal WEP.
57
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
TKIP è un wrapper che si basa sul già esistente cifrature WEP. comprende quindi lo
stesso motore di cifrature e lo stesso algoritmo RC4 definito per WEP. Una differenza sta nella lunghezza della chiave (128 bit contro i 104 della chiave WEP); questo
risolve il primo problema di WEP: una chiave troppo corta. Una parte importante di
TKIP è che cambia la chiave usata per ogni pacchetto, quest‟ultima viene creata miscelando assieme una combinazione di cose, inclusa una chiave base(Pairwise Transient Key), l‟indirizzo MAC della stazione trasmittente e il numero seriale del pacchetto.
Ogni pacchetto trasmesso utilizzando TKIP ha un unico numero seriale di 48 bit che
viene incrementato ogni volta che un nuovo pacchetto è trasmesso e utilizzato sia
come IV e come parte della chiave. Mettere un numero di sequenza nella chiave assicura che la chiave è diversa per ogni pacchetto. Questo risolve un‟altro problema del
WEP, chiamato "collision attacks" che può verificarsi quando la stessa chiave è usata per due pacchetti diversi, mentre con chiavi diverse non avvengono collisioni.
Formato MPDU
TKIP riusa il formato WEP MPDU, estende MPDU di 4 byte per permettere
l‟estensione al WEP IV, denotata dal campo Extended IV, e estende il formato
dell‟MSDU con 8 byte per poter inserire il nuovo campo MIC. Il campo Extended IV
viene inserito subito dopo il campo WEP IV e prima del campo Encrypted Data.
TKIP aggiunge MIC al campo MSDU Data cosicché MIC diventa parte
dell‟Encrypted Data.
Una volta che MIC è posto nell‟MSDU data, i byte del MIC aggiunti sono considerati parte dell‟MSDU per la successiva frammentazione. La figura seguente descrive lo
schema della crittazione dell‟MPDU usando il TKIP; è il caso in cui una singola
MSDU è incapsulata in una singola MPDU.
Figura 24 - Formato di una MPDU TKIP
Il bit ExtIV nel campo Key ID indica la presenza o l‟assenza dell‟Extended IV. Se il
bit ExtIV è posto a 0, viene trasferito solo l‟IV non esteso. Se invece il bit ExtIV è
posto a 1, l‟Extended IV di 4 byte segue il IV. Per il TKIP il bit ExtIV può essere
58
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
settato, e di conseguenza il campo Extended IV può essere occupato. Il bit ExtIV
può essere settato a 0 per i frame WEP. Il campo KeyID può essere settato
dall‟indice della chiave occupato dalla primitiva MLME-SETKEYS.request per la
chiave usata per crittografare il frame.
TCS5 è il primo byte più significativo di TSC, mentre TSC0 è il meno significativo. I
byte TSC0 e TSC1 formano il numero di sequenza IV e sono utilizzati dal TKIP
Phase 2 key mixing. I byte TSC2-3-4-5 sono utilizzati nel TKIP Phase 1 key hashing e fanno parte del campo Extended IV (vedremo queste due funzioni fra poco).
Quando i 16 bit meno significativi del numero di sequenza vengono negati (0xFFFF
 0x0000) il valore dell‟ Extended IV è incrementato di 1.
Incapsulamento Crittografico di una MPDU
Come abbiamo detto in precedenza, questo protocollo genera una chiave diversa per
ogni pacchetto che viene creata utilizzando una funziona di hash sull‟indirizzo MAC
del client, lo IV e la Session Key.
Per diminuire la potenza di calcolo necessaria per generare una chiave per ogni pacchetto, la funzione di key mixing è divisa in 2 fasi:
Fase 1. In quesa fase, l'indirizzo MAC del client, la chiave di sessione temporanea e i 32-Bit più significativi dello IV vengono passati alla funzione di
Hash. Il risultato di questa fase fino a quando la chiave di sessione viene
cambiata oppure ogni volta che cambiano i 32Bit più significativi dello IV.
Fase 2. Questa fase è molto simile al processo di codifica del protocollo WEP,
le differenze sono che il campo di 24-Bit della chiave WEP viene sostituito
con i 16-Bit meno significativi dello IV del WPA con un dummy byte inserito
nel mezzo, la chiave WEP invece viene sostituita con la chiave per pacchetto
generata dall'algoritmo di mixing.
Figura 25 - Incapsulamento di una MPDU
59
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Il calcolo di TKIP MIC protegge il campo MSDU Data e i corrispondenti campi SA,
DA, e Priority. Il calcolo del MIC è eseguito in ordine, rispettivamente SA, DA,
Priority e MSDU Data. The MIC è aggiunta al campo Data. TKIP elimina ogni intestazione prima di incapsulare il MIC.
Se necessario, 802.11 frammenta l‟MSDU col MIC in una o più MPDU. TKIP incrementa di uno il valore TSC di ogni MPDU, controllando che ogni MPDU generata
dalla stessa MSDU abbia lo stesso valore dell‟EXT IV. Per ogni MPDU, TKIP utilizza la key mixing per calcolare il seme WEP.
TKIP rappresenta il seme del WEP e passa questi con ogni MPDU per generare
l‟ICV. e per criptare il plaintext MPDU, includendo ogni parte del MIC, se presente.
WEP utilizza i semi WEP come chiave WEP di default, identificata da una chiave di
identificazione associata alla chiave temporale.
Scapsulamento di una MPDU
Prima che WEP scapsuli una MPDU ricevuta, TKIP estrae il numero di sequenza
TSC e la chiave di identificazione dal WEP IV e dall‟EXT IV. Successivamente scarta le MPDU che violano il numero di sequenza e usa la mixing function per costruire
il seme WEP.
TKIP rappresenta il seme del WEP come il WEP più la chiave l‟ARC4 e passa questi con ogni MPDU al WEP per la decapsulazione.
Se WEP indica che il controllo ICV ha avuto successo, l‟implementazione riassembla
l‟MPDU in una MSDU. Se la deframmentazione dell‟MSDU ha successo, il ricevitore
verifica il TKIP MIC. Se la deframmentazione MSDU fallisce, l‟MSDU viene scartata.
Lo step di verifica del MIC ricalcola il MIC sui campi SA, DA, Priority e MSDU Data della MSDU (ma non il campo TKIP MIC). Il risultato TKIP MIC calcolato viene
allora confrontato bit a bit con il MIC ricevuto.
Se i valori del MIC ricevuto e quello calcolato localmente sono identici, allora la verifica ha successo, e TKIP può consegnare l‟MSDU allo strato superiore. Se invece i
due valori sono differenti la verifica fallisce e il ricevente può scartare l‟MSDU e può
prendere le relative contromisure.
60
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Figura 26 - Scapsulamento di una MPDU
Message Integrity Check (MIC)
Il difetto nella progettazione del WEP riguarda la mancanza di protezione nel traffico di dati tra due capi di comunicazione da un non autorizzato terzo ascoltatore. Tra
i tanti difetti di WEP, il più evidente è la mancanza di un meccanismo di annullamento dei messaggi falsificati o altri attacchi attivi. Per difendersi da attacchi attivi, TKIP include MIC, che offre solo una debole difesa contro i messaggi falsificati,
ma costituisce il meglio di cui si possa disporre con la maggioranza dei dispositivi
HW. TKIP utilizza differenti chiavi MIC che dipendono dalla direzione del trasferimento.
Questo protocollo è una funzione di Key-Hashing specificatamente studiata per le
apparecchiature a bassa potenza, che viene calcolata sui dati dei pacchetti da inviare
prima che venga codificato, ed ha un valore di 8-Byte. Il risultato dell‟operazione di
Hashing è equivalente ad una chiave a 20-Bit, che è considerata universalmente nel
mondo della sicurezza, come una chiave a bassa protezione.
Grazie a questo protocollo MIC, quando all'interno della rete WLAN viene individuato qualche pacchetto corrotto, vengono attivate immediatamente delle contromisure, prima di tutto viene disabilito per 60 secondi il link dove si è individuato il dato
corrotto e ogni periferica coinvolta è forzata a richiedere una chiave di sessione (Session Key).
61
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
MIC nel dettaglio
Prima di definire i dettagli del MIC, è meglio esaminare il contesto nel quale opera
questo meccanismo.
Gli attacchi attivi presenti col WEP originale includevano:
Attacchi bit flipping;
Troncamento, concatenazione e intreccio del payload;
Attacchi di frammentazione;
Attacchi iterativi alla chiave;
Redirezione tramite la modifica dei campi MPDU DA e RA
Attacchi ad impersonificazione tramite la modifica dei campi MPDU SA e TA;
Il meccanismo MIC rende molto più difficoltosa la riuscita di questi attacchi, che sono tutti al livello di MPDU con TKIP MIC. MIC, tuttavia, utilizza l‟MSDU, così da
bloccare con successo gli attacchi al livello delle MPDU. TKIP applica il MIC alle
MSDU al trasmettitore e lo verifica al ricevitore. Se la verifica al livello di MSDU
fallisce, l‟MSDU relativa viene scartata e vengono attivate le contromisure.
La figura mostra un‟architettura dove il MIC è logicamente appeso al raw MSDU
come risposta alla primitiva MA-UNITDATA.request. Il TKIP MIC è calcolato in
base a:
MSDU DA;
MSDU SA;
MSDU Priority;
L‟intera e decriptata MSDU Data (payload);
Per calcolare il MIC vengono utilizzati esclusivamente il campo DA, il campo SA,
tre byte riservati e il campo Priority da un byte. Il campo Priority riguarda il parametro di priorità della primitiva MA-UNITDATA.request.
TKIP aggiunge il MIC di 8 byte alla fine del payload della MSDU. L‟MSDU col MIC
possono essere divisi in una o più MPDU, il WEP ICV è calcolato su ogni MPDU, e il
MIC può essere sempre diviso in due MPDU dopo la frammentazione. In questo modo il TKIP MIC aumenta, ma non sostituisce il WEP ICV. Poiché TKIP MIC è
un‟implementazione poco resistente, TKIP protegge il MIC con una crittazione, che
rende più difficile la contraffazione del TKIP MIC. Il WEP ICV aiuta a prevenire le
falsificazioni al MIC, che possono essere causa dell‟invocazione di contromisure.
Il ricevitore esegue l‟operazione inversa per riassemblare l‟MSDU. Fatto ciò l‟IEEE
802.11 MAC verifica il MIC precedente per una corretta consegna agli strati superiori. Se la verifica al MIC ha successo, lo strato MAC consegna l‟MSDU allo strato superiore, mentre se la verifica fallisce, lo strato MAC può decidere di scartare l‟MSDU.
62
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Si può notare come il solo MIC non può fornire una completa protezione alle falsificazioni, e non si può difendere da attacchi ripetuti. Perciò, TKIP provvede a ripetere
i controlli tramite la sequenza TCS e la validazione del ICV. Inoltre, se TKIP è utilizzato con GTK, un membro SA può mascherare qualsiasi altro STA appartenente
al gruppo.
Vulnerabilità del WPA
Il fatto di essere stimato un ottimo standard e di aver ricucito tutti i buchi del vecchio WEP, non fanno comunque di WPA il modello universale di invulnerabilità.
La storia ci insegna che ognuno e ogni cosa ha il proprio 'tallone d‟Achille', e che persino le previsioni e le stime più ottimistiche di oggi possono essere radicalmente
smentite domani; è stato così per i più grandi storici sistemi crittografici, lo è stato
per il WEP, lo sarà anche per il WPA.
Non è questione di essere tragicamente fatalisti o apocalittici, ma è una constatazione non ancora contraddetta e che può filosoficamente essere ricondotta
all‟imperfezione umana. Innanzitutto c‟è da dire che WPA, quando opera in modalità 'Pre-Shared Key', presenta gli stessi problemi di condivisione della chiave riscontrati in WEP.
Infatti tralasciando i problemi relativi alla segretezza della chiave, diventa necessario preconfigurare manualmente la PSK sull‟AP e su ogni stazione mobile che con esso deve comunicare. Inoltre, poiché la PSK non sarebbe altro che la PMK con la
quale inizia il 4-way handshake, si capisce bene che tutta la fase di autenticazione
precedente viene completamente saltata e che quindi, per autenticarsi reciprocamente, client e AP si affidano solamente all‟ausiliario meccanismo autentificativo del 4way handshake.
Per tali ragioni la maggior parte delle case produttrici e la stessa Wi-Fi Alliance
sconsigliano fortemente l‟utilizzo di WPA in modalità PSK, a meno che non si abbia
a che fare con ambienti domestici o semi-domestici (SOHO) in cui, consapevolmente
del pericolo a cui si è esposti, è giustificato optare per la soluzione 'light' del protocollo.
Quando WPA era ancora agli esordi, comparvero un paio di pubblicazioni che denunciavano alcune falle nella sicurezza di WPA e, questa volta, persino utilizzato in
modalità standard, cioè con supporto di autenticazione 802.1x/EAP. Tali denunce
destarono non poco scompiglio negli ambienti della Wi-Fi Alliance, dove si provvide
subito a rimediare. Si trattava di bugs che lasciavano indifeso WPA da alcuni attacchi di tipo 'Man-in-the-middle', 'Session hijack' e 'Denial-of-Service'.
I primi due tipi colpivano solo i client che implementavano meccanismi di autenticazione ad un senso (es. EAP-TTLS e PEAP), mentre risultavano innocui se si utilizzava la mutua autenticazione (es. EAP-TLS). Il terzo tipo di attacco consisteva nello
'spoofing' di 4 tipi di messaggi del protocollo EAP:
•
inondare l‟AP di Associate-Request o di pacchetti EAPOL-Start;
63
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
•
•
•
falsificare i messaggi EAP-failure;
falsificare i messaggi EAP-logoff o di Dissassociate-Request;
falsificare i messaggi di Deauthentication.
Tutte le possibilità di attacco messe in luce con le pubblicazioni sono state prontamente evitate (o almeno fortemente limitate) nelle implementazioni successive di
WPA e, a maggior ragione, di WPA2.
Un‟altra attenta analisi ad opera di R. Moskowitz del 2003 ha tentato di dimostrare
la vulnerabilità di WPA ad attacchi prettamente crittografici; tuttavia sembra che si
trattasse di congetture puramente teoriche, con poca attuabilità dal punto di vista
pratico e comunque risolte da WPA2 con la sostituzione di RC4-TKIP con AESCCMP.
Anche se WPA non è completamente invulnerabile, esso rappresenta la volontà dei
produttori a risolvere i problemi delle tecnologie del Wireless. WPA con le opportune
regole di base è un netto miglioramento della sicurezza rispetto al predecessore WEP.
64
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Capitolo 6
WPA2
Dopo aver immesso sul mercato le specifiche del protocollo WPA, un sottoinsieme
delle specifiche 802.11i, il 24 Giugno 2004 è stato finalmente ratificato questo standard.
A differenza del WPA, per la cifratura dei dati è definito un nuovo protocollo,
CCMP (Counter Mode with CBC-MAC Protocol), che utilizza l‟algoritmo crittografico AES al posto dell‟RC4. La maggiore robustezza di AES (e di CCMP) si paga con
una maggior potenza di calcolo richiesta agli apparati rispetto a WEP e TKIP, e richiede quindi una modifica dell‟hardware.
Ancora oggi questo standard non è molto diffuso in ambito piccole/media imprese o
in ambito privato, dato che passare a questo protocollo significa sostituire completamente le attuali interfacce di Rete, cosa che non è fattibile dove sono stati fatti
grandi investimenti, ed è per questo che ancora oggi si preferisce mettere in sicurezza
i vecchi apparati WEP/WPA.
Wi-Fi Alliance ha introdotto i termini WPA2-Personal e WPA2-Enterprise per differenziare le due classi di sicurezza fornite dai prodotti. i WPA2-Personal utilizzeranno il metodo PSK a chiave condivisa mentre i WPA2-Enterprise utilizzeranno un
server di autenticazione.
Con i protocolli di protezione WPA2-Enterprise, la rete funziona in modalità di autenticazione in IEEE 802.1X. Questa modalità è ideale per ambienti con infrastruttura RADIUS (Remote Access Dial-In User Service). Tale ambiente richiede un
supporto tecnico specializzato per la configurazione e la manutenzione ed è studiato
per l'uso di grandi imprese.
Il protocollo di protezione WPA-Enterprise utilizza il protocollo WPA in base al tipo di protezione WPA selezionato e il protocollo di protezione WPA2-Enterprise utilizza la protezione WPA2 in base al tipo di protezione WPA2 selezionato. Con i protocolli di protezione WPA-Enterprise e WPA2-Enterprise è possibile utilizzare la
crittografia dati TKIP o AES.
65
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
CCMP - Counter Mode with CBC-MAC Protocol
CCMP è basato sul CCM dell‟algoritmo di cifratura AES. CCM combina CTR per la
riservatezza dei dati e CBC-MAC per l‟autenticazione e l‟integrità. CCM protegge
l‟integrità sia dei campi Data e sia di porzioni selezionate dell‟intestazione di un
MPDU IEEE 802.11.
AES è definito nel FIPS PUB 197-2001. Tutti gli AES processati attraverso il
CCMP usano AES con una chiave a 128 bit e un blocco di 128 bit.
CCM è definito nel RFC 3610 ed è una modalità generica che può essere utilizzata
con qualsiasi algoritmo orientato ai blocchi. Ha due parametri (M e L) e CCMP usa i
seguenti valori per i parametri del CCM:
M = 8: indica che il MIC è di 8 bytes;
L = 2: indica che il campo lunghezza è di 2 bytes, che è sufficiente per mantenere la lunghezza dei pacchetti IEEE 802.11 più grandi possibili.
CCM richiede una nuova chiave temporanea per ogni sessione e un unico valore per
ogni frame protetto da una chiave temporale data. CCMP usa un numero di pacchetto (PN) a 48 bit per questo scopo. Il riuso di un PN con la stessa chiave temporanea
annulla tutte le garanzie di sicurezza.
Formato MPDU
La figura descrive una MPDU quando viene si sta usando il protocollo CCMP.
Figura 27 - Formato di una MPDU CCMP
CCMP espande la grandezza originale della MPDU di 16 bytes, 8 byte per il campo
d‟intestazione (CCMP Header) e altri 8 byte per il campo MIC. L‟intestazione CCMP
è costruita dai sottocampi PN, ExtIV, e Key ID. Il sottocampo PN è un PN a 48 bit
rappresentato come un array di 6 bytes. PN5 è il byte più significativo del PN, e
PN0 il meno significativo. CCMP non usa WEP ICV.
Il sottocampo ExtIV del byte Key ID segnala che l‟header CCMP estende
l‟intestazione MPDU di 8 bytes, rispetto ai 4 bytes aggiunti nell‟intestazione quando
viene usato il WEP. Il bit ExtIV è sempre settato a 1 per CCMP. I bit 6-7 del KeyID
66
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
sono per il sottocampo Key ID mentre i bit riservati devono essere settati a 0 e ignorati durante la ricezione.
Incapsulamento Crittografico di una MPDU
La figura seguente descrive il processo di incapsulamento della MPDU attraverso il
protocollo CCMP.
Figura 28 - Incapsulamento di una MPDU
CCMP cripta il payload di un plaintext MPDU e incapsula il chiper text risultante
attraverso i seguenti passi:
Incrementa PN, al fine di ottenere un nuovo PN per ogni MPDU, in questo
modo il PN non viene ripetuto per la stessa temporal key. Il MPDU ritrasmesso non viene modificato durante la ritrasmissione;
Usa i campi nell‟intestazione MPDU per costruire l‟Additional Autentication
Data (AAD) per CCM. L‟algoritmo CCM fornisce integrità e protezione per i
campi inclusi nel AAD. I campi dell‟intestazione del MPDU che possono
cambiare quando vengono ritrasmessi sono mascherati a 0 durante il calcolo
del AAD;
Costruisce il blocco CCM utilizzando PN, il campo di indirizzo A2, e il campo
Priority del MPDU;
Piazza il nuovo PN e l‟identificatore della chiave nell‟intestazione CCMP da
8 bytes.
Usa la chiave temporanea, l‟AAD e i dati dell‟MPDU per formare il chiper
text e il MIC. Questo passo è noto come "CCM Originator Processing";
Forma il MPDU criptato combinando l‟intestazione originale MPDU,
l‟intestazione CCMP, i dati criptati e il MIC.
Scapsulamento di una MPDU
La figura seguente descrive il processo di scapsulamento della MPDU:
67
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Figura 29 - Scapsulamento di una MPDU
CCMP decripta il payload del chiper text MPDU e scapsula un plaintext attraverso i
seguenti passi:
la MPDU criptata è tradotta per costruire il valori di AAD e Nonce;
L‟AAD è formato dall‟intestazione MPDU del MPDU criptato;
Il valore del Nonce è costruito dai campi A2, PN e Priority della MPDU;
Il MIC è estratto per essere usato nel controllo integrità del CCM;
Il CCM usa la chiave temporale, AAD, Nonce, MIC, e i dati MPDU chiper
text per recuperare il MPDU plaintext e per controllare l‟integrità del AAD e
dei dati del plaintext;
L‟intestazione MPDU e il plaintext ricevuti dal CCM possono essere concatenate per formare il plaintext MPDU;
Il processo di decifrazione previene duplicazioni di più MPDU sapendo che il
PN nel MPDU è più grande del replay counter mantenuto durante la sessione.
Vulnerabilità del WPA2
Anche se sono state scoperte un numero di limiti minori in WPA/WPA2, nessuna di
queste debolezze è considerato troppo pericolo a condizione che si rispettano le raccomandazioni di sicurezza.
La vulnerabilità più pratica è l'attacco contro la chiave PSK di WPA/WPA2. Come
abbiamo già detto, la PSK fornisce un alternativa alla generazione PMK di 802.1x
attraverso un server di autenticazione. Si tratta di una stringa di 256 bit o passphrase di 8 a 63 caratteri usati per generare tale stringa con un algoritmo noto: PSK =
PMK = PBKDF2 (password, SSID, lunghezza SSID, 4096, 256), dove PBKDF2 è
un metodo usato in PKCS#5, 4096 è il numero delle hash e 256 è la lunghezza
dell'output. Il PTK è derivato dalla PMK usando la Handshake a 4 vie e tutte le informazioni usate per calcolare il suo valore è trasmesso in testo semplice.
68
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
La forza di PTK quindi risiede solo nel valore PMK che per la PSK significa la passphrase. Come indicato da Robert Moskowitz, il secondo messaggio della Handshake
a 4 vie potrebbe essere soggetto sia al dictionary attack sia alla brute force offline.
Cowpatty fu creata per sfruttare questo difetto, e il suo codice sorgente era stato usato e migliorato da Christophe Devine in Aircrack per consentire il gli attacchi di
tipo dictionary su PSK e di brute force su WPA. La struttura del protocollo (4096
hash per ogni tentativo di password) significa che un attacco brute force è molto lento (solo alcune centinaia di password per secondo con i più recenti processori singoli).
Il PMK non può essere pre-calcolato dal momento che la passphrase viene mischiato
ulteriormente in base alla ESSID. Per proteggersi efficacemente da questo difetto è
bene scegliere una buona passphrase con parole inesistenti (almeno 20 caratteri).
Per eseguire questo attacco, l‟aggressore dove catturare i messaggi della Handshake
a 4 vie monitorano passivamente la rete wireless o usando un attacco di deautenticazione per velocizzare il processo.
Infatti, i primi due messaggi sono necessari per iniziare la previsione dei valori PSK.
Ricordiamo che PTK = PRF-X (PMK, Pairwise key expansion, Min(AP_Mac,
STA_Mac) || Max(AP_Mac, STA_Mac) || Min(ANonce, SNonce) || Max(ANonce,
SNonce)), dove PMK è uguale a PSK nel nostro caso. Dopo il secondo messaggio,
l‟aggressore conosce ANonce (dal primo messaggio) e SNonce (dal secondo messaggio) e può iniziare a indovinare il valore PSK per calcolare il PSK e le chiavi temporanee derivate. Se il PSK è indovinato giustamente, il MIC del secondo messaggio
potrebbe essere ottenuto con la KCK corrispondente, altrimenti una nuova previsione deve essere fatta.
69
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Capitolo 7
MAC Filtering
L‟indirizzo MAC (Medium Access Control) spesso viene detto anche indirizzo fisico o
indirizzo ethernet o indirizzo LAN, ed è un codice composto da 6 byte che identifica
univocamente una scheda di rete. Ogni scheda di rete ha un indirizzo unico al mondo
(es. 00-50-FC-A0-67-2C) in quanto i primi 24 bit sono identificativi della casa produttrice, ogni casa produttrice ha a disposizione 224 indirizzi, quindi più di 16 milioni di schede. L‟indirizzo MAC opera al livello di rete data link (livello di collegamento).
Funzionamento
Sebbene il controllo degli accessi a livello MAC non sia stato previsto nella specifica
dell‟802.11, la maggior parte dei fornitori ha implementato questa funzionalità per
contribuire a rafforzare le difese dell‟802.11, intrinsecamente vulnerabile. Quando si
utilizza il controllo degli accessi a livello MAC, l‟amministratore definisce una lista di
indirizzi MAC di clienti "approvati", cui è consentito connettersi al punto di accesso.
Figura 30 - Interfaccia di controllo del MAC Filtering
70
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Anche se questa procedura è probabilmente realizzabile su reti di piccole dimensioni,
essa può risultare particolarmente onerosa nella reti più grandi, poiché presuppone
che l‟amministratore abbia a disposizione gli indirizzi MAC di tutti i clienti wireless.
Vulnerabilità del MAC Filtering
A parte il carico di lavoro per l‟amministratore, l‟indirizzo MAC non costituisce un
valido meccanismo di sicurezza, poiché è facilmente osservabile e riproducibile. Uno
sniffer wireless consente di osservare qualsiasi MAC della stazione e in genere
l‟aggressore può modificare agevolmente l‟indirizzo MAC. È infatti sufficiente che
l‟aggressore effettui il monitoraggio della rete, prenda nota dei client che riescono a
collegarsi al punto di accesso e infine modifichi il proprio indirizzo MAC affinché corrisponda a quello di uno dei client attivi. Questo procedimento è detto 'MAC Address
Spoofing', attraverso il quale si prendono le sembianze di una macchina autorizzata
all‟accesso della rete.
Poiché, come si è detto, l‟utilizzo del controllo degli accessi a livello MAC non è stato
definito nella specifica dell‟802.11, non c‟è un flag di pacchetto che lo indichi, ma generalmente si può dedurre. Se si hanno un SSID e una chiave WEP corrette ma essi
non consentono ancora di associarsi all‟Access Point è possibile che venga utilizzata
una filtrazione MAC.
La maggior parte 802.11 (Wi-Fi) punti di accesso consentono l'amministratore di rete per accedere a una lista di MAC (Media Access Control) indirizzi che sono autorizzati a comunicare sulla rete. D‟altro canto, la maggior parte 802.11 (Wi-Fi) schede
di rete consentono di configurare l'indirizzo MAC della scheda NIC nel software. Pertanto, se è possibile 'sniffare' l‟indirizzo MAC di un nodo di rete esistente, è possibile
aderire alla rete utilizzando l‟indirizzo MAC di tale nodo.
71
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Capitolo 8
IP Filtering
Un Indirizzo IP è un numero che identifica univocamente nell'ambito di una singola
rete i dispositivi collegati con una rete informatica che utilizza lo standard IP
(Internet Protocol). Ciascun dispositivo (router, computer, server di rete, stampanti
e anche alcuni tipi di telefoni) ha, quindi, il suo indirizzo.
Semplificando, un indirizzo IP può essere visto come l‟equivalente di un indirizzo
stradale o un numero telefonico dei dispositivi collegati su internet. Infatti, così come un indirizzo stradale o un numero telefonico identifica un edificio o un telefono,
così un indirizzo IP identifica univocamente uno specifico computer o un qualsiasi
altro dispositivo di rete o una rete. A sua volta, in una rete possono essere utilizzati
altri indirizzi IP validi localmente analogamente alla numerazione degli interni di un
edificio.
Tuttavia l'indirizzo IP, rispetto all‟indirizzo stradale, può cambiare con grande facilità in funzione di moltissime variabili. Può anche essere occultato, falsificato o condiviso (da computer differenti in luoghi differenti) più o meno lecitamente e con facilità (anche con l‟ausilio di altri dispositivi). E, rispetto all'indirizzo stradale, da solo
non dice nulla di chi lo usa se non ai fornitori di accesso a internet. Insieme ad altri
dati può essere usato per profilare gli utenti.
L‟IP Filtering è un metodo che decide quali tipi di datagrammi IP saranno processati normalmente e quali saranno scartati, ovvero cancellati o completamente ignorati come se non fossero mai stati ricevuti.
Funzionamento
Si possono applicare differenti criteri per determinare quali tipi di datagrammi si
vogliono filtrare. Per esempio:
Tipo del Protocollo (TCP, UDP, ICMP);
Numero del Socket;
Tipo del Datagramma (SYN/ACK, Data, ICMP Echo Request);
Indirizzo della sorgente (quando arriva da)
Indirizzo della destinazione (quando va verso)
72
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Le regole di IP Filtering sono composte dalle varie combinazioni dei criteri appena
elencati. Ad esempio, immaginiamo di voler permettere agli utenti World Wide Web
appartenenti a un‟azienda di avere accesso a Internet solo per server diversi da quello dell‟azienda.
Si potrebbe configurare il firewall come segue:
datagrammi con indirizzo sorgente dell‟azienda, indirizzo di destinazione
qualunque, e con porta di destinazione 80 (http);
datagrammi con indirizzo destinatario dell‟azienda e porta sorgente 80 da un
indirizzo sorgente qualunque.
Figura 31 - Interfaccia di controllo dell’IP Filtering
Vulnerabilità dell’IP Filtering
È importane capire che è questa metodologia opera limitatamente al livello rete.
Questo significa che non conosce l‟applicazione che in quel momento sta utilizzando
le connessioni di rete in quanto si concentra principalmente sulle connessioni stesse.
Per esempio, si può proibire l‟accesso agli utenti su una rete interna alla porta telnet
di default, ma se si fa affidamento al solo IP Filtering non si può fermarli dall‟usare
Telnet con una porta che è aperta dal firewall.
Si può prevenire questo tipo di problemi usando un server Proxy per ogni servizio
che viene permesso attraverso il firewall. Il server Proxy capisce le applicazioni che
si stanno utilizzando e può prevenire abusi come l‟uso di Telnet. Se il firewall suppor-
73
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
ta un proxy WWW le connessioni Telnet saranno sempre esaminate dal proxy e saranno permesse solo richieste HTTP. Esiste un gran numero di server proxy, alcuni
sono gratuiti altri invece commerciali.
IP Address spoofing
È l‟attacco più diffuso. Si basa sul fatto che la maggior parte dei router all'interno di
una rete controllino solo l‟indirizzo IP di destinazione e non quello sorgente. Questo
fa si che un attaccante possa inviare dei pacchetti ad un sistema bersaglio e le risposte di quest‟ultimo saranno invece inviate al falso IP utilizzato dall‟attaccante. L‟IP
spoofing potrebbe essere limitato inserendo dei filtri sull‟indirizzo IP sorgente a livello routers.
74
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Capitolo 9
Proxy
Durante i primi anni di diffusione di Internet come si conosce oggi, è nata la necessità di interconnettere le reti aziendali private, dette internet (con la 'i' minuscola, ovvero Interconnected Networks) con la 'big Internet'. La necessità non era quella di
un firewall, perché allora gli attacchi da intrusi erano esigui e non si percepiva il potenziale problema di sicurezza, ma quella di interconnettere la rete pubblica di accesso con quella privata. Oggi questo problema si sarebbe risolto attraverso il Network
Address Translation (NAT), ma la tecnologia non era ancora disponibile: nascono così i Proxy, ovvero software in grado di fare da 'ponte' tra una rete e l‟altra.
Tipologie di Proxy
Esistono due tipologie di Proxy, i circuit-level e gli application-level. I primi agiscono a livello UDP/TCP, creando un “circuito” tra il client e il server, senza però interpretare il protocollo applicativo: il più significativo esempio in questo campo è il protocollo socks. I secondi agiscono a livello applicativo, interpretando i dati e i comandi di una specifica applicazione, ad esempio HTTP o FTP. Il socks è documentato
nell‟RFC 1928 ed è disponibile attraverso diverse implementazioni, alcune di queste
sono disponibili gratuitamente come Dante e il socks della NEC.
Il grosso pregio del protocollo socks è che permette di fare da Proxy per qualsiasi
applicazione TCP o UDP, in quanto non interpreta il contenuto applicativo, e permette l‟autenticazione degli utenti, ma il difetto è che bisogna aggiungere un ulteriore software nel client. Inoltre, non interpretando il contenuto degli applicativi, è impossibile avere delle policy su quali contenuti l‟utente è abilitato, ad esempio non si
può vietare l‟utente alla navigazione sul di un sito di notizie, abilitando la webmail.
Gli application-level proxy sono invece in grado di interpretare il contenuto del traffico, limitando o abilitando determinate URL, ed includono la possibilità di autenticare l‟utente. Sono questi tipi di applicativi che vengono chiamati generalmente
proxy e in particolare ci si riferisce ai proxy HTTP.
75
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
L’uso del Proxy in ambito Wireless
L‟adozione delle regole di base descritte nel capitolo 3 rendono più difficile
l‟intercettazione di una rete Wireless e più difficile l‟accesso da parte di un intruso.
Tuttavia esiste la possibilità che un intruso motivato possa accedere alla rete, grazie
soprattutto ai problemi di WEP precedentemente esposti. La metodologia migliore
pertanto é quella di dividere la rete wireless dalla rete interna, ad esempio attraverso
l‟adozione di un proxy che effetti l‟autenticazione degli utenti. Nella figura successiva si illustra un esempio di struttura wireless con un proxy per la protezione della rete interna.
Figura 32 - Esempio di architettura Proxy
La limitazione principale dell‟adozione di un proxy è che tutti i protocolli non supportati dal proxy (ad esempio POP3 o IMAP) non possono essere utilizzati
nell‟ambito wireless. Pertanto, l‟ambito di utilizzo di una simile architettura è ristretto a piccoli ambienti dove le applicazioni usate in ambito wireless sono principalmente di tipo Web-based. Qualora il proxy lo permette, è consigliabile attivare la
funzionalità di SSL Accelerator: con questo espediente, le richieste HTTP verranno
incapsulate in SSL (HTTPS) e pertanto più difficili da intercettare in ambito wireless.
76
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Vulnerabilità dei Proxy applicativi
Generalmente i punti deboli dei Proxy applicativi sono pochi e ben nascosti. Una
volta reso sicuro il firewall e implementate sul proxy regole robuste, sarà ben difficile
superare un firewall Proxy. Ma gli errori sono tutt‟altro che rari.
Hostname: localhost
Sui vecchi Proxy UNIX era facile dimenticarsi di limitare l‟accesso locale. Nonostante i vincoli di autenticazione per gli utenti che accedono a Internet, un utente interno poteva ottenere l‟accesso in locale al firewall stesso. Ovviamente, per questo
tipo di attacco è necessario conoscere una combinazione nome utente/password valida, ma è sorprendente sapere quanto sia facile a volte indovinarne una buona.
Il rimedio per questi errori di configurazione dipende ovviamente dallo specifico
prodotto utilizzato come firewall. In generale, dovrebbe essere possibile definire una
regola che limiti l‟accesso a partire da un sito specifico. L‟ideale sarebbe impedire i
login come localhost.
Accesso non autenticato al Proxy
Questo scenario di presenta più frequentemente nel caso di firewall che utilizzano
Proxy 'trasparenti', ma di tanto in tanto capita di incontrarlo. L‟amministratore di
un firewall si fa in quattro per rendere sicura la propria macchina e implementare regole di accesso rigorose, ma spesso dimentica di disattivare l‟accesso verso l‟esterno.
I rischi sono due: un hacker potrebbe servirsi del vostro server Proxy come trampolino per vagare su Internet anonimamente e attaccare altri server Web, oppure potrebbe ottenere l‟accesso via Web all‟intera Intranet.
Il rimedio per questo problema è disattivare l‟accesso al Proxy dall‟interfaccia esterna del firewall. Il metodo adottato per disattivarlo dipende in larga misura dal produttore, quindi per ulteriori indicazioni sarà necessario contattare il fornitore del firewall. La soluzione a livello di rete e bloccare il traffico in ingresso del Proxy sui
router esterni. A tal fine è sufficiente definire sui router alcune ACL rigide.
77
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Capitolo 10
PPPoE (Point-to-Point Protocol over Ethernet)
Con l'introduzione delle tecnologie broadband come i cable modem, usati per far
viaggiare Internet sulla TV via cavo e l‟ADSL, gli Internet Service Providers hanno
adottato una metodologia per risolvere il problema dell'autenticazione degli utenti
nell‟ambito broadband. Nella loro configurazione standard, l‟ADSL e i cable modem
sono in grado di emulare una rete Ethernet: sebbene l‟uso del DHCP avrebbe semplificato l'amministrazione lato ISP e la configurazione lato utente, non avrebbe permesso l'identificazione univoca dell'utente per l'erogazione dei servizi acquistati o per
il pagamento in caso di 'pay per use'.
Questo problema è stato risolto con l'introduzione del protocollo Point-toPointProtocol over Ethernet (PPPoE). In breve, questa tecnologia permette di incapsulare il protocollo PPP, usato nella sua accezione più comune sui collegamenti
via modem, sul mezzo trasmissivo ethernet. In questo modo, traendo vantaggio della
velocità del mezzo Ethernet, è possibile riconoscere l‟utente e fornire servizi adeguati, quali altri protocolli (ad esempio IPX e NetBIOS), e IP statici. Attraverso
l‟adozione di PPPoE è quindi possibile personalizzare i servizi erogati in base all'utente anziché in base all‟ubicazione stessa dell‟utente.
L’uso di PPPoE nell’ambito Wireless
Analogamente alle tecnologie ADSL e cable modem, la wireless LAN è in grado di
emulare una rete ethernet. Anche in ambito wireless è possibile sfruttare quindi la
tecnologia PPPoE, con i benefici descritti precedentemente, ad esempio fornendo
servizi personalizzati all'utente quali l‟IP Address fisso e access lists basate a livello
utente.
PPPoE è paragonabile all‟uso di IEEE 802.1x a livello autenticazione, ma offre alcuni vantaggi. Non tutti i produttori hanno scelto di implementare 802.1x nei loro
Access Point, in special modo sugli AP a basso costo, pertanto tutti gli AP che non
dispongono di funzionalità 802.1x devono essere sostituiti. Inoltre 802.1x non copre
la funzionalità di crittografia dati, mentre PPPoE offre un‟architettura scalabile che
vedremo in seguito. PPPoE, inoltre, non richiede l‟uso di indirizzamenti a livello 3
(esempio IP) direttamente sulla Ethernet, offuscando di fatto la topologia della rete
interna, inoltre non richiede una infrastruttura PKI per l‟autenticazione dell'utente.
78
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
PPPoE, di contro ha un problema relativo alla lunghezza dei pacchetti trasmessi,
chiamata Maximum Transmission Unit (MTU). In pratica la lunghezza dei pacchetti
non può superare i 1492 bytes, causando problemi di performance su una grossa mole
di dati trasmessi.
L‟uso di PPPoE richiede che una macchina, sia essa un router od un server, funga
da collegamento tra la rete interna e la rete Wireless. Questa macchina, denominata
Access Concentrator, avrà il compito di autenticare e autorizzare in primo luogo
l‟utente, successivamente di codificare e decodificare il protocollo PPPoE.
Figura 33 - Esempio di architettura PPPoE
È bene ricordare che durante la configurazione dell'Access Concentrator, lo scambio
delle password tra il server e il client non deve essere di tipo Password Authentication Protocol (PAP), in quanto le password vengono scambiate in chiaro con questa
metodologia. Si suggeriscono metodologie alternative, quali l'uso di CHAP e MSCHAPv2.
L‟uso di PPPoE in alcune tipologie di ambienti non ha vantaggi rispetto a IEEE
802.1x, ma la soluzione PPPoE è l'ideale qualora non si possa usare 802.1x congiuntamente ad IPSec, ad esempio dove 802.1x non è disponibile e negli ambienti SOHO.
Crittografia
Nel capitoli precedenti si è sottolineato quanto le onde radio siano difficili da controllare e quanto sia facile per un intruso intercettarle. Possiamo paragonare pertan-
79
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
to la wireless LAN a una rete pubblica di accesso. Ad esempio, nella Rete Telefonica
Commutata (RTC), un aggressore può intercettare le password e i dati inserendosi
nel sistema di distribuzione solitamente posizionato sulla strada. In quest‟ottica, la
wireless LAN è soggetta a vari attacchi ed è sempre suggeribile aggiungere un livello
di crittografia in più rispetto a quanto offerto da WEP.
Il protocollo PPP e di conseguenza PPPoE, offre un‟architettura di crittografia
chiamata Microsoft Point-To-Point Encryption Protocol (MPPE). Questa estensione
del Compression Control Protocol (CCP) è stata introdotta da Microsoft per applicare
la sicurezza nel protocollo di VPN chiamato Point-to-Point Tunneling Protocol
(PPTP). MPPE è basato sull'algoritmo Rivest-Shamir-Adleman (RSA) RC4 per effettuare la crittografia dei pacchetti e può usare una chiave crittografica fino a 128bit. Inoltre MPPE può negoziare una modalità detta stateless che permette di cambiare la chiave di crittografia ogni qual volta esso si collega.
È abbastanza semplice introdurre l‟uso di MPPE su collegamento basato su PPPoE,
anche se non tutte le piattaforme supportano l‟uso congiunto delle due tecnologie.
PPPoE con l‟estensione MPPE può essere un modo semplice per affrontare il problema di sicurezza in ambito wireless.
80
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Capitolo 11
VPN (Virtual Private Network)
VPN è l‟acronimo di Virtual Private Network (rete privata virtuale) ed è l‟insieme
delle tecnologie che permettono la connessione tra reti locali private attraverso una
rete pubblica come può essere internet. Esistono diversi modi per collegare più reti
geograficamente lontane, con facilità di realizzazione decisamente più semplice di
una VPN, ma quest‟ultima offre indubbi benefici in termini di omogeneità. Non c‟è
infatti distinzione tra i dispositivi connessi al proprio Hub/Switch da quelli connessi
sulla rete LAN remota: esplorando le risorse di rete si avranno sia i dispositi locali
che quelli remoti. Il punto di forza di questa tecnologia è la trasparenza con cui viene
fatta l‟intera operazione in modo tale che le applicazioni non percepiscano la
'distribuzione' della rete.
Grazie a protocolli particolari si è in grado d‟incapsulare il traffico della LAN in specifici pacchetti, inviandoli attraverso una rete di natura insicura alla LAN remota.
Questa operazione è sempre sostenuta da almeno due 'punti', il client VPN remoto ed
il server VPN locale. Da questa affermazione si deduce che dev‟esserci supporto al
VPN da parte dei sistemi operativi, garantito nativamente nei sistemi Unix/Linux
like e da Windows 2000 in poi.
Un utente autenticato può essere provvisto di privilegi particolari per accedere a risorse che generalmente non sono accessibili a tutti gli utenti. La maggior parte dei
programmi client richiede che tutto il traffico IP della VPN passi attraverso un
“Tunnel” virtuale tra le reti utilizzando Internet come mezzo di collegamento. Dal
punto di vista dell‟utente ciò significa che, mentre la connessione VPN è attiva, tutti
gli accessi esterni alla rete sicura devono passare per lo stesso firewall come se
l‟utente fosse fisicamente connesso all‟interno della rete sicura. Questo riduce il rischio che utenti esterni possano accedere alla rete privata dell‟azienda.
La sicurezza della connessione VPN è di importanza fondamentale, perché la rete su
cui gli altri computer stanno lavorando potrebbe non essere sicura, o esserlo solo parzialmente. La VPN deve quindi garantire un livello di sicurezza tale da proteggere i
computer dei dipendenti che stanno lavorando simultaneamente sulla stessa rete, tra
i quali uno potrebbe essere stato infettato da un virus, un worm o un trojan.
L‟immagine che segue mostra l'esempio di un'azienda con tre sedi collegate tra loro
tramite VPN. Ogni sede è collegata ad Internet tramite un normale router ADSL.
81
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Tra quest'ultimo e la rete aziendale è presente un altro router che si occupa di gestire
le VPN e garantire la sicurezza delle reti interne. Nella pratica, le funzioni dei due
router (ADSL e VPN) potranno essere svolte anche da un'unica apparecchiatura.
Figura 34 - Esempio di VPN
Sicurezza
La sicurezza è un aspetto fondamentale interno al protocollo, non bisogna mai dimenticare che usando una VPN, si instradano informazioni private all‟interno di una
rete pubblica dotata per natura di poche garanzie di sicurezza. Per questo motivo
devono essere presenti meccanismi atti per realizzare la cifratura del traffico e la verifica delle credenziali. Tralasciare questi aspetti fondamentali equivale ad installare
una porta ethernet connessa al proprio Hub/Switch nel posteggio fuori casa dove
chiunque può collegarsi ed 'ascoltare' il traffico che vi passa.
L‟efficienza di una rete protetta è molto legata alle scelte implementate e, dato
l‟elevato traffico generato, particolare attenzione va prestata alla scelta della velocità di connessione usata poiché tutta la gerarchia OSI a partire dal livello 3 dev‟essere
isolata, subire il processo di cifratura, incapsulata dentro il protocollo VPN ed inserita in nuovo pacchetto TCP/IP. Tutto questo assume valore maggiormente rilevante
quando s‟impiegano reti VPN basate su Windows.
Esistono diversi tipi di protocolli VPN che offrono differenti livelli di protezione:
82
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
PPTP: ideato da Microsoft, US-Robotics ed altri produttori, facile da configurare,
veloce e supportato da tutti i produttori e dai sistemi operativi.
Quest‟implementazione è presente a partire da Windows NT 4 Server e da Windows
98 SE, non richiede l‟uso di hardware particolare poiché il meccanismo di cifratura è
molto semplice e per questo motivo garantisce un livello di sicurezza limitato. Manca
di un meccanismo “solido” di verifica delle credenziali e generalmente vengono impiegati i “Log-In” del sistema operativo.
L2TP: derivato dalla fusione di PPTP e di L2F di Cisco, è una sorta di sintesi delle
caratteristiche migliori, con meccanismi avanzati di cifratura ed autenticazione.
Questo protocollo è supportato da Windows 2000 e dai sistemi Linux Like.
IPSec: è il miglior protocollo VPN disponibile, sviluppato da IETF. E‟ in grado di
cifrare i dati e gli header dei pacchetti attraverso una chiave pubblica che è scambiata con un meccanismo evoluto di autenticazione, tramite certificati digitali. Questo
protocollo è supportato nativamente a partire da Windows 2000 e nei sistemi Linux
Like, per Windows 98/ME/NT serve un client dedicato. Se il traffico IPsec è elevato,
poterbbe essere necessario l‟acquisto di hardware dedicato alle operazioni di cifratura
e apertura dei pacchetti. Complessità d‟intallazione.
Il funzionamento di una VPN può essere spiegato grossolanamente in questo modo:
Si supponga d‟avere due host chiamati A e B, che possiedono una chiave pubblica
(pkA, pkB) ed una privata (skA, skB), posti ai lati di un tunnel che rappresenta il
“corridoio privato” in una rete pubblica. A invia a B la sua pkA e B invia ad A la sua
pkA. Assumendo che A debba mandare un messaggio a B, prende la pkB, codifica il
messaggio e lo invia. B, alla ricezione del messaggio codificato con pkB, utilizza la
skB per decodificarlo. Tutto ciò può funzionare solo se in fase di configurazione dei
tunnels si inserisce la pkA (o la pkB) del PC opposto. Se la pkA (o la pkB) inserite
non sono corrette, l‟host opposto non può decodificare il messaggio ed il tunnel non
viene aperto.
IPSec (IP Security Protocol)
Nel Giugno del 1994 la Internet Architecture Board (IAB) ha espresso, attraverso
un documento (RFC 1636), la necessità di una migliore sicurezza in Internet, in particolare ha espresso la necessità di colmare le lacune del protocollo TCP/IP. Prendendo spunto da tale documento, sono state studiate e sviluppate delle tecnologie per
rendere la comunicazione tra varie aziende sicura su un canale non sicuro quale
Internet. Queste tecnologie sono meglio conosciute come Virtual Private Network o
più semplicemente VPN.
L‟IP Security Protocol, conosciuto come IPSec, è oggi la tecnologia più diffusa per
lo scambio sicuro di dati tra aziende, o più comunemente fra due computer. IPSec è
stato definito dall'Internet Engineering Task Force già dall'Agosto 1995 attraverso
l'RFC 1825: sono passati otto anni da allora e IPSec è cresciuto notevolmente, affermandosi nel mercato come lo standard per la VPN, e fornendo al TCP/IP le fun83
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
zionalità di autenticazione, integrità e crittografia di cui era sprovvisto. Uno dei fattori che ne hanno determinato la sua affermazione è che IPSec può essere inoltrato
attraverso qualsiasi rete che supporta il protocollo IP, senza dover cambiare nessun
nodo di rete, senza cambiare le applicazioni e senza cambiare in maniera sostanziale
il sistema operativo dei nodi.
IPSec può operare in due modalità: tunnel mode e transport mode. La prima incapsula un intero datagramma IP al suo interno, rendendola ideale per l'uso con le VPN
o per trasportare IP privati all'interno di IP pubblici, ad esempio per collegare una
sede remota. La seconda invece incapsula solamente il protocollo TCP o UDP, rendendo sicura la sola comunicazione applicativa tra due nodi della rete Internet, ad
esempio la comunicazione tra un web server e un database server.
Figura 35 - IPSec in modalità trasporto e modalità tunnel
Molti firewall e router hanno la funzionalità di IPSec Tunnel Mode per stabilire delle
VPN, siano esse sedi remote, extranet o più semplicemente degli utenti interni collegati attraverso Internet. Come abbiamo sottolineato in precedenza, data la mancanza di un sistema sicuro di autenticazione e crittografia, le Wireless LAN sono da considerare untrusted, pertanto non differenti dalla rete Internet. In un ambiente quale
quello aziendale, dove la sicurezza dei dati è molto importante, le Wireless LAN trovano un naturale complemento nella tecnologia IPSec. È da considerare che, se si dispone di una VPN per l‟accesso tramite Internet, l'utente finale si troverà a suo agio
attraverso l'uso di strumenti che già conosce. È consigliabile in questo scenario collegare gli Access Point a una rete demilitarizzata (DMZ) che sia riconducibile ad un firewall o ad un router di accesso, ad esempio quello collegato alla rete Internet.
84
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Figura 36 - Esempio di architettura con IPSec
IPSec e lo scambio delle chiavi
La struttura di IPSec è piuttosto complessa in quanto IPSec non è un singolo protocollo, ma piuttosto un'architettura di sicurezza a livello IP composta da vari protocolli e da altri elementi. I protocolli principali che costituiscono IPSec sono tre:
•
•
•
AH (Authentication Header) che fornisce servizi di autenticazione e integrità.
ESP (Encapsulating Security Payload) che fornisce servizi di riservatezza,
autenticazione e integrità.
IKE (Internet Key Exchange) che gestisce lo scambio delle chiavi.
AH ed ESP non si preoccupano dello scambio delle chiavi e presumono che i due interlocutori si siano già accordati creando tra loro una Security Association (SA), ovvero una configurazione che specifica quali meccanismi di sicurezza utilizzare e con
quali chiavi. Il compito di negoziare e gestire le Security Association secondo delle
politiche definite localmente e` affidato a IKE.
La SA è un concetto fondamentale nell'ambito di IPSec in quanto specifica quali
meccanismi di sicurezza, quali algoritmi e quali chiavi vengono utilizzati per proteggere il traffico TCP/IP. Tutte le Security Association attive sono contenute in un
database detto Security Association Database (SAD), mentre esiste un altro
database detto Security Policy Database (SPD) che contiene le politiche di sicurezza.
Tramite esse il sistema decide se un pacchetto IP debba essere scartato, lasciato passare in chiaro oppure elaborato tramite IPSec, basandosi su parametri come l'indiriz-
85
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
zo IP sorgente o destinazione, la porta sorgente o destinazione, il protocollo di trasporto.
Inizialmente le SA venivano generate e scambiate manualmente, ma la loro gestione
è impraticabile su contesti più ampi, quali ad esempio quello di VPN gateway. Si è
reso necessario pertanto l'uso di un meccanismo automatico per le gestioni delle
chiavi... il protocollo IKE (Internet Key Exchange) è nato per questo scopo. IKE è
un protocollo ibrido, che integra ISAKMP (Internet Security Association and Key
Management Protocol) e Oakley. Questi ultimi definiscono metodi differenti per stabilire una scambio di chiavi tra sistemi. Oakley definisce modi per costruire un percorso di relazioni sicure, mentre ISAKMP definisce le stesse fasi in modo gerarchico.
Entrambi si riconducono in due fasi distinte di IKE: nella prima i due nodi creano
una security association per IKE stesso (detta ISAKMP SA13), ovvero un canale sicuro da utilizzare per i messaggi di IKE, nella seconda fase utilizzano la ISAKMP
SA per negoziare security association per altri protocolli.
Esistono quattro metodologie più usate per l‟autenticazione e lo scambio di chiavi
attraverso IKE, ovvero:
•
•
•
•
Shared Secret, dove entrambi i sistemi conoscono una password comune;
Public/Private Key, ovvero tramite chiavi asimmetriche pubbliche e private, ad esempio il PGP;
Digital Certificates, simile a Public/Private Key ma con chiavi aderenti allo
standard X.509, ovvero esiste una verifica dell'utente o del sistema remoto
tramite una Certification Authority (CA);
XAUT, ovvero un estensione proprietaria di autenticazione. Alcuni vendor,
quali Cisco e CheckPoint, includono questa funzionalità per autenticare un
utente attraverso Username e Password. Si noti che questo è differente dallo
Shared Secret che invece è legato ad una macchina e non ad un utente.
È consigliabile usare XAUT e i Certificati Digitali per autenticare un utente, mentre
uno Shared Secret o Certificato Digitale è più adatto per autenticare due sistemi.
Protezione del Client
Differentemente dal protocollo PPPoE, dove il client non aveva un IP address direttamente collegato alla scheda di rete, il protocollo IPSec viaggia su una rete IP esistente, per cui il client ha un indirizzo IP collegato alla scheda di rete Wireless. Come
è stato menzionato nel primo capitolo, anche il client può essere il destinatario di un
attacco da parte di un intruso, sia per 'carpire' informazioni preziose che per essere
usato come 'ponte' per entrare nella rete privata. Per prevenire questo tipo di attacchi è consigliabile installare sui client un Personal Firewall e un Antivirus, ormai disponibili da diversi vendor e per diversi sistemi operativi. Come per un firewall tradizionale, il Personal Firewall è in grado di monitorare il traffico IP in ingresso sul
client, proteggendolo da eventuali attacchi quali i tentativi di accesso a backdoors
(Back Orifice, Netbus, ecc...).
86
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Un altro passo per la protezione dei client basati su Windows è quello di limitare l'uso del registry per evitare la lettura remota. Dal programma regedt32 è possibile posizionarsi sulle chiavi di registro di interesse e, con il tasto destro sulla cartella interessata si possono selezionare le autorizzazioni da concedere. Un‟altra tecnica è quella di posizionare il file di registro di sistema in una partizione NTFS e limitare l'accesso alla directory tramite l'autorizzazione della directory dei files.
Hacking delle VPN
Le tecnologie VPN sono notevolmente maturate nel corso degli ultimi anni e stanno
procedendo velocemente verso l‟integrazione con le architetture di rete sia pubbliche
che private. Attualmente molte portanti offrono la gestione dei servizi VPN a coloro
che non desiderano realizzarli personalmente. Chiaramente, VPN è in grado di prendere il posto delle linee POTS, come prima scelta nelle comunicazioni remote. Questo
suo nuovo stato la rende però anche l‟obiettivo degli hacker più zelanti, che hanno
bisogno di risalire la catena alimentare ora che gli obiettivi degli attacchi wardialing
iniziano a esaurirsi.
Microsoft PPTP
Un buon esempio di analisi di questo tipo è la criptoanalisi dell‟implementazione
Microsoft del protocollo PPTP, effettuata il 1° Giugno 1998 dal celebre esperto di
crittografia Bruce Schneier e da un hacker di prima grandezza, Peter Mudge. Nonostante il saggio sia dedicato alla specifica implementazione di PPTP effettuata da
Microsoft, molte delle considerazioni sono di importanza fondamentale per le VPN in
generale. Trattandosi di una tecnologia orientata alla sicurezza, la maggior parte delle persone si aspetta che la progettazione e l‟implementazione della tecnologia VPN
che scelgono siano solide. Il saggio di Schneier e Mudge è un campanello d‟allarme
per queste persone. L‟analisi è stata effettuata sull‟interazione PPTP tra client e
server, non su un‟architettura gateway server-to-server. Si è poi ipotizzato che la
connessione client avvenisse direttamente su Internet, e non per via telefonica. Inoltre, alcuni degli attacchi proposti si basano sul presupposto che sia possibile intercettare liberamente la sessione PPTP. Per quanto nessuna di queste condizioni influenzi
pesantemente le conclusioni, è importante tener presente che un hacker in grado di
intercettare questo tipo di comunicazione ha già probabilmente superato la maggior
parte delle difese.
I risultati principali riferiti nel saggio sono i seguenti:
Il protocollo di autenticazione sicura di Microsoft, MS-CHAP, si basa su funzioni di crittografia di vecchia concezione, che sono già state sconfitte con relativa facilità;
Alcuni componenti delle chiavi utilizzate all‟interno di una sessione, per cifrare i dati sulla rete, sono ricavati dalle password definite dall‟utente e questo riduce la lunghezza effettiva delle chiavi al di sotto dei 40 e 128 bit dichiarati;
87
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
L‟algoritmo di cifratura prescelto per la sessione (l‟algoritmo simmetrico RC4
della RSA) risulta notevolmente indebolito per effetto del riutilizzo delle
chiavi di sessione sia in trasmissione sia in ricezione, che lo espone ai tradizionali attacchi crittografici.
Il canale di controllo (la porta TCP 1723), utilizzato per la negoziazione e la
gestione delle connessioni, non è assolutamente autenticato ed è vulnerabile
ad attacchi di tipo DoS e di Spoofing;
Viene cifrato solo il traffico di dati e questo consente a un eventuale intercettatore di ricavare informazioni molto utili dall‟analisi del traffico sul canale
di controllo;
Un client connesso a una rete attraverso un server PPTP potrebbe fare da
backdoor per la rete stessa.
Queste osservazioni sono specifiche dell‟implementazione PPTP di Microsoft, che ha
già rilasciato una patch per i client e server Windows. La lezione più importante che
si può ricavare dallo studio di Schneier e Mudge va letta tra le righe: ci sono in giro
persone ingegnose che hanno tutte le intenzioni e i mezzi per violare le VPN, per
quanto solida possa essere la loro corazza protettiva. Altri punti critici sono la potenziale vulnerabilità a lungo termine di alcuni aspetti delle VPN legati alle piattaforme o ai sistemi operativi, oppure le semplici scelte di progettazione errate che minano alla base un sistema altrimenti sicuro.
Questo è un interessante paradosso contenuto nel saggio di Schneier e Mudge: se da
un lato tendono a denigrare l‟implementazione Microsoft di PPTP, dall‟altro dichiarano che IPSec diventerà la tecnologia dominante per le VPN, soprattutto per il processo aperto e bilanciato di sviluppo.
Un’analisi pratica di IPSec
Molti si sono spazientiti di fronte alla imperscrutabilità della bozza di standard IPSec; ma poichè Microsoft lo ha integrato in Windows 2000 è probabile che per un pà
di tempo non subirà alcuna modifica. C'è però anche un aspetto positivo in tutto
questo: poichè nessuno sembra comprendere in tipo di attività svolta da IPSec, sono
pochi quelli che sanno come attaccarlo quando se lo trovano di fronte (in genere, è
possibile identificare i dispositivi che supportano IPSec mettendosi in ascolto sulla
porta UDP 500, il protocollo IKE, Internet Key Exchange Protocol). Come vedremo
più avanti, la mancanza di chiarezza non è mai un buon presupposto su cui costruire
un protocollo sicuro.
Freschi della conquista del protocollo PPTP, Schneier e Ferguson della Counterpane
Internet Security, hanno pubblicato un pungente saggio sul protocollo IPSec, dove
lamentano soprattutto dell'eccessiva complessità dei documenti degli standard IPSec
e del protocollo stesso. Questa è una critica molto pesante soprattutto se proviene da
un uomo il cui algoritmo crittografico è in gara per essere selezionato come il prossimo algoritmo di cifratura standard AES (Advanced Encryption Standard) per documenti approvati dal governo degli stati uniti.
88
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Dopo anni di inutili tentativi per cercare di accedere a questi documenti, non si può
che essere d'accordo con Schneier, anche se non è consigliata la lettura di questo saggio a chi non abbia uan conoscenza approfondita di IPSec, si tratta pur sempre di
una lettura gradevole per coloro che se ne intendono. Di seguito riportiamo alcune
delle battute tipiche e dei consigli che ne fanno un bestseller della sicurezza.
"I protocolli crittografati non dovrebbero essere sviluppati da una commissione"
"Il peggior nemico della sicurezza è la complessità"
"L‟unico modo sensato per valutare la sicurezza di un sistema è eseguire delle verifiche di sicurezza sul sistema stesso"
"Eliminare la modalità di trasporto e il protocollo AH, includere l'autenticazione
del testo cifrato nel protocollo ESP lasciando solo la modalità tunnel"
Schneier e Ferguson terminano con le mani alzate al cielo: "Secondo noi il protocollo
IPSec è troppo complesso per essere sicuro, ma è migliore di qualunque altro protocollo di sicurezza IP disponibile oggi". Chiaramente, gli utenti attuali del protocollo
IPSec sono nelle mani dei produttori che hanno implementato gli standard. Resta da
vedere de quello che ci aspetta è il paradiso o l'inferno man mano che le singole implementazioni passano l'esame attento degli hacker sparsi in tutto il mondo.
La maggior parte delle sessioni di cracking, come quelle RSA o RC5-64 si basano
sull'ipotesi che l‟hacker sia in possesso di parti di testo in chiaro. Tuttavia, il crack
delle comunicazioni cifrate è ben diverso da quello dei file delle password. In un flusso di comunicazione cifrato non esistono dei confini chiari che consentano di delineare l'inizio e la fine di una conversazione. Agli hacker non resta che procedere per tentativi, magari eseguendo invano la cifratura e il confronto di diversi frame della comunicazione, senza mai sapere se è stato individuato il punto di partenza esatto.
Steven M.Bellovin, un noto gigante della sicurezza internet dei laboratori di ricerca
della AT&T, ha pubblicato un saggio dal titolo "Probable Plaintext Cryptanalysis of
the IP Securyti Protocols", in cui parla della presenza di una grande quantità di testo in chiaro conosciuto nel traffico IPSec.
Anche se questa considerazione è ben lontana dallo scalfire la sicurezza del protocollo IPSec, l'abbiamo citata per evidenziare quali sono le sfide da affrontare, quando si
cerca di attaccare le comunicazioni cifrate.
89
Le reti LAN: Analisi della sicurezza sui sistemi Wireless
Bibliografia
Andrew S. Tanenbaum - Reti di Calcolatori (Quarta Edizione)
Giuseppe Paternò - Sicurezza nelle Reti Wireless LAN
Marco Tullio Giordano - La sicurezza delle reti Wireless
IEEE Standard for Information technology - 802.11 TM
McClur, Kurtz - Hacker 4.0, nuove tecniche di protezione
Mainardi, Giacomini - Aspetti di sicurezza dei protocolli per Wireless
Fluhrer, Mantin, Shamir - Weaknesses in the key scheduling algorithm of RC4
Stubblefield, Ioannidis, Rubin - A key recovery attack on the 802.11 WEP Protocol
Salvatori Manuel - Wireless e Sicurezza, un po‟ di attenzione al protocollo 802.11
Emilio Pavia - Vulnerabilità del protocollo WEP
Andreas Klein - Attacks on the RC4 stream cipher.
Tews, Weinmann, Pyshkin - Breaking 104 bit WEP in less than 60 seconds.
www.Wikipedia.it
Siti web vari dedicati al wireless
Siti web vari dedicati alla sicurezza
90