SlideShare uma empresa Scribd logo
1 de 29
Baixar para ler offline
Aspetti di sicurezza dei protocolli per wireless
            (WEP - WPA - TKIP)


         Paolo Mainardi (pmainard@cs.unibo.it)
        Andrea Giacomini (giacomin@cs.unibo.it)


                    15 giugno 2006
Indice

1 Le reti Wireless                                                              2
  1.1   Lo standard IEEE 8O2.111 . . . . . . . . . . . . . . . . . . . .         3
  1.2   I protocolli di trasmissione dello standard IEEE 802.11       ....       4
  1.3   I problemi di sicurezza delle reti WLAN       ............               6


2 Sicurezza nelle reti 802.11                                                    7
  2.1   Lo standard WEP . . . . . . . . . . . . . . . . . . . . . . . . .        8
        2.1.1   La teoria . . . . . . . . . . . . . . . . . . . . . . . . . .    8
        2.1.2   Il WEP in dettaglio . . . . . . . . . . . . . . . . . . . .      9
  2.2   Problemi di sicurezza del protocollo WEP        ...........             10
        2.2.1   WEP Key Recovery . . . . . . . . . . . . . . . . . . . .        10
        2.2.2   IV Collision . . . . . . . . . . . . . . . . . . . . . . . .    11
        2.2.3   Airsnort . . . . . . . . . . . . . . . . . . . . . . . . . .    12
        2.2.4   Analisi di un attacco con AirSnort      ...........             15
        2.2.5   Il risultato dell'attacco con Airsnort . . . . . . . . . . .    16
        2.2.6   AirCrack-ng . . . . . . . . . . . . . . . . . . . . . . . .     17
        2.2.7   Analisi di un attacco con AirCrack      ...........             18
        2.2.8   Conclusione analisi protocollo WEP . . . . . . . . . . .        19
  2.3   Il protocollo WPA     ........................                          20
        2.3.1   TKIP - Temporal Key Integrity Protocol . . . . . . . .          20
        2.3.2   TKIP In dettaglio . . . . . . . . . . . . . . . . . . . . .     21
        2.3.3   MIC - Message Integrity Code . . . . . . . . . . . . . .        21
        2.3.4   802.1x   ...........................                            22
        2.3.5   WPA-PSK . . . . . . . . . . . . . . . . . . . . . . . . .       23
        2.3.6   Analisi di un attacco WPA-PSK . . . . . . . . . . . . .         23


3 Lo standard 802.11i WPA2                                                      25
4 Conclusione                                                                   26
Bibliograa                                                                     26

                                       1
Capitolo 1
Le reti Wireless
   Le reti Wireless (WLAN) negli ultimi hanni hanno subito una notevole
espansione, che sta portanto progressivamente la migrazione delle attuali reti
cablate alle più moderne tecnologie senza li, tutto questo è dovuto a diversi
fattori che sono principalmente il costo ridotto delle apparecchiature e il
progressivo aumento della larghezza di banda paragonabile alle attuali reti
cablate, ed inoltre fattore chiave del successo è anche la facilità e la velocità
con cui queste reti senza li possono essere installate/congurate ed integrate
con le attuali infrastrutture di rete.
   Le attuali reti WLAN hanno diverse modalità di impiego, vengono nor-
malmente utilizzate in ambito aziendale come integrazione di infrastutture
di reti wired esistenti per portare connetività in punti dicili (o troppo co-
stosi) da cablare. Inoltre con la recente legislazione e liberalizzazione delle
frequenze radio su cui operano le reti Wireless, è stato possibile creare una
situazione in cui società di telecomunicazioni utilizzano la tecnologia wireless
per fornire accesso Internet nelle zone non coperte da collegamenti a banda
larga oppure impossibili da raggiungere con le normali rete a cavo.
                                    IEEE 802.11
   Inoltre il protocollo standard                   prevede una possibilità di
                                                          ad-hoc,
collegamento diversa da quella usuale che è denita                 che permette
di creare collegamenti punto-punto tra 2 Host, dando quindi la possibilità
di poter creare tante piccole sottoreti indipendenti e non coordinate da un
unico punto di accesso.




                                         2
1.1     Lo standard IEEE 8O2.111

                                                                                   (In-
   802.11 si riferice ad una famiglia di speciche sviluppate dallo IEEE
stitute of Electrical and Electronics Engineers, Inc.)      per le reti wireless LAN,
il protocollo è stato accettato ed ucilizzato nel 1997.         Questa famiglia di
protocolli include tre protocolli dedicati alla trasmissione delle informazio-
                                                                        802.11i.
ni(a,b,g), la sicurezza è stata inclusa in uno standard a parte                    Gli
                                (c, d, e, f, h, ...)
altri standard della famiglia                          riguardano estensioni dei ser-
vizi base e miglioramenti di servizi già disponibili.




L'architettura 802.11 è costituita da un gruppo di stazioni radio che inte-
ragisco e comunicano all'interno di una rete locale ben denita e delimitata,
                  BSS (Basic Distribution System),                              zona
che formano un                                                che sarebbe una
all'interno della quale le stazioni sono in grado di comunicare, le modalità
principali di funzionamento sono:


IBSS (ad-hoc)        : Come descritto in precedenza, questa è la modalità più
      semplice di una rete WLAN 802.11, avviene quando 2 stazioni che si
                                              BSS
      trovano all'interno di una stessa             si congurano in modo tale da
      comunicare direttamente formando una piccola rete privata.




                       Figura 1.1: 2 BSS collegate ad-hoc




Infrastucture Based        : Questa congurazione è più complessa rispetto al-
      la precedente, che permette di creare una rete WLAN di dimensioni
      arbitrarie, in questo caso le stazioni che si trovano all'interno di una
               BSS                                         DS (Distribution Sy-
      stessa          creano un collegamento ad un
      stem) (solitamente un Access Point) che ha il compito di instradare le
      comunicazioni verso altre BSS, dando di conseguenza la possibilità di
      estendere la rete senza nessuna limitazione.


                                          3
Figura 1.2: Distribution Systems e Access Point




1.2       I protocolli di trasmissione dello standard

          IEEE 802.11

   La IEEE si occupa solamente di rilasciare un insieme di speciche e ra-
ticarle come standard, ma non non si occupa in nessun modo di testare o
certicare i prodotti che implementano tali protocolli, ed è per questo che è
                          Wi-Fi Alliance,
nata un'associazione la                      che si occupa di rilasciare le cer-
                                   802.11a,802.11b,802.11g
ticazioni solo per gli standard                                e dei protoccli di
            WEP          WPA                          802.11i
sicurezza          del         e del nuovo standard             conosciuto anche
                 WPA2.
con il nome di
   I principali protocolli di trasmissione dello standard IEEE 802.11 sono
questi:


802.11 Legacy      La prima versione dello standard 802.11 venne presentata
      nel 1997 e viene chiamata 802.1y, specicava velocità di trasferimen-
      to comprese tra 1 e 2 Mbit/s e utilizzava i raggi infrarossi o le onde
      radio nella frequenza di 2.4 Ghz per la trasmissione del segnale.        La
      trasmissione infrarosso venne eliminata dalle versioni successive dato
      lo scarso successo. La maggior parte dei costruttori infatti aveva op-
      tato per lo standard IrDA. Il supporto di questo standard per quanto
      riguarda la trasmissione via onde radio è incluso delle evoluzioni dello
      standard 802.11 per ragioni di compatibilità. Poco dopo questo stan-
      dard vennero prodotti da due produttori indipendenti delle evoluzioni
      dello standard 802.1y che una volta riunite e migliorate portarono alla
      denizione dello standard 802.11b


802.11b     802.11b ha la capacità di trasmettere al massimo 11Mbit/s e utiliz-
      za il Carrier Sense Multiple Access con Collision Avoidance (CSMA/-



                                       4
CA) come metodo di trasmissione delle informazioni. Una buona par-
    te della banda disponibile viene utilizzata dal CSMA/CA. In pratica
    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. Il protocollo utilizza le frequenze
    nell'intorno dei 2.4Ghz.

    Utilizzando antenne 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 decibel 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 co-
    pertura adabile. Quando il segnale è troppo disturbato o debole lo
    standard prevede di ridurre la velocità massima a 5.5, 2 o 1 Mbit/s per
    consentire al segnale di essere decodicato correttamente.

    Sono state sviluppate delle estensioni proprietarie che utilizzando più
    canali accoppiati consentono di incrementare la velocità di trasmissio-
    ne a scapito della della compatibilità con le periferiche prodotte da-
    gli altri produttori. Queste estensioni normalmente vengono chiamate
    802.11b+ e portano la banda teorica a 22,33 o addirittura a 44 Mbit/s.


802.11a   Nel 2001 venne raticato il protocollo 802.11a approvato nel 1999.
    Questo standard utilizza lo spazio di frequenze nell'intorno dei 5 Ghz
    e opera con una velocità massima di 54 Mbit/s sebbene nella realtà
    la velocità reale disponibile all'utente sia di circa 20 Mbit/s. La velo-
    cità massima può essere ridotta a 48, 36,34,18,9 o 6 se le interferenze
    elettromagnetiche lo impongono. Lo standard denisce 12 canali non
    sovrapposti, 8 dedicati alle comunicazioni interne e 4 per le comunica-
    zioni punto a punto. Quasi ogni stato ha emanato una direttiva diversa
    a per regolare le frequenze ma dopo la conferenza mondiale per la ra-
    diocomunicazione del 2003 l'autorità federale americana ha deciso di
    rendere libere le frequenze utilizzate dallo standard 802.11a.


801.11g   Nel giugno del 2003 questo standard venne raticato. Utilizza le
    stesse frequenze del b cioè la banda di 2.4 Ghz e fornisce una banda
    teorica di 54 Mbit/s che nella realtà si traduce in una banda netta di
    24.7 Mbit/s, simile a quella dello standard 802.11a. È totalmente com-
    patibile con lo standard b ma quando si trova a operare con periferiche
    b deve ovviamente ridurre la sua velocità a quella dello standard b.

                                                                        g+
    Alcuni produttori introdussero delle ulteriori varianti chiamate         o
    Super G    nei loro prodotti.   Queste varianti utilizzavano l'accoppiata



                                      5
di due canali per raddoppiare la banda disponibile anche se questo
      indiceva interferenze con le altre reti e non era sopportato da tutte le
      schede.




1.3     I problemi di sicurezza delle reti WLAN

   Come nelle comuni reti LAN cablate, che consentono per natura l'accesso
multiplo al canale generando di conseguenza la possibilità per ogni host di
poter catturare tutto il traco di rete, anche per le reti Wireless è presente
questa problematica, dovuta anche alla natura del segnale che è a Radio
Frequenza.
   Viene a crearsi dunque uno scenario, dove la possibilità di intercettare,
monitorare e modicare il traco di rete diventa un operazione semplice e alla
portata di chiunque sia in possesso di una attrezzatura adeguata allo scopo,
creando quindi una situazione ad alto rischio per l'integrità e la privacy delle
comunicazioni della rete stessa.
   Dunque le principali problematiche delle reti Wireless possono essere
riassunte in questi punti fondamentali:


Privacy   Impedire la possibilità di intercettare il traco di rete per la sta-
      zioni non autorizzate


Autenticazione     Possono accedere alla rete solo gli utenti autorizzati


Integrità    Impedire qualsiasi forma di manomissione dei dati trasmessi




                                       6
Capitolo 2
Sicurezza nelle reti 802.11
   Lo standard IEEE 802.11 prevede 2 meccanismi per l'autenticazione, che
sono:

Open System Authentication            Questo meccanismo è l'algoritmo standard
        per l'autenticazione, non prevede essenzialmente una vera autenticazio-
        ne ed eetivamente nessun tipo di algoritmo viene utilizzato, nel draft
                                                                Null.
        dello IEEE viene denito appunto come un algoritmo



        L'autenticazione avviene in questo modo:


          1. Il client che vuole autenticarsi invia un IEEE 802.11 authentica-
             tion management frame che contiene la sua identità

          2. Il ricevente wireless AP controlla il frame inviato e risponde con
             un authentication verication frame


        Questo meccanismo non prevede nessun tipo di sicurezza, l'unica pos-
        sibilità in questo caso è congurare l'AP in modo da tale da creare
        una ACL per gli indirizzi MAC, quindi di autenticare solo le stazioni
        ritenute adabili. E' facile superare questa restrizione semplicemente
        venendo a conoscenza di uno degli indirizzi MAC validi che possono
        autenticarsi.

Shared Key Authentication           Questo meccanismo di autenticazione, è ba-
        sato su una chiave segreta e come sistemaprevede nello standard 802.11
        che questa sia distribuita a tutti i client che partecipano nell'autenti-
        cazione, in canali deniti sicuri che siano totalmente indipendenti dalle
        trasmissioni wireless. Praticamente, gli utenti devono conoscere eeti-
        vamente la chiave coinvolta nell'autenticazione e scriverla a mano nella
        congurazione della propria stazione.


                                        7
L'autenticazione avviene in questo modo:


        1. Il client invia un frame che contiene la propria identità e una
           richiesta di autenticazione

        2. Il nodo ricevente risponde con un challenge-test

        3. Il client risponde con il challenge text che è stato criptato utiliz-
           zando il protocollo WEP e una chiave di criptaggio derivata dalla
           shared key

        4. L'autenticazione risulta positiva solamente se il nodo ricevente
           determina che il challenge text decriptato corrisponde al challenge
           text originale inviato nel secondo freme.      A questo punto viene
           inviato al client il risultato dell'autenticazione.


      Per gestire la privacy e garantire la sicurezza questo tipo di autentica-
      zione prevede l'utilizzo del protocollo di crittograa WEP.




2.1     Lo standard WEP

   Lo standard IEEE 802.11 denisce un meccanismo per garantire la pri-
                                                                          Wired
vacy nelle comunicazioni, questo meccanimo è il WEP che sta per
Equivalence Protocol, come suggerisce il nome si pone l'obiettivo di garantire
un sistema di sicurezza equivalente a quello delle reti cablate.



2.1.1      La teoria

   Il processo di modica dei dati (binari) allo scopo di nascondere le info-
                                crittograa
mazioni contenute è chiamato                  (che indichiamo con E).
                                            plaintext (che indichiamo con P),
I dati che non sono criptati sono chiamati
                                      chypertext (che indichiamo con C).
mentre i dati criptati sono chiamati
Il processo di convertire un cyphertext in un plaintext viene denito decritto-
grafare (che indichiamo con D). Un algoritmo di crittograa è una funzione
matematica usata per crittografare o decrittografare i dati.       I moderni al-
goritmi di crittograa usano una chiave (key) (che indichiamo con K) per
modicare il loro output.
La funziona di crittograa E opera su P per produrre C:


                                  Ek (P ) = C

   Il processo inverso, la funzione di decriptaggio D operate su C per pro-
durre P:


                                         8
Dk (C) = P
   La stessa chiave inoltre che il processi di crifratura e decifratura è simme-
trico, infatti con la stessa chiave è possibile eseguire entrambe le operazioni:


                                Dk (Ek (P )) = P

2.1.2      Il WEP in dettaglio




                  Figura 2.1: Diagramma di cifratura WEP




   Il primo passo dell'algoritmo prevede che la chiave segreta sia concatenata
con un initialization vectore (IV) e che la stringa risultante costituisca il seme
di un generatore di numeri pseudocasuali, chiamato pseudo-random number
generator (PNRG).
L'output del PNRG e un keystream k la cui lunghezza è esattamente uguale
a quella del messaggio che sarà trasmesso in rete.
Per proteggere dalla modica del messaggio durante la trasmissione, gli si
applica un algoritmo di controllo di integrità.    Nel caso specico del WEP
viene utilizzato CRC-32. Il risultato di questa operazione chiamato Integrity
Check Value (ICV) e sara contatenato 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 nale, pronto per la trasmissione viene ottenuto unendo al
cifrato lo IV iniziale in chiaro. E' necessario che lo IV sia inviato in chiaro
per permettere la decodica al destinatario.
   La decodica di un messaggio ricevuto, prevede una fase iniziale in cui si
genera lo stesso keystream k utilizzato per la codica.
   Questo avviene prendendo lo IV del messaggio ricevuto, concatenadolo
alla chiave segreta ed inne utilizzando la stringa ottenuta come input del
PNRG.
   Quindi si calcolerà lo XOR tra il keystream ottenuto ed il messaggio
cifrato.


                                        9
Figura 2.2: Diagramma di decodica WEP




   Inne la corretta decifratura deve essere vericata dall'algoritmo CRC-32
sul testo in chiaro recuperato.
   Si controlla se lo ICV contenuto nel messaggio ricevuto corrisponde esat-
tamente allo ICV appena calcolato.
   Lo standard 802.11 prevede che si utilizzi RC4 come algoritmo di PNRG.
   Inoltre il protocollo permette di cambiare il valore dello IV di ogni mes-
saggio in modo che RC4 usi una chiave diversa ogni volta.




2.2       Problemi di sicurezza del protocollo WEP

2.2.1      WEP Key Recovery

   Il protoccolo WEP contiene una grave falla di sicurezza nell'algoritmo
di crittograa che permette la possibilità di recuperare la shared secret key.
Questo è possibile considerando il fatto che alcuni valori dello IV producono
chiavi WEP deboli. Quando una chiave WEP debole è usata per criptare, il
primo byte della stringa pseudo-casuale potrebbe contenere delle correlazioni
con la chiave WEP debole.
   Ogni chiave WEP debole utilizzata permette di avere un byte della chiave
          shared secret key
segreta                       con la probabilità del 5%
   .   Dato che questo valore non è molto alto, un attacker è costretto a
catturare una grande quantità di pacchetti nell'ordine dai 5 ai 10 millioni
di pacchetti per aumentare il numero di probabilità per avere successo nel
cracking della chiave segreta.
   Questa falla è stata pubblicata da Fluhrer, Mantin and Shamir in Wea-
knesses in the Key Scheduling Algorithm in RC4 .
   Attualmente ci sono molti strumenti che permettono di testare queste vul-
nerabilità, i primi tools che hanno provato l'ecacia della scoperta FMS sono
Airsnort e Wepcrack, che sono stati portati sui principali sistemi operativi.



                                         10
2.2.2      IV Collision

   Un altro 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
collissione IV avviene quando 2 o più pacchetti sono codicati con lo stesso
valore dello IV, quindi la stessa chiave WEP.
   Quando una collissione si verica, facendo uno XOR logico con i 2 pac-
                                        (Borisov, Goldberg,  Wagner, 2001).
chetti, possiamo eliminare la codica


   Questa procedura puo essere dimostrata con questa semplice equazione
matematica:


                          C1 = P1 ⊗ RC4(k, v)
                          C2 = P2 ⊗ RC4(k, v)
              C1 ⊗ C2 = (P1 ⊗ RC4(k, v)) ⊗ (P2 ⊗ RC4(k, v))
                            C1 ⊗ C2 = P1 ⊗ P2

   La prima e la seconda equazione mostrano che i 2 ciphertexts sono cal-
colati facendo lo XOR tra il testo in chiaro e lo stesso keystream RC4(v,k),
dove v è lo IV e K è la chiave segreta (secret key).
Una semplice manipolazione algebrica dimostra che i 2 ciphertexts che usa-
no lo stesso keystream (RC4(v,k), in realtà annullano il keystream, facendo
                                            P1 ⊗ P2
semplicemente lo XOR tra i 2 plaintexts:


   Le collissioni IV avvengono molto frequentemente, grazie a determinati
fattori:




 Lo IV-keyspace di 24-bit non è abbastanza grande per garantire che non ci
      siano collissioni per un periodo di tempo molto lungo. Infatti un AP
      che invia pacchetti di 1500 byte a 11Mbps sicuramente consumerà il
                                           Borisov, Goldberg,  Wagner, 2001
      keyspace dell'IV in meno di 5 ore.


 Molte schede Wireless (NIC) resettano gli IV a 0 ogni volta che la scheda è
                                                                        Stubble-
      inizializzata e viene incrementato di 1 ogni per ogni pachetto.
      eld, Ioannidis,  Rubin, 2001.   Questo signica che ogni trasmissione
      inizia con un ben determinato e ripetitivo IV, dando quindi l'oppor-
      tunità per avere collissioni IV e garantire ad un attacker 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


                                     11
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 collissioni IV
avvengono molto di frequente.
     Alla luce di queste vulnerabilità molti Produttori di prodotti Wireless,
hanno oerto aggiornamenti per i loro prodotti, migliorando la generazione
e la casualità dello IV e di conseguenza riducendo il numero di chiavi WEP
identiche.



2.2.3      Airsnort

     Il tool che abbiamo utilizzato per testare la vulnerabilità algoritmo RC4
(Wep Key Recovery) è AirSnort.
Questo tool è stato il primo (insieme a WEPCRACK) a rendere disponibile
                                                     Weaknesses in the Key
pubblicamente la vulnerabilità descritta nell'articolo
Scheduling Algorithm of RC4 di Scott Fluhrer, Itsik Mantin and Adi Shamir.

     Questo tool è rilasciato sotto licenza GPL, quindi il codice sorgente è visi-
bile pubblicamente, inoltre è in grado di essere platform-indipendent, quindi
di essere eseguito sulla maggiorparte dei sistemi operativi oggi esistenti.


     Il funzionamento è molto semplice, non richiede nessun Hardware partico-
lare o conoscenze tecniche in materia di Sicurezza, tutto sta nel congurare la
                                                           Monitor, poi eseguire
scheda wireless NIC in una modalità particolare detta
sulla stessa interfaccia di rete Airsnort, il quale non farà altro che raccogliere
in maniera passiva tutti i pacchetti che vengono inviati/ricevuti da un AP
con crittograa WEP.
Per avere eetto il numero dei pacchetti deve essere molto alto, nell'ordine
dei 5-10 millioni di pacchetti criptati, solo a questo punto airsnort sarà in
grado di eseguire l'algoritmo per la decodica della shared-key, che non im-
piegherà più di 1/2 secondi.


     Avendo a disposizione il codice sorgente, è interessante mostrare come in
con poche routine scritte in linguaccio C, sia possibile infrangere il sistema
di sicurezza su cui si basa il WEP, nella prossima pagine il listato completo
     RC4.C,
di            la libreria impiegata da Airsnort per eettuare il cracking della
shared Key.




                                        12
void                           ∗this )
         R C 4 i n i t (RC4                 {
                                                 sizeof ( unsigned char ) ∗
     memcpy ( t h i s −S ,      Identity ,                                                 N) ;
     t h i s −i    = t h i s −j = 0 ;
}


void                                        unsigned char ∗K, int
                               ∗ this
         k e y S t e p (RC4             ,                                      l)   {
     t h i s −j += ( t h i s −S ) [ t h i s −i ]    + K [ t h i s −i % l ] ;
    SWAP( t h i s −i ,       t h i s −j ) ;
     ( t h i s −i )++;
}


void keyWith (RC4 ∗ t h i s , unsigned char ∗K, int l )                                 {
  int a ;
  for ( a = 0 ; a  N ; a++) k e y S t e p ( t h i s , K, l ) ;
     t h i s −i    = t h i s −j = 0 ;
}




int                      ∗this )
        s t e p (RC4                {
     ( t h i s −i )++;
     t h i s −j += t h i s −S [ t h i s −i ] ;
    SWAP( t h i s −i ,       t h i s −j ) ;
     return        ( t h i s −S [N R
                                   O M( t h i s −S [ t h i s −i ]   + t h i s −S [ t h i s −j ] ) ] ) ;
}


/∗
 ∗ The S ^ −1 f u n c t i o n from FMS 7 . 1
 ∗/
int S I n v e r s e (RC4 ∗ t h i s , int x ) {
     int a ;
     for ( a = 0 ; a  N ; a++) {
       i f ( t h i s −S [ a ] == x ) return ( a ) ;
}
     printf (quot; Reality           E r r o r #1quot; ) ;
     exit (1);
}


int k e y G u e s s (RC4 ∗ t h i s , int B , int o u t ) {
  return (NORM( S I n v e r s e ( t h i s , o u t ) − t h i s −j −             t h i s −S [ IV_SIZE+ ] ) ) ;
                                                                                                      B
}




                                                13
int i s O k (RC4 ∗ t h i s , int B) {
  return ( t h i s −S [ 1 ]  IV_SIZE           
              O M( t h i s −S [ 1 ]    + t h i s −S [ t h i s −S [ 1 ] ] )
              NR                                                                == IV_SIZE + B ) ;
}


int t r y I V (RC4 ∗ t h i s , unsigned char ∗ key , int                        int
                                                                          B,          out )   {
  int a ;
  for ( a = 0 ; a  IV_SIZE ; a++) {
       keyStep ( t h i s ,   key ,   16);
}
    i f ( ! i s O k ( t h i s , B ) ) return ( −1);
    for ( a = IV_SIZE ; a  IV_SIZE+B ;                a++) {
       keyStep ( t h i s ,   key ,   16);
}
    return    keyGuess ( t h i s ,     B,   out ) ;
}


void s e t u p I d e n t i t y ( ) {
  int a ;
  for ( a = 0 ; a  N ; a++)            {
       Identity [ a ]   = a;
}
}




                                            14
2.2.4    Analisi di un attacco con Airsnort

   Per i nostri test, abbiamo simulato una situazione reale di una piccola
rete Lan, con i seguenti apparati:


  1. Access Point con crittografria WEP a 64BIT (Shared Key) ESSID:
     PsycoAP key (hex): 1234567890


  2. NIC wireless IPW2200 (Centrino)


   I test sono stati eettuati su una macchina Linux e con i tool standard
da linea di comando per la congurazione della scheda NIC.


   La scheda NIC è stata congurata in modalità Monitor:




Airsnort dispone di una comoda GUI che ci permette di vedere in realtime
l'elaborazione e lo sning dei pacchetti:




                                     15
Una volta attivato Airsnort, bisogna attendere diverse ore prima di ar-
rivare alla decodica della shared key, bisogna anche porre attenzione al
             breadth
parametro              presente nell'interfaccia di airsnort. Tramite questo pa-
rametro è possibile indicare quanto grande lo spazio di ricerca della chiave
deve essere. Se il breadth è settato ad 1, Airsnort proverà statisticamente i
                                                           13
più probabili byte in ogni posizione della chiave, quindi 1   oppure 1 chiave,
se venisse scelto un valore di 2, il sistema proverebbe ogni combinazione dei
                                                                 13
due bytes più probabili ad ogni posizione della chiave, quindi 2    oppure 8
chiavi.
Di conseguenza aumentando questo valore di breadth la computazione a cui
è sottoposta la macchina di un attacker è molto più alta ed avere un bread-
th troppo elevato rischierebbe di compromettere l'ecacia del algoritmo di
cracking RC4, che ricordiamo è più un algoritmo statistico che di brute-force,
ma avendo una macchina molto potente è possibile aumentare la profondità
dell'albero no ad un numero molto elevato (nel nostro caso 15) dimuendo
quindi il tempo per ottenere la nostra shared key.
Inoltre è da sottolineare che non si puo basare la sicurezza di questi dispositi-
vi in base al tempo e alla potenza di calcolo che un attacker ha a disposizione,
perchè non è molto dicile prevedere un attacco dove la computazione dei
dati a disposizione dell'attacker possa venire computati in un ambiente di
calcolo distribuito, orendo una capacità di calcolco virtualmente illimitata.




2.2.5       Il risultato dell'attacco con Airsnort

      Purtroppo, anche dopo circa 10 ore di sning nella rete WLAN, non sia-
mo riusciti ad ottenere il risultato, cioè di ottenere in chiaro la nostra Shared
Key.


      Le motivazioni del fallimento tramite questo famoso tool, sono da impu-
tare allo scarso sviluppo di questo tool e al minimo supporto HW dei chipset
di ultima generazione.


      Per raggiungere l'obbiettivo, analizzando gli altri strumenti di Cracking
                                                                      AirCrack-
WEP disponibili, abbiamo scelto ed utilizzato con successo il tool
ng.




                                        16
2.2.6     AirCrack-ng

   Aircrack è un tool di ultima generazione in grado di eettuare il cracking
                   WEP          WPA-PSK.
delle chiavi sia          che              E' in grado di sfruttare l'attacco
standard sull'RC4 (come nel caso di AirSnort), con alcune ottimizzazioni che
lo rendono uno dei tool di cracking più veloci oggi esistenti, in eetti nelle
nostre prove in poco meno di 2 ore di sning siamo riusciti ad ottenere con
successo la shared Key.


Anche Aircrack-ng è un tool OpenSource e multipiattaforma, disponibile per
la quasi totalità dei moderni Sistemi Operativi, a dierenza di quanto suc-
cede per Airsnort questo tool non dispone di un'interfaccia graca propria,
puo essere quindi utilizzato solamente tramite linea di comando (CLI ).


   Ha una struttura modulare molto comoda, che permette di separare com-
pletamente le principali funzioni di Sning, Logging e Cracking.


   Nel nostro caso abbiamo utilizzato:


  1. Airodump-ng


  2. Aircrack-ng


   Le congurazioni dell'AP e dell'host utilizzato per il cracking sono rima-
ste identiche.




                                     17
2.2.7      Analisi di un attacco con AirCrack

   La prima fase dell'attacco è quella di sniare il traco di rete generato
                                              Airodump-ng:
dall'AP, in questo caso utilizziamo il tool




   Analizziamo il comando eseguito:


 airodump-ng:      Tool di dumping


 -c 6:                           6
         Selezionamo il canale


 -w wep:                                   wep
            Presso per i le di logging


 eth0:   Interfaccia di rete da utilizzare per il dumping




                                       18
La seconda fase, consiste nel lanciare il vero e proprio tool di cracking
Aircrack-ng    sul le di log generato da Airodump dopo 2 ore continue di
dumping del traco di rete:




                                                  389256 IVs collezionati, per
   In questo caso sono bastati pochi secondi e
avere l'esito sperato e quindi avere nalmente in chiaro la nostra Shared Key.


   Eetuando altri simulazioni, abbiamo scoperto che il tool e l'algoritmo
di cracking per essere ecaci, hanno bisogno di almeno 250.000 IVs per una
chiave WEP a 40-Bit e almeno 800.000 IVs per una chiave WEP a 104-Bit.




2.2.8     Conclusione analisi protocollo WEP

   Abbiamo dimostrato come il protocollo WEP allo stato attuale sia total-
mente insicuro e inadabile, non ponendo nessun tipo di garanzia sulla sicu-
rezza 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.



                                       19
Ed è per questo che molte aziende e professionisti si sono mossi per crea-
re velocemente un sostituto del WEP, tentando prima di tutto di garantire
piena compatibilità con tutti gli apparati Wireless esistenti e principalmen-
te di garantire Sicurezza e adabilità e la soluzione alle vulnerabilità con il
protocollo WEP.


                                                  WPA.
   Questo nuovo protoccolo è conosciuto come




2.3      Il protocollo WPA

   Il protocollo WPA è un sottoinsieme del protocollo 802.11i (conosciuto
                                             Wi-Fi Alliance
anche come WPA2), nasce dal lavoro della                      in collaborazione
con l'IEEE, come sostituto uciale del protocollo WEP, che come abbiamo
visto non garantiva nessuna garanzia di sicurezza.


   Le caratteristiche del WPA sono molto interessanti anche per i produttori
di Hardware dedicato, in quanto è totalmente integrabile con le congurazioni
esistenti 802.11 e nella maggiorparte dei casi si tratta solamente di fare degli
upgrade ai rmware degli apparati, tutto questo è possibile per un motivo
fondamentale, cioè che l'algoritmo di codica utilizzato nel WPA è ancora il
       R4 Stream Cipher.
noto
   Lo scopo principale è quello di risolvere tutti i problemi riscontrati nel
protocollo WEP, quindi un nuovo meccanismo per la gestione delle chiavi
(TKIP) e un protocollo ben denito per l'autenticazione degli utenti coinvolti
nella rete WLAN, cosa molto importante in quanto nel WEP l'autenticazione
non era garantita.




2.3.1     TKIP - Temporal Key Integrity Protocol

   Questo protocollo è il sostituto uciale del WEP, lo scopo principale è
quello di essere retrocompatibile con lo standard 802.11 e di eliminare le prin-
cipali vulnerabilità riscontrate appunto con il procollo WEP.


   Il protoccolo TKIP garantisce maggiore sicurezza rispetto al protoccolo
WEP, in quanto utilizzata una funzione di generazione delle chiavi per ogni
pacchetto, invece che una concatenazione dello IV con la Shared Key.
Per garantire compatibilità e prestazioni con l'Hardware gia esistente, TKIP
utilizza ancora RC4, ma cambiando il sistema con cui viene utilizzato questo



                                      20
specico algoritmo, infatti adesso invece di usare la chiave segreta (Shared
Key) direttamente alla codica dei dati, viene utilizzata solamente come se-
me per generare alrte chiavi.
Grazie a questo approccio si minimizza l'esposizione della chiave segreta ad
un qualunque tipo di attacco.
                                                 Session Key,
La prima chiave che viene generata è la                         questa poi viene a
sua volta utilizzata come seme per generare le chiavi per i pacchetti.


   Vediamo come funziona questo protocollo in dettaglio.



2.3.2      TKIP in dettaglio

   Come abbiamo detto in precedenza, questo protoccolo genera una chiave
                                                                            hash
diversa per ogni pacchetto che viene creata utilizzando una funziona di
                 MAC del client, lo IV          Session Key.
sull'indirizzo                           e la
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:
   1.             In quesa fase, l'indirizzo MAC del client, la chiave di sessione
        temporanea e i 32-Bit più signicativi dello IV vengono passati alla
        funzione di Hash.    Il risultato di questa fase no a quando la chiave
        di sessione viene cambiata oppure ogni volta che cambiano i 32Bit più
        signicativi dello IV.


        Fase 2:
   2.             Questa fase è molto simile al processo di codica del protocollo
        WEP, le dierenze sono che il campo di 24-Bit della chiave WEP viene
        sostituito con i 16-Bit meno signicativi 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.


   Quindi utilizzando TKIP, la chiave di codica è da 128-Bit completamente
dinamica, un grande passo avanti rispetto al WEP dove la chiave era generata
un valore dinamico di 24-Bit(IV) e una chiave statica da 40 oppure 104-Bit.



2.3.3      MIC - Message Integrity Code

   Il protocollo WPA introduce un ulteriore livello di sicurezza per quanto
riguarda l'integrità dei dati che vengono elaborati in una trasmissione WLAN.


   Questo protocollo è una funzione di Key-Hashing specicatamente stu-
diata per le apparecchiature a bassa potenza, che viene calcolata sui dati del


                                         21
pacchetti da inviare prima che venga codicato, 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 protoccolo MIC, quando all'interno della rete WLAN vie-
ne individuato qualche pacchetto corrotto, vengono attivate immediatamente
delle contromisure, prima di tutto viene disabilito per 60 secondi il link dove
si è indivuato il dato corrotto e ogni device coinvolto è forzata a richiedere
                                   Key).
una chiave di sessione (Session


   Anche in questo caso ci sono dei potenziali problemi che coinvolgono que-
sto protocollo, infatti un attacker potrebbe scatenare verso la rete Wlan un
attacco di tipo DOS (Denial of Service), inserendo nella rete pacchetti non
validi o corrompendo i messaggi tra gli Host e l'AP, generando quindi da
parte dell'AP una serie di contromisure, bloccando il traco di rete.




2.3.4     802.1x

   L'802.1x è uno standard IEEE basato sul controllo delle porte di accesso
ad una rete LAN, nelle reti cablate il controllo viene eetuato direttamente
dallo Switch mentre nelle Reti Wireless il protocollo è implementato diretta-
mente dagli AP ,fa parte della famiglia degli standard IEEE 802.


                                                              Extensible Authen-
   Il protoccolo utilizzato per l'autenticazione è l'EAP
tication Protocol,   ed è l'unico traco di rete permesso tra un nodo e l'AP
prima della vera e propria autenticazione alla rete.


   Il protoccolo divide in 3 rouli ben distinti le interfacce di rete:




       Supplicant:
  1.                  Il client che vuole autenticarsi alla rete


       Authenticator:
  2.                      E' il punto di collegamento dove il Client è sicamente
       connesso, generalmente in una situazione wireless è l'Access Point.


       Authentication Server:
  3.                                E' il server che si occupa di gestire eeti-
       vamente l'autenticazione del Client alla rete, puo essere un Server di
                                               LDAP), ma il più usato in questo
       Autenticazione di qualsiasi tipo (es:
       ambito è il server Radius




                                        22
WPA implementa completamente questo protoccolo, garantendo quindi
una maggiore sicurezza e adabilità nelle connessioni di rete Wireless, ag-
giungendo una funzionalità importante che è quella dell'autenticazione, che
mancava completamente al protoccolo WEP e che si rende necessaria per
situazioni di reti WLAN di grande dimensioni.




2.3.5     WPA-PSK

   Il protoccolo WPA prevede la possibilità di operare anche in assenza del
framework di autenticazione 802.1x.


   In questa modalità il WPA permette ai client wireless di poter utilizzare
                          Pre Shared Key,
      passphrase
una                come                       dove ogni Client ha una sua PSK
associata al proprio indirizzo MAC, ma la maggiorparte dei produttori HW
utilizzano una PSK unica per tutti i Device, tornando quindi ad una solu-
zione molto vicina a quella WEP.


Ovviamente in questo caso tutti gli attacchi statistici sugli IV di RC4 che si
usano nel protocollo WEP sono inutili, ma questo sistema sore di una grave
vulnerabilità, infatti un attaccker in questo caso potrebbe mettersi in ascolto
sulla rete e catturare il messaggio di autenticazione di un qualsiasi Host e
poi fare un brute-force sulla PSK per trovare quella corretta.


   Per testare questa vulnerabilità, è possibile utilizzare lo stesso tool che
                                                         AirCrack.
abbiamo usato per crackare la chiave WEP, cioè




2.3.6     Analisi di un attacco WPA-PSK

   Per testare questa vulnerabilità, abbiamo utilizzato lo stesso HW di Rete
degli esperimenti precedenti ma congurando l'AP in modalità WPA-SPK e
       passphrase:
come                 12345667890


   La cosa importante per questo attacco è quello di sniare i messaggi di
autenticazione di uno degli Client collegati alla rete, per ottenere questi pac-
chetti ci sono 2 possibilità, rimanere in ascolto no a quando un Client non
si autentica, oppure forzare la deautenticazione di Host gia collegato, utiliz-
                Aireplay-ng                              Aircrack-ng.
zando il tool                 che fa parte della suite




                                         23
Dopo aver sniato e memorizzato in un apposito le di dump, il traf-
co di rete e i messaggi di autenticazione, è possibile lanciare il bruteforce
        passphrase tramite il tool Aircrack-ng
sulla                                            e un dizionario di possibili parole.


   I nostri ripetuti tentativi sono purtroppo falliti, perchè non ci è stato pos-
sibile in nessun modo sniare i messaggi di autenticazione degli Host collegati
alla rete, neanche forzando la deautenticazione degli Host collegati in quanto
il tool Airplay-ng necessità di Hardware specico per poter funzionare.


   Queste immagini dimostrano il funzionamento del tool Aircrack-ng con
WPA-PSK:




   Da notare nella seconda gura il le con il dizionario e con la passphrase
in chiaro, opportunamente creato per testare la vulnerabilità.




                                        24
Capitolo 3
Lo standard 802.11i WPA2
   Dopo aver immesso sul mercato le speciche del protoccolo WPA, un
sottoinsieme delle speciche 802.11i, il 24 Giugno 2004 è stato nalmente
raticato questo standard.


   Ancora oggi questo standard non è molto diuso in ambito picole/media
imprese o in ambito privato, dato che passare a questo protocollo signica
sostiuire 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.


   Il punto chiave del nuovo protocollo è la sostituzione dell'algoritmo di
                               AES, che è uno degli algoritmi di cifratura più
codica RC4 con l'algoritmo
                                                          Institute of Standard
forti e famoso per essere utilizzato dal NIST (National
and Technologies.   L'utilizzo di tale protocollo richiede un coprocessore mate-
matico dedicato, quindi la sostituzione delle attuali apparecchiature Wireless.


   Per il resto condivide tutte le caratteristiche di sicurezza che sono state
presentate con il protoccolo WPA.




                                       25
Capitolo 4
Conclusione
   Ad oggi non esiste ancora un'unica soluzione Standard che puo essere
ritenuta adabile, anche se sono stati raticati i nuovi standard per la sicu-
rezza, non c'è la garanzia totale che le comunicazioni siano realmente sicure.


   La sicurezza in questo ambito è un componente fondamentale, che deve
essere studiata a livelli, quindi seguendo i protocolli ISO/OSI dell'architettu-
ra di Rete, bisogna garantire ad ogni livello un determinato e adabile livello
di sicurezza, senza aumentare troppo l'overhead di dati e di conseguenza di-
minuendo le prestazioni.


   Quindi oltre ai protocolli qui presentati, bisogna studiare soluzioni alter-
native gia conosciute ed integrarle alle infrastutture di rete senza li, quindi
Firewall e traco di dati criptati con i procolli SSL e strutture di rete pri-
vate VPN.




                                      26
Bibliograa
[1] Scott Fluhrer, Itsik Mantin, and Adi Shamir. Weaknesses in the key sche-
   duling algorithm of RC4. Lecture Notes in Computer Science, 2259:124,
   2001.


[2] Adam Stubbleeld, John Ioannidis, and Aviel D. Rubin. A key recovery
   attack on the 802.11b wired equivalent privacy protocol (wep). ACM
   Trans. Inf. Syst. Secur., 7(2):319332, 2004.


[3] Jeremy      Bruestle,      Blake     Hegerle,       and    Snax.       Airsnort.
   http://airsnort.shmoo.com/.


[4] Aircrack-ng http://www.aircrack-ng.org


[5] An   Overview    of   802.11    Wireless   Network    Security     Standards   
   Mechanisms Luis Carlos Wong 21 October 2004


[6] J. Philip Craiger. 802.11, 802.1x, and Wireless Security 23 June 2002


[7] Arbaugh., W. An inductive chosen plaintext attack against WEP/WEP2.
   IEEE Document 802.11-01/230, May, 2001.


[8] Arbaugh, W., Shankar, N.,  Wan, J. Your 802.11 Wireless Network has
   No Clothes. Department of Computer Science University of Maryland
   College Park, Maryland, March, 2001.


[9] Conover,   J.   Anatomy   of   IEEE     802.11b   Wireless   7   August   2001.
   URL:http://www.networkcomputing.com/1115/1115ws2.html.                  (7   June
   2002).


[10] Geier, J. 802.11 WEP: Concepts and Vulnerability. 802.11 Planet. 20
   June 2002.


[11] The evolution of wireless security in 802.11 networks: WEP, WPA and
   802.11 standards, Stanley Wong, May 20, 2003




                                        27
[12] Wireless security beyond WEP and WPA. Eric Peeters, 20 May 2004


[13] Sicurezza    nelle     Wireless     LAN,        Giuseppe      Paternò,
   http://gpaterno.free.fr/publications/index.html


[14] National institute of standards and tecnology. Gaithersburg, Maryland,
   http://www.nist.gov/.


[15] Anton T. Rager. Wepcrack. http://wepcrack.sourceforge.net/.


[16] Wireless        Hacking:                   Breaking         Through,
   http://www.awprofessional.com/articles/article.asp?p=353735seqNum=6rl=1


[17] Practical Exploitation of RC4 Weaknesses in WEP Environments, David
   Hulton, February 22, 2002


[18] Cracking Wi-Fi Protected Access (WPA), CiscoPress, Seth Fogie, Mar
   11, 2005




                                    28

Mais conteúdo relacionado

Mais procurados (9)

Reti di computer e protocolli
Reti di computer e protocolliReti di computer e protocolli
Reti di computer e protocolli
 
Ap6532 ss it
Ap6532 ss itAp6532 ss it
Ap6532 ss it
 
NetEye nel gruppo Savio-ITEMA
NetEye nel gruppo Savio-ITEMANetEye nel gruppo Savio-ITEMA
NetEye nel gruppo Savio-ITEMA
 
Ap7161 ss it
Ap7161 ss itAp7161 ss it
Ap7161 ss it
 
Datalink wlan
Datalink wlanDatalink wlan
Datalink wlan
 
Sicurezza - Reti Wireless
Sicurezza -  Reti WirelessSicurezza -  Reti Wireless
Sicurezza - Reti Wireless
 
Connessione alla Rete degli Impianti Fotovoltaici
Connessione alla Rete degli Impianti FotovoltaiciConnessione alla Rete degli Impianti Fotovoltaici
Connessione alla Rete degli Impianti Fotovoltaici
 
Ss wlan ap_6532+italian
Ss wlan ap_6532+italianSs wlan ap_6532+italian
Ss wlan ap_6532+italian
 
Ap7161 ss it
Ap7161 ss itAp7161 ss it
Ap7161 ss it
 

Semelhante a Aspetti di sicurezza dei protocolli Wireless

Semelhante a Aspetti di sicurezza dei protocolli Wireless (20)

Sicurezza delle reti 802.11
Sicurezza delle reti 802.11Sicurezza delle reti 802.11
Sicurezza delle reti 802.11
 
La sicurezza nelle reti IEEE 802.15.4
La sicurezza nelle reti IEEE 802.15.4La sicurezza nelle reti IEEE 802.15.4
La sicurezza nelle reti IEEE 802.15.4
 
Progetazione e realizzazione di un Sensor Node
Progetazione e realizzazione di un Sensor NodeProgetazione e realizzazione di un Sensor Node
Progetazione e realizzazione di un Sensor Node
 
Modulo 1 - Lezione 3
Modulo 1 - Lezione 3Modulo 1 - Lezione 3
Modulo 1 - Lezione 3
 
Il web service e i sistemi embedded - Tesi - cap2
Il web service e i sistemi embedded - Tesi - cap2Il web service e i sistemi embedded - Tesi - cap2
Il web service e i sistemi embedded - Tesi - cap2
 
La sicurezza nelle reti IEEE 802.15.4
La sicurezza nelle reti IEEE 802.15.4 La sicurezza nelle reti IEEE 802.15.4
La sicurezza nelle reti IEEE 802.15.4
 
Ap622 datasheet
Ap622 datasheetAp622 datasheet
Ap622 datasheet
 
Networking Hand Vocabulary Book
Networking Hand Vocabulary BookNetworking Hand Vocabulary Book
Networking Hand Vocabulary Book
 
Reti locali cablate e wireless
Reti locali cablate e wirelessReti locali cablate e wireless
Reti locali cablate e wireless
 
Beacons
BeaconsBeacons
Beacons
 
Sicurezza nelle reti Wireless LAN
Sicurezza nelle reti Wireless LANSicurezza nelle reti Wireless LAN
Sicurezza nelle reti Wireless LAN
 
Townet. Chi siamo
Townet. Chi siamo Townet. Chi siamo
Townet. Chi siamo
 
Reti di computer
Reti di computerReti di computer
Reti di computer
 
Presentazione senza titolo (5)
Presentazione senza titolo (5)Presentazione senza titolo (5)
Presentazione senza titolo (5)
 
Ieee 802.15.4e nel wirelessHART
Ieee 802.15.4e nel wirelessHARTIeee 802.15.4e nel wirelessHART
Ieee 802.15.4e nel wirelessHART
 
Ap6521 datasheet
Ap6521 datasheetAp6521 datasheet
Ap6521 datasheet
 
Ap8132 datasheet
Ap8132 datasheetAp8132 datasheet
Ap8132 datasheet
 
Ap6532 ss it
Ap6532 ss itAp6532 ss it
Ap6532 ss it
 
Presentazione itis
Presentazione itis Presentazione itis
Presentazione itis
 
5_internet
5_internet5_internet
5_internet
 

Aspetti di sicurezza dei protocolli Wireless

  • 1. Aspetti di sicurezza dei protocolli per wireless (WEP - WPA - TKIP) Paolo Mainardi (pmainard@cs.unibo.it) Andrea Giacomini (giacomin@cs.unibo.it) 15 giugno 2006
  • 2. Indice 1 Le reti Wireless 2 1.1 Lo standard IEEE 8O2.111 . . . . . . . . . . . . . . . . . . . . 3 1.2 I protocolli di trasmissione dello standard IEEE 802.11 .... 4 1.3 I problemi di sicurezza delle reti WLAN ............ 6 2 Sicurezza nelle reti 802.11 7 2.1 Lo standard WEP . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.1.1 La teoria . . . . . . . . . . . . . . . . . . . . . . . . . . 8 2.1.2 Il WEP in dettaglio . . . . . . . . . . . . . . . . . . . . 9 2.2 Problemi di sicurezza del protocollo WEP ........... 10 2.2.1 WEP Key Recovery . . . . . . . . . . . . . . . . . . . . 10 2.2.2 IV Collision . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2.3 Airsnort . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.2.4 Analisi di un attacco con AirSnort ........... 15 2.2.5 Il risultato dell'attacco con Airsnort . . . . . . . . . . . 16 2.2.6 AirCrack-ng . . . . . . . . . . . . . . . . . . . . . . . . 17 2.2.7 Analisi di un attacco con AirCrack ........... 18 2.2.8 Conclusione analisi protocollo WEP . . . . . . . . . . . 19 2.3 Il protocollo WPA ........................ 20 2.3.1 TKIP - Temporal Key Integrity Protocol . . . . . . . . 20 2.3.2 TKIP In dettaglio . . . . . . . . . . . . . . . . . . . . . 21 2.3.3 MIC - Message Integrity Code . . . . . . . . . . . . . . 21 2.3.4 802.1x ........................... 22 2.3.5 WPA-PSK . . . . . . . . . . . . . . . . . . . . . . . . . 23 2.3.6 Analisi di un attacco WPA-PSK . . . . . . . . . . . . . 23 3 Lo standard 802.11i WPA2 25 4 Conclusione 26 Bibliograa 26 1
  • 3. Capitolo 1 Le reti Wireless Le reti Wireless (WLAN) negli ultimi hanni hanno subito una notevole espansione, che sta portanto progressivamente la migrazione delle attuali reti cablate alle più moderne tecnologie senza li, tutto questo è dovuto a diversi fattori che sono principalmente il costo ridotto delle apparecchiature e il progressivo aumento della larghezza di banda paragonabile alle attuali reti cablate, ed inoltre fattore chiave del successo è anche la facilità e la velocità con cui queste reti senza li possono essere installate/congurate ed integrate con le attuali infrastrutture di rete. Le attuali reti WLAN hanno diverse modalità di impiego, vengono nor- malmente utilizzate in ambito aziendale come integrazione di infrastutture di reti wired esistenti per portare connetività in punti dicili (o troppo co- stosi) da cablare. Inoltre con la recente legislazione e liberalizzazione delle frequenze radio su cui operano le reti Wireless, è stato possibile creare una situazione in cui società di telecomunicazioni utilizzano la tecnologia wireless per fornire accesso Internet nelle zone non coperte da collegamenti a banda larga oppure impossibili da raggiungere con le normali rete a cavo. IEEE 802.11 Inoltre il protocollo standard prevede una possibilità di ad-hoc, collegamento diversa da quella usuale che è denita che permette di creare collegamenti punto-punto tra 2 Host, dando quindi la possibilità di poter creare tante piccole sottoreti indipendenti e non coordinate da un unico punto di accesso. 2
  • 4. 1.1 Lo standard IEEE 8O2.111 (In- 802.11 si riferice ad una famiglia di speciche sviluppate dallo IEEE stitute of Electrical and Electronics Engineers, Inc.) per le reti wireless LAN, il protocollo è stato accettato ed ucilizzato nel 1997. Questa famiglia di protocolli include tre protocolli dedicati alla trasmissione delle informazio- 802.11i. ni(a,b,g), la sicurezza è stata inclusa in uno standard a parte Gli (c, d, e, f, h, ...) altri standard della famiglia riguardano estensioni dei ser- vizi base e miglioramenti di servizi già disponibili. L'architettura 802.11 è costituita da un gruppo di stazioni radio che inte- ragisco e comunicano all'interno di una rete locale ben denita e delimitata, BSS (Basic Distribution System), zona che formano un che sarebbe una all'interno della quale le stazioni sono in grado di comunicare, le modalità principali di funzionamento sono: IBSS (ad-hoc) : Come descritto in precedenza, questa è la modalità più semplice di una rete WLAN 802.11, avviene quando 2 stazioni che si BSS trovano all'interno di una stessa si congurano in modo tale da comunicare direttamente formando una piccola rete privata. Figura 1.1: 2 BSS collegate ad-hoc Infrastucture Based : Questa congurazione è più complessa rispetto al- la precedente, che permette di creare una rete WLAN di dimensioni arbitrarie, in questo caso le stazioni che si trovano all'interno di una BSS DS (Distribution Sy- stessa creano un collegamento ad un stem) (solitamente un Access Point) che ha il compito di instradare le comunicazioni verso altre BSS, dando di conseguenza la possibilità di estendere la rete senza nessuna limitazione. 3
  • 5. Figura 1.2: Distribution Systems e Access Point 1.2 I protocolli di trasmissione dello standard IEEE 802.11 La IEEE si occupa solamente di rilasciare un insieme di speciche e ra- ticarle come standard, ma non non si occupa in nessun modo di testare o certicare i prodotti che implementano tali protocolli, ed è per questo che è Wi-Fi Alliance, nata un'associazione la che si occupa di rilasciare le cer- 802.11a,802.11b,802.11g ticazioni solo per gli standard e dei protoccli di WEP WPA 802.11i sicurezza del e del nuovo standard conosciuto anche WPA2. con il nome di I principali protocolli di trasmissione dello standard IEEE 802.11 sono questi: 802.11 Legacy La prima versione dello standard 802.11 venne presentata nel 1997 e viene chiamata 802.1y, specicava velocità di trasferimen- to comprese tra 1 e 2 Mbit/s e utilizzava i raggi infrarossi o le onde radio nella frequenza di 2.4 Ghz per la trasmissione del segnale. La trasmissione infrarosso venne eliminata dalle versioni successive dato lo scarso successo. La maggior parte dei costruttori infatti aveva op- tato per lo standard IrDA. Il supporto di questo standard per quanto riguarda la trasmissione via onde radio è incluso delle evoluzioni dello standard 802.11 per ragioni di compatibilità. Poco dopo questo stan- dard vennero prodotti da due produttori indipendenti delle evoluzioni dello standard 802.1y che una volta riunite e migliorate portarono alla denizione dello standard 802.11b 802.11b 802.11b ha la capacità di trasmettere al massimo 11Mbit/s e utiliz- za il Carrier Sense Multiple Access con Collision Avoidance (CSMA/- 4
  • 6. CA) come metodo di trasmissione delle informazioni. Una buona par- te della banda disponibile viene utilizzata dal CSMA/CA. In pratica 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. Il protocollo utilizza le frequenze nell'intorno dei 2.4Ghz. Utilizzando antenne 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 decibel 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 co- pertura adabile. Quando il segnale è troppo disturbato o debole lo standard prevede di ridurre la velocità massima a 5.5, 2 o 1 Mbit/s per consentire al segnale di essere decodicato correttamente. Sono state sviluppate delle estensioni proprietarie che utilizzando più canali accoppiati consentono di incrementare la velocità di trasmissio- ne a scapito della della compatibilità con le periferiche prodotte da- gli altri produttori. Queste estensioni normalmente vengono chiamate 802.11b+ e portano la banda teorica a 22,33 o addirittura a 44 Mbit/s. 802.11a Nel 2001 venne raticato il protocollo 802.11a approvato nel 1999. Questo standard utilizza lo spazio di frequenze nell'intorno dei 5 Ghz e opera con una velocità massima di 54 Mbit/s sebbene nella realtà la velocità reale disponibile all'utente sia di circa 20 Mbit/s. La velo- cità massima può essere ridotta a 48, 36,34,18,9 o 6 se le interferenze elettromagnetiche lo impongono. Lo standard denisce 12 canali non sovrapposti, 8 dedicati alle comunicazioni interne e 4 per le comunica- zioni punto a punto. Quasi ogni stato ha emanato una direttiva diversa a per regolare le frequenze ma dopo la conferenza mondiale per la ra- diocomunicazione del 2003 l'autorità federale americana ha deciso di rendere libere le frequenze utilizzate dallo standard 802.11a. 801.11g Nel giugno del 2003 questo standard venne raticato. Utilizza le stesse frequenze del b cioè la banda di 2.4 Ghz e fornisce una banda teorica di 54 Mbit/s che nella realtà si traduce in una banda netta di 24.7 Mbit/s, simile a quella dello standard 802.11a. È totalmente com- patibile con lo standard b ma quando si trova a operare con periferiche b deve ovviamente ridurre la sua velocità a quella dello standard b. g+ Alcuni produttori introdussero delle ulteriori varianti chiamate o Super G nei loro prodotti. Queste varianti utilizzavano l'accoppiata 5
  • 7. di due canali per raddoppiare la banda disponibile anche se questo indiceva interferenze con le altre reti e non era sopportato da tutte le schede. 1.3 I problemi di sicurezza delle reti WLAN Come nelle comuni reti LAN cablate, che consentono per natura l'accesso multiplo al canale generando di conseguenza la possibilità per ogni host di poter catturare tutto il traco di rete, anche per le reti Wireless è presente questa problematica, dovuta anche alla natura del segnale che è a Radio Frequenza. Viene a crearsi dunque uno scenario, dove la possibilità di intercettare, monitorare e modicare il traco di rete diventa un operazione semplice e alla portata di chiunque sia in possesso di una attrezzatura adeguata allo scopo, creando quindi una situazione ad alto rischio per l'integrità e la privacy delle comunicazioni della rete stessa. Dunque le principali problematiche delle reti Wireless possono essere riassunte in questi punti fondamentali: Privacy Impedire la possibilità di intercettare il traco di rete per la sta- zioni non autorizzate Autenticazione Possono accedere alla rete solo gli utenti autorizzati Integrità Impedire qualsiasi forma di manomissione dei dati trasmessi 6
  • 8. Capitolo 2 Sicurezza nelle reti 802.11 Lo standard IEEE 802.11 prevede 2 meccanismi per l'autenticazione, che sono: Open System Authentication Questo meccanismo è l'algoritmo standard per l'autenticazione, non prevede essenzialmente una vera autenticazio- ne ed eetivamente nessun tipo di algoritmo viene utilizzato, nel draft Null. dello IEEE viene denito appunto come un algoritmo L'autenticazione avviene in questo modo: 1. Il client che vuole autenticarsi invia un IEEE 802.11 authentica- tion management frame che contiene la sua identità 2. Il ricevente wireless AP controlla il frame inviato e risponde con un authentication verication frame Questo meccanismo non prevede nessun tipo di sicurezza, l'unica pos- sibilità in questo caso è congurare l'AP in modo da tale da creare una ACL per gli indirizzi MAC, quindi di autenticare solo le stazioni ritenute adabili. E' facile superare questa restrizione semplicemente venendo a conoscenza di uno degli indirizzi MAC validi che possono autenticarsi. Shared Key Authentication Questo meccanismo di autenticazione, è ba- sato su una chiave segreta e come sistemaprevede nello standard 802.11 che questa sia distribuita a tutti i client che partecipano nell'autenti- cazione, in canali deniti sicuri che siano totalmente indipendenti dalle trasmissioni wireless. Praticamente, gli utenti devono conoscere eeti- vamente la chiave coinvolta nell'autenticazione e scriverla a mano nella congurazione della propria stazione. 7
  • 9. L'autenticazione avviene in questo modo: 1. Il client invia un frame che contiene la propria identità e una richiesta di autenticazione 2. Il nodo ricevente risponde con un challenge-test 3. Il client risponde con il challenge text che è stato criptato utiliz- zando il protocollo WEP e una chiave di criptaggio derivata dalla shared key 4. L'autenticazione risulta positiva solamente se il nodo ricevente determina che il challenge text decriptato corrisponde al challenge text originale inviato nel secondo freme. A questo punto viene inviato al client il risultato dell'autenticazione. Per gestire la privacy e garantire la sicurezza questo tipo di autentica- zione prevede l'utilizzo del protocollo di crittograa WEP. 2.1 Lo standard WEP Lo standard IEEE 802.11 denisce un meccanismo per garantire la pri- Wired vacy nelle comunicazioni, questo meccanimo è il WEP che sta per Equivalence Protocol, come suggerisce il nome si pone l'obiettivo di garantire un sistema di sicurezza equivalente a quello delle reti cablate. 2.1.1 La teoria Il processo di modica dei dati (binari) allo scopo di nascondere le info- crittograa mazioni contenute è chiamato (che indichiamo con E). plaintext (che indichiamo con P), I dati che non sono criptati sono chiamati chypertext (che indichiamo con C). mentre i dati criptati sono chiamati Il processo di convertire un cyphertext in un plaintext viene denito decritto- grafare (che indichiamo con D). Un algoritmo di crittograa è una funzione matematica usata per crittografare o decrittografare i dati. I moderni al- goritmi di crittograa usano una chiave (key) (che indichiamo con K) per modicare il loro output. La funziona di crittograa E opera su P per produrre C: Ek (P ) = C Il processo inverso, la funzione di decriptaggio D operate su C per pro- durre P: 8
  • 10. Dk (C) = P La stessa chiave inoltre che il processi di crifratura e decifratura è simme- trico, infatti con la stessa chiave è possibile eseguire entrambe le operazioni: Dk (Ek (P )) = P 2.1.2 Il WEP in dettaglio Figura 2.1: Diagramma di cifratura WEP Il primo passo dell'algoritmo prevede che la chiave segreta sia concatenata con un initialization vectore (IV) e che la stringa risultante costituisca il seme di un generatore di numeri pseudocasuali, chiamato pseudo-random number generator (PNRG). L'output del PNRG e un keystream k la cui lunghezza è esattamente uguale a quella del messaggio che sarà trasmesso in rete. Per proteggere dalla modica del messaggio durante la trasmissione, gli si applica un algoritmo di controllo di integrità. Nel caso specico del WEP viene utilizzato CRC-32. Il risultato di questa operazione chiamato Integrity Check Value (ICV) e sara contatenato 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 nale, pronto per la trasmissione viene ottenuto unendo al cifrato lo IV iniziale in chiaro. E' necessario che lo IV sia inviato in chiaro per permettere la decodica al destinatario. La decodica di un messaggio ricevuto, prevede una fase iniziale in cui si genera lo stesso keystream k utilizzato per la codica. Questo avviene prendendo lo IV del messaggio ricevuto, concatenadolo alla chiave segreta ed inne utilizzando la stringa ottenuta come input del PNRG. Quindi si calcolerà lo XOR tra il keystream ottenuto ed il messaggio cifrato. 9
  • 11. Figura 2.2: Diagramma di decodica WEP Inne la corretta decifratura deve essere vericata dall'algoritmo CRC-32 sul testo in chiaro recuperato. Si controlla se lo ICV contenuto nel messaggio ricevuto corrisponde esat- tamente allo ICV appena calcolato. Lo standard 802.11 prevede che si utilizzi RC4 come algoritmo di PNRG. Inoltre il protocollo permette di cambiare il valore dello IV di ogni mes- saggio in modo che RC4 usi una chiave diversa ogni volta. 2.2 Problemi di sicurezza del protocollo WEP 2.2.1 WEP Key Recovery Il protoccolo WEP contiene una grave falla di sicurezza nell'algoritmo di crittograa che permette la possibilità di recuperare la shared secret key. Questo è possibile considerando il fatto che alcuni valori dello IV producono chiavi WEP deboli. Quando una chiave WEP debole è usata per criptare, il primo byte della stringa pseudo-casuale potrebbe contenere delle correlazioni con la chiave WEP debole. Ogni chiave WEP debole utilizzata permette di avere un byte della chiave shared secret key segreta con la probabilità del 5% . Dato che questo valore non è molto alto, un attacker è costretto a catturare una grande quantità di pacchetti nell'ordine dai 5 ai 10 millioni di pacchetti per aumentare il numero di probabilità per avere successo nel cracking della chiave segreta. Questa falla è stata pubblicata da Fluhrer, Mantin and Shamir in Wea- knesses in the Key Scheduling Algorithm in RC4 . Attualmente ci sono molti strumenti che permettono di testare queste vul- nerabilità, i primi tools che hanno provato l'ecacia della scoperta FMS sono Airsnort e Wepcrack, che sono stati portati sui principali sistemi operativi. 10
  • 12. 2.2.2 IV Collision Un altro 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 collissione IV avviene quando 2 o più pacchetti sono codicati con lo stesso valore dello IV, quindi la stessa chiave WEP. Quando una collissione si verica, facendo uno XOR logico con i 2 pac- (Borisov, Goldberg, Wagner, 2001). chetti, possiamo eliminare la codica Questa procedura puo essere dimostrata con questa semplice equazione matematica: C1 = P1 ⊗ RC4(k, v) C2 = P2 ⊗ RC4(k, v) C1 ⊗ C2 = (P1 ⊗ RC4(k, v)) ⊗ (P2 ⊗ RC4(k, v)) C1 ⊗ C2 = P1 ⊗ P2 La prima e la seconda equazione mostrano che i 2 ciphertexts sono cal- colati facendo lo XOR tra il testo in chiaro e lo stesso keystream RC4(v,k), dove v è lo IV e K è la chiave segreta (secret key). Una semplice manipolazione algebrica dimostra che i 2 ciphertexts che usa- no lo stesso keystream (RC4(v,k), in realtà annullano il keystream, facendo P1 ⊗ P2 semplicemente lo XOR tra i 2 plaintexts: Le collissioni IV avvengono molto frequentemente, grazie a determinati fattori: Lo IV-keyspace di 24-bit non è abbastanza grande per garantire che non ci siano collissioni per un periodo di tempo molto lungo. Infatti un AP che invia pacchetti di 1500 byte a 11Mbps sicuramente consumerà il Borisov, Goldberg, Wagner, 2001 keyspace dell'IV in meno di 5 ore. Molte schede Wireless (NIC) resettano gli IV a 0 ogni volta che la scheda è Stubble- inizializzata e viene incrementato di 1 ogni per ogni pachetto. eld, Ioannidis, Rubin, 2001. Questo signica che ogni trasmissione inizia con un ben determinato e ripetitivo IV, dando quindi l'oppor- tunità per avere collissioni IV e garantire ad un attacker 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 11
  • 13. 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 collissioni IV avvengono molto di frequente. Alla luce di queste vulnerabilità molti Produttori di prodotti Wireless, hanno oerto aggiornamenti per i loro prodotti, migliorando la generazione e la casualità dello IV e di conseguenza riducendo il numero di chiavi WEP identiche. 2.2.3 Airsnort Il tool che abbiamo utilizzato per testare la vulnerabilità algoritmo RC4 (Wep Key Recovery) è AirSnort. Questo tool è stato il primo (insieme a WEPCRACK) a rendere disponibile Weaknesses in the Key pubblicamente la vulnerabilità descritta nell'articolo Scheduling Algorithm of RC4 di Scott Fluhrer, Itsik Mantin and Adi Shamir. Questo tool è rilasciato sotto licenza GPL, quindi il codice sorgente è visi- bile pubblicamente, inoltre è in grado di essere platform-indipendent, quindi di essere eseguito sulla maggiorparte dei sistemi operativi oggi esistenti. Il funzionamento è molto semplice, non richiede nessun Hardware partico- lare o conoscenze tecniche in materia di Sicurezza, tutto sta nel congurare la Monitor, poi eseguire scheda wireless NIC in una modalità particolare detta sulla stessa interfaccia di rete Airsnort, il quale non farà altro che raccogliere in maniera passiva tutti i pacchetti che vengono inviati/ricevuti da un AP con crittograa WEP. Per avere eetto il numero dei pacchetti deve essere molto alto, nell'ordine dei 5-10 millioni di pacchetti criptati, solo a questo punto airsnort sarà in grado di eseguire l'algoritmo per la decodica della shared-key, che non im- piegherà più di 1/2 secondi. Avendo a disposizione il codice sorgente, è interessante mostrare come in con poche routine scritte in linguaccio C, sia possibile infrangere il sistema di sicurezza su cui si basa il WEP, nella prossima pagine il listato completo RC4.C, di la libreria impiegata da Airsnort per eettuare il cracking della shared Key. 12
  • 14. void ∗this ) R C 4 i n i t (RC4 { sizeof ( unsigned char ) ∗ memcpy ( t h i s −S , Identity , N) ; t h i s −i = t h i s −j = 0 ; } void unsigned char ∗K, int ∗ this k e y S t e p (RC4 , l) { t h i s −j += ( t h i s −S ) [ t h i s −i ] + K [ t h i s −i % l ] ; SWAP( t h i s −i , t h i s −j ) ; ( t h i s −i )++; } void keyWith (RC4 ∗ t h i s , unsigned char ∗K, int l ) { int a ; for ( a = 0 ; a N ; a++) k e y S t e p ( t h i s , K, l ) ; t h i s −i = t h i s −j = 0 ; } int ∗this ) s t e p (RC4 { ( t h i s −i )++; t h i s −j += t h i s −S [ t h i s −i ] ; SWAP( t h i s −i , t h i s −j ) ; return ( t h i s −S [N R O M( t h i s −S [ t h i s −i ] + t h i s −S [ t h i s −j ] ) ] ) ; } /∗ ∗ The S ^ −1 f u n c t i o n from FMS 7 . 1 ∗/ int S I n v e r s e (RC4 ∗ t h i s , int x ) { int a ; for ( a = 0 ; a N ; a++) { i f ( t h i s −S [ a ] == x ) return ( a ) ; } printf (quot; Reality E r r o r #1quot; ) ; exit (1); } int k e y G u e s s (RC4 ∗ t h i s , int B , int o u t ) { return (NORM( S I n v e r s e ( t h i s , o u t ) − t h i s −j − t h i s −S [ IV_SIZE+ ] ) ) ; B } 13
  • 15. int i s O k (RC4 ∗ t h i s , int B) { return ( t h i s −S [ 1 ] IV_SIZE O M( t h i s −S [ 1 ] + t h i s −S [ t h i s −S [ 1 ] ] ) NR == IV_SIZE + B ) ; } int t r y I V (RC4 ∗ t h i s , unsigned char ∗ key , int int B, out ) { int a ; for ( a = 0 ; a IV_SIZE ; a++) { keyStep ( t h i s , key , 16); } i f ( ! i s O k ( t h i s , B ) ) return ( −1); for ( a = IV_SIZE ; a IV_SIZE+B ; a++) { keyStep ( t h i s , key , 16); } return keyGuess ( t h i s , B, out ) ; } void s e t u p I d e n t i t y ( ) { int a ; for ( a = 0 ; a N ; a++) { Identity [ a ] = a; } } 14
  • 16. 2.2.4 Analisi di un attacco con Airsnort Per i nostri test, abbiamo simulato una situazione reale di una piccola rete Lan, con i seguenti apparati: 1. Access Point con crittografria WEP a 64BIT (Shared Key) ESSID: PsycoAP key (hex): 1234567890 2. NIC wireless IPW2200 (Centrino) I test sono stati eettuati su una macchina Linux e con i tool standard da linea di comando per la congurazione della scheda NIC. La scheda NIC è stata congurata in modalità Monitor: Airsnort dispone di una comoda GUI che ci permette di vedere in realtime l'elaborazione e lo sning dei pacchetti: 15
  • 17. Una volta attivato Airsnort, bisogna attendere diverse ore prima di ar- rivare alla decodica della shared key, bisogna anche porre attenzione al breadth parametro presente nell'interfaccia di airsnort. Tramite questo pa- rametro è possibile indicare quanto grande lo spazio di ricerca della chiave deve essere. Se il breadth è settato ad 1, Airsnort proverà statisticamente i 13 più probabili byte in ogni posizione della chiave, quindi 1 oppure 1 chiave, se venisse scelto un valore di 2, il sistema proverebbe ogni combinazione dei 13 due bytes più probabili ad ogni posizione della chiave, quindi 2 oppure 8 chiavi. Di conseguenza aumentando questo valore di breadth la computazione a cui è sottoposta la macchina di un attacker è molto più alta ed avere un bread- th troppo elevato rischierebbe di compromettere l'ecacia del algoritmo di cracking RC4, che ricordiamo è più un algoritmo statistico che di brute-force, ma avendo una macchina molto potente è possibile aumentare la profondità dell'albero no ad un numero molto elevato (nel nostro caso 15) dimuendo quindi il tempo per ottenere la nostra shared key. Inoltre è da sottolineare che non si puo basare la sicurezza di questi dispositi- vi in base al tempo e alla potenza di calcolo che un attacker ha a disposizione, perchè non è molto dicile prevedere un attacco dove la computazione dei dati a disposizione dell'attacker possa venire computati in un ambiente di calcolo distribuito, orendo una capacità di calcolco virtualmente illimitata. 2.2.5 Il risultato dell'attacco con Airsnort Purtroppo, anche dopo circa 10 ore di sning nella rete WLAN, non sia- mo riusciti ad ottenere il risultato, cioè di ottenere in chiaro la nostra Shared Key. Le motivazioni del fallimento tramite questo famoso tool, sono da impu- tare allo scarso sviluppo di questo tool e al minimo supporto HW dei chipset di ultima generazione. Per raggiungere l'obbiettivo, analizzando gli altri strumenti di Cracking AirCrack- WEP disponibili, abbiamo scelto ed utilizzato con successo il tool ng. 16
  • 18. 2.2.6 AirCrack-ng Aircrack è un tool di ultima generazione in grado di eettuare il cracking WEP WPA-PSK. delle chiavi sia che E' in grado di sfruttare l'attacco standard sull'RC4 (come nel caso di AirSnort), con alcune ottimizzazioni che lo rendono uno dei tool di cracking più veloci oggi esistenti, in eetti nelle nostre prove in poco meno di 2 ore di sning siamo riusciti ad ottenere con successo la shared Key. Anche Aircrack-ng è un tool OpenSource e multipiattaforma, disponibile per la quasi totalità dei moderni Sistemi Operativi, a dierenza di quanto suc- cede per Airsnort questo tool non dispone di un'interfaccia graca propria, puo essere quindi utilizzato solamente tramite linea di comando (CLI ). Ha una struttura modulare molto comoda, che permette di separare com- pletamente le principali funzioni di Sning, Logging e Cracking. Nel nostro caso abbiamo utilizzato: 1. Airodump-ng 2. Aircrack-ng Le congurazioni dell'AP e dell'host utilizzato per il cracking sono rima- ste identiche. 17
  • 19. 2.2.7 Analisi di un attacco con AirCrack La prima fase dell'attacco è quella di sniare il traco di rete generato Airodump-ng: dall'AP, in questo caso utilizziamo il tool Analizziamo il comando eseguito: airodump-ng: Tool di dumping -c 6: 6 Selezionamo il canale -w wep: wep Presso per i le di logging eth0: Interfaccia di rete da utilizzare per il dumping 18
  • 20. La seconda fase, consiste nel lanciare il vero e proprio tool di cracking Aircrack-ng sul le di log generato da Airodump dopo 2 ore continue di dumping del traco di rete: 389256 IVs collezionati, per In questo caso sono bastati pochi secondi e avere l'esito sperato e quindi avere nalmente in chiaro la nostra Shared Key. Eetuando altri simulazioni, abbiamo scoperto che il tool e l'algoritmo di cracking per essere ecaci, hanno bisogno di almeno 250.000 IVs per una chiave WEP a 40-Bit e almeno 800.000 IVs per una chiave WEP a 104-Bit. 2.2.8 Conclusione analisi protocollo WEP Abbiamo dimostrato come il protocollo WEP allo stato attuale sia total- mente insicuro e inadabile, non ponendo nessun tipo di garanzia sulla sicu- rezza 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. 19
  • 21. Ed è per questo che molte aziende e professionisti si sono mossi per crea- re velocemente un sostituto del WEP, tentando prima di tutto di garantire piena compatibilità con tutti gli apparati Wireless esistenti e principalmen- te di garantire Sicurezza e adabilità e la soluzione alle vulnerabilità con il protocollo WEP. WPA. Questo nuovo protoccolo è conosciuto come 2.3 Il protocollo WPA Il protocollo WPA è un sottoinsieme del protocollo 802.11i (conosciuto Wi-Fi Alliance anche come WPA2), nasce dal lavoro della in collaborazione con l'IEEE, come sostituto uciale del protocollo WEP, che come abbiamo visto non garantiva nessuna garanzia di sicurezza. Le caratteristiche del WPA sono molto interessanti anche per i produttori di Hardware dedicato, in quanto è totalmente integrabile con le congurazioni esistenti 802.11 e nella maggiorparte dei casi si tratta solamente di fare degli upgrade ai rmware degli apparati, tutto questo è possibile per un motivo fondamentale, cioè che l'algoritmo di codica utilizzato nel WPA è ancora il R4 Stream Cipher. noto Lo scopo principale è quello di risolvere tutti i problemi riscontrati nel protocollo WEP, quindi un nuovo meccanismo per la gestione delle chiavi (TKIP) e un protocollo ben denito per l'autenticazione degli utenti coinvolti nella rete WLAN, cosa molto importante in quanto nel WEP l'autenticazione non era garantita. 2.3.1 TKIP - Temporal Key Integrity Protocol Questo protocollo è il sostituto uciale del WEP, lo scopo principale è quello di essere retrocompatibile con lo standard 802.11 e di eliminare le prin- cipali vulnerabilità riscontrate appunto con il procollo WEP. Il protoccolo TKIP garantisce maggiore sicurezza rispetto al protoccolo WEP, in quanto utilizzata una funzione di generazione delle chiavi per ogni pacchetto, invece che una concatenazione dello IV con la Shared Key. Per garantire compatibilità e prestazioni con l'Hardware gia esistente, TKIP utilizza ancora RC4, ma cambiando il sistema con cui viene utilizzato questo 20
  • 22. specico algoritmo, infatti adesso invece di usare la chiave segreta (Shared Key) direttamente alla codica dei dati, viene utilizzata solamente come se- me per generare alrte chiavi. Grazie a questo approccio si minimizza l'esposizione della chiave segreta ad un qualunque tipo di attacco. Session Key, La prima chiave che viene generata è la questa poi viene a sua volta utilizzata come seme per generare le chiavi per i pacchetti. Vediamo come funziona questo protocollo in dettaglio. 2.3.2 TKIP in dettaglio Come abbiamo detto in precedenza, questo protoccolo genera una chiave hash diversa per ogni pacchetto che viene creata utilizzando una funziona di MAC del client, lo IV Session Key. sull'indirizzo e la 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: 1. In quesa fase, l'indirizzo MAC del client, la chiave di sessione temporanea e i 32-Bit più signicativi dello IV vengono passati alla funzione di Hash. Il risultato di questa fase no a quando la chiave di sessione viene cambiata oppure ogni volta che cambiano i 32Bit più signicativi dello IV. Fase 2: 2. Questa fase è molto simile al processo di codica del protocollo WEP, le dierenze sono che il campo di 24-Bit della chiave WEP viene sostituito con i 16-Bit meno signicativi 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. Quindi utilizzando TKIP, la chiave di codica è da 128-Bit completamente dinamica, un grande passo avanti rispetto al WEP dove la chiave era generata un valore dinamico di 24-Bit(IV) e una chiave statica da 40 oppure 104-Bit. 2.3.3 MIC - Message Integrity Code Il protocollo WPA introduce un ulteriore livello di sicurezza per quanto riguarda l'integrità dei dati che vengono elaborati in una trasmissione WLAN. Questo protocollo è una funzione di Key-Hashing specicatamente stu- diata per le apparecchiature a bassa potenza, che viene calcolata sui dati del 21
  • 23. pacchetti da inviare prima che venga codicato, 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 protoccolo MIC, quando all'interno della rete WLAN vie- ne individuato qualche pacchetto corrotto, vengono attivate immediatamente delle contromisure, prima di tutto viene disabilito per 60 secondi il link dove si è indivuato il dato corrotto e ogni device coinvolto è forzata a richiedere Key). una chiave di sessione (Session Anche in questo caso ci sono dei potenziali problemi che coinvolgono que- sto protocollo, infatti un attacker potrebbe scatenare verso la rete Wlan un attacco di tipo DOS (Denial of Service), inserendo nella rete pacchetti non validi o corrompendo i messaggi tra gli Host e l'AP, generando quindi da parte dell'AP una serie di contromisure, bloccando il traco di rete. 2.3.4 802.1x L'802.1x è uno standard IEEE basato sul controllo delle porte di accesso ad una rete LAN, nelle reti cablate il controllo viene eetuato direttamente dallo Switch mentre nelle Reti Wireless il protocollo è implementato diretta- mente dagli AP ,fa parte della famiglia degli standard IEEE 802. Extensible Authen- Il protoccolo utilizzato per l'autenticazione è l'EAP tication Protocol, ed è l'unico traco di rete permesso tra un nodo e l'AP prima della vera e propria autenticazione alla rete. Il protoccolo divide in 3 rouli ben distinti le interfacce di rete: Supplicant: 1. Il client che vuole autenticarsi alla rete Authenticator: 2. E' il punto di collegamento dove il Client è sicamente connesso, generalmente in una situazione wireless è l'Access Point. Authentication Server: 3. E' il server che si occupa di gestire eeti- vamente l'autenticazione del Client alla rete, puo essere un Server di LDAP), ma il più usato in questo Autenticazione di qualsiasi tipo (es: ambito è il server Radius 22
  • 24. WPA implementa completamente questo protoccolo, garantendo quindi una maggiore sicurezza e adabilità nelle connessioni di rete Wireless, ag- giungendo una funzionalità importante che è quella dell'autenticazione, che mancava completamente al protoccolo WEP e che si rende necessaria per situazioni di reti WLAN di grande dimensioni. 2.3.5 WPA-PSK Il protoccolo WPA prevede la possibilità di operare anche in assenza del framework di autenticazione 802.1x. In questa modalità il WPA permette ai client wireless di poter utilizzare Pre Shared Key, passphrase una come dove ogni Client ha una sua PSK associata al proprio indirizzo MAC, ma la maggiorparte dei produttori HW utilizzano una PSK unica per tutti i Device, tornando quindi ad una solu- zione molto vicina a quella WEP. Ovviamente in questo caso tutti gli attacchi statistici sugli IV di RC4 che si usano nel protocollo WEP sono inutili, ma questo sistema sore di una grave vulnerabilità, infatti un attaccker in questo caso potrebbe mettersi in ascolto sulla rete e catturare il messaggio di autenticazione di un qualsiasi Host e poi fare un brute-force sulla PSK per trovare quella corretta. Per testare questa vulnerabilità, è possibile utilizzare lo stesso tool che AirCrack. abbiamo usato per crackare la chiave WEP, cioè 2.3.6 Analisi di un attacco WPA-PSK Per testare questa vulnerabilità, abbiamo utilizzato lo stesso HW di Rete degli esperimenti precedenti ma congurando l'AP in modalità WPA-SPK e passphrase: come 12345667890 La cosa importante per questo attacco è quello di sniare i messaggi di autenticazione di uno degli Client collegati alla rete, per ottenere questi pac- chetti ci sono 2 possibilità, rimanere in ascolto no a quando un Client non si autentica, oppure forzare la deautenticazione di Host gia collegato, utiliz- Aireplay-ng Aircrack-ng. zando il tool che fa parte della suite 23
  • 25. Dopo aver sniato e memorizzato in un apposito le di dump, il traf- co di rete e i messaggi di autenticazione, è possibile lanciare il bruteforce passphrase tramite il tool Aircrack-ng sulla e un dizionario di possibili parole. I nostri ripetuti tentativi sono purtroppo falliti, perchè non ci è stato pos- sibile in nessun modo sniare i messaggi di autenticazione degli Host collegati alla rete, neanche forzando la deautenticazione degli Host collegati in quanto il tool Airplay-ng necessità di Hardware specico per poter funzionare. Queste immagini dimostrano il funzionamento del tool Aircrack-ng con WPA-PSK: Da notare nella seconda gura il le con il dizionario e con la passphrase in chiaro, opportunamente creato per testare la vulnerabilità. 24
  • 26. Capitolo 3 Lo standard 802.11i WPA2 Dopo aver immesso sul mercato le speciche del protoccolo WPA, un sottoinsieme delle speciche 802.11i, il 24 Giugno 2004 è stato nalmente raticato questo standard. Ancora oggi questo standard non è molto diuso in ambito picole/media imprese o in ambito privato, dato che passare a questo protocollo signica sostiuire 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. Il punto chiave del nuovo protocollo è la sostituzione dell'algoritmo di AES, che è uno degli algoritmi di cifratura più codica RC4 con l'algoritmo Institute of Standard forti e famoso per essere utilizzato dal NIST (National and Technologies. L'utilizzo di tale protocollo richiede un coprocessore mate- matico dedicato, quindi la sostituzione delle attuali apparecchiature Wireless. Per il resto condivide tutte le caratteristiche di sicurezza che sono state presentate con il protoccolo WPA. 25
  • 27. Capitolo 4 Conclusione Ad oggi non esiste ancora un'unica soluzione Standard che puo essere ritenuta adabile, anche se sono stati raticati i nuovi standard per la sicu- rezza, non c'è la garanzia totale che le comunicazioni siano realmente sicure. La sicurezza in questo ambito è un componente fondamentale, che deve essere studiata a livelli, quindi seguendo i protocolli ISO/OSI dell'architettu- ra di Rete, bisogna garantire ad ogni livello un determinato e adabile livello di sicurezza, senza aumentare troppo l'overhead di dati e di conseguenza di- minuendo le prestazioni. Quindi oltre ai protocolli qui presentati, bisogna studiare soluzioni alter- native gia conosciute ed integrarle alle infrastutture di rete senza li, quindi Firewall e traco di dati criptati con i procolli SSL e strutture di rete pri- vate VPN. 26
  • 28. Bibliograa [1] Scott Fluhrer, Itsik Mantin, and Adi Shamir. Weaknesses in the key sche- duling algorithm of RC4. Lecture Notes in Computer Science, 2259:124, 2001. [2] Adam Stubbleeld, John Ioannidis, and Aviel D. Rubin. A key recovery attack on the 802.11b wired equivalent privacy protocol (wep). ACM Trans. Inf. Syst. Secur., 7(2):319332, 2004. [3] Jeremy Bruestle, Blake Hegerle, and Snax. Airsnort. http://airsnort.shmoo.com/. [4] Aircrack-ng http://www.aircrack-ng.org [5] An Overview of 802.11 Wireless Network Security Standards Mechanisms Luis Carlos Wong 21 October 2004 [6] J. Philip Craiger. 802.11, 802.1x, and Wireless Security 23 June 2002 [7] Arbaugh., W. An inductive chosen plaintext attack against WEP/WEP2. IEEE Document 802.11-01/230, May, 2001. [8] Arbaugh, W., Shankar, N., Wan, J. Your 802.11 Wireless Network has No Clothes. Department of Computer Science University of Maryland College Park, Maryland, March, 2001. [9] Conover, J. Anatomy of IEEE 802.11b Wireless 7 August 2001. URL:http://www.networkcomputing.com/1115/1115ws2.html. (7 June 2002). [10] Geier, J. 802.11 WEP: Concepts and Vulnerability. 802.11 Planet. 20 June 2002. [11] The evolution of wireless security in 802.11 networks: WEP, WPA and 802.11 standards, Stanley Wong, May 20, 2003 27
  • 29. [12] Wireless security beyond WEP and WPA. Eric Peeters, 20 May 2004 [13] Sicurezza nelle Wireless LAN, Giuseppe Paternò, http://gpaterno.free.fr/publications/index.html [14] National institute of standards and tecnology. Gaithersburg, Maryland, http://www.nist.gov/. [15] Anton T. Rager. Wepcrack. http://wepcrack.sourceforge.net/. [16] Wireless Hacking: Breaking Through, http://www.awprofessional.com/articles/article.asp?p=353735seqNum=6rl=1 [17] Practical Exploitation of RC4 Weaknesses in WEP Environments, David Hulton, February 22, 2002 [18] Cracking Wi-Fi Protected Access (WPA), CiscoPress, Seth Fogie, Mar 11, 2005 28