Wireless e sicurezza informatica

“Vuoi non trovare qualcuno che ha un wireless aperto?”.   Purtroppo è proprio così. Basta accendere il portatile per vedere che la nostra scheda wireless, terminata una breve scansione, rileva alcuni Access Point. Nella lista delle reti senza fili disponibili (una parola quanto mai azzeccata) troviamo il nome delle varie reti e, forse, la dicitura “Rete senza fili protetta”. A seguire, tra parentesi, il tipo di protezione adottata. Perché troviamo reti non protette? Sono solo gli utenti domestici che non se ne curano? E la protezione funziona veramente? Vediamo dunque di effettuare un breve viaggio sui metodi di protezione, andando anche ad accennare ai metodi esistenti che consentono di bypassare i sistemi meno sicuri.   Una breve introduzione Una rete wireless può essere di due tipi, vale a dire che può essere di tipo paritetico ed utilizzare la tecnologia wi-fi per consentire alle varie macchine di comunicare tra loro, oppure (il caso più diffuso) utilizzare un dispositivo di accesso (Access Point) al quale le varie macchine fanno riferimento. Questo dispositivo di accesso, molto spesso, funge anche da modem ADSL e consente a piccole aziende di disporre comodamente di connessione internet e di fornire questa connessione ai propri impiegati in maniera piuttosto rapida ed economica. Questi dispositivi hanno anche porte Ethernet e possono agire da ponte con reti cablate, possono essere utilizzati anche in serie, e sono molto comuni anche per quanto riguarda l’utenza domestica. Gli Access Point, e le reti che gestiscono, vengono riconosciuti tramite un nome definito SSID (Service Set IDentifier) che serve appunto ad identificare la rete. Probabilmente, l’esposizione pubblica di questo nome è la prima debolezza del wireless. Occorre tener conto del fatto che tutti i dispositivi wireless in commercio, per default, hanno disattivata qualsiasi impostazione di sicurezza, per cui se è vero che possono essere configurati in 10 minuti anche da mani inesperte (ho alcuni dubbi al riguardo, dopo aver visto diversi manuali d’uso contenere madornali errori, imprecisioni, ed inesattezze), questa rapida configurazione paga un pedaggio piuttosto salato, dal momento che mette l’Access Point a disposizione di chiunque lo rilevi. Il segnale di un Access Point si dirama in ogni direzione, per cui anche se  per varie cause si attenua abbastanza presto, è facile preda di chiunque ne faccia ricerca. Fortunatamente, è possibile mettere le mani sulle varie opzioni di configurazione e proteggere il sistema. Molte opzioni consentono di limitare l’accesso alla rete wireless, e se da sole non sono sufficienti a fornire una protezione sicura, è conveniente in qualsiasi caso sfruttarle per aumentare la protezione medesima. Protezione che in un ultima analisi viene fornita solo dalla crittografia, ma non da tutti i tipi di crittografia utilizzabili. Vediamo ora assieme tutto quello che si può fare. Cambio della password di amministratore. Questa semplice e banale operazione ovviamente non influisce sulle possibilità di accedere ad un Access Point, però almeno impedisce di configurare lo stesso secondo i propri desideri a chiunque. Tenete conto che, di default, un AP non solo comunica la sua presenza a chiunque ne faccia richiesta ma fornisce anche un indirizzo IP, e il nome SSID, il quale a sua volta di default definisce in molti casi marca e modello del router utilizzato. Decisamente troppo. Volete anche dare a qualcuno la possibilità di riconfigurare il vostro AP? Cambio del nome SSID e disabilitazione del broadcasting. Con procedura analoga alla precedente è possibile modificare il nome dell’SSID. Chiaramente questo resta intercettabile, quindi è bene non essere troppo informativi nello scegliere un altro nome (il nome dell’azienda, ad esempio, è una pessima idea). Nella Figura 1 è possibile vedere la scheda di configurazione di un prodotto di 3Com, Office Connect, utilizzato per questo articolo. Come si nota, è anche possibile, e consigliabile, disabilitare il broadcasting dell’SSID, vale a dire la ricerca dello stesso. Ancora questo non fermerà persone maggiormente “armate” ma terrà alla larga perlomeno i passanti.

Figura 1 - Configurazione di un router wireless
Figura 1

  Cambio dell’indirizzo IP dell’AP. Anche se non pubblicizzo il mio AP, questo continua ad essere a disposizione, e se il suo indirizzo rimane quello impostato di default, resta facilmente rilevabile e raggiungibile. Cambiare pertanto questo indirizzo consente, ancora, di limitare le possibilità di agganciarsi ad esso. Disabilitazione del servizio DHCP. Il protocollo di configurazione dinamica degli host è ovviamente molto comodo in una rete cablata, ma piuttosto pericoloso in una rete wireless. Fornire un indirizzo IP valido ad un intruso è abbastanza chiaramente una pessima idea. Nella Figura 2 è possibile vedere come sia il cambio di indirizzo IP sia la disabilitazione del servizio DHCP siano piuttosto semplici da portare a termine. Ogni produttore fornirà vie leggermente diverse per farlo, ma resta comunque una operazione quasi immediata. Attivazione del controllo del MAC Address. Gli Access Point possono essere impostati in modo da accettare connessioni soltanto dalle schede che hanno un indirizzo hardware (MAC Address) prestabilito. Questo rende più complicato penetrare nella rete, perché occorre prima scoprire uno dei MAC address autorizzati. La Figura 3 mostra un esempio dell’applicazione di questa funzionalità.   Note dolenti sulle limitazioni Come detto, quanto sopraesposto vale solo per limitare la superficie di attacco, non certo per proteggerla nel vero senso della parola. Esistono molti tool in commercio e in rete adatti ad attività di controllo (o di hacking). Citiamo tra questi NetStumbler (www.netstumbler.com), uno strumento in grado di fornire molte informazioni sui dispositivi wireless a portata di antenna. Un prodotto analogo in ambiente Linux è invece Kismet (www.kismetwireless.net).  Questi prodotti rilevano le reti wireless ed offrono diverse informazioni su queste. Un’altra categoria di prodotti riguarda invece gli sniffer, tra i quali citiamo AiroPeek NX (www.wildpackets.com), ed ovviamente il famosissimo Ethereal (che ora non esiste più, sostituito da Wireshark – www.wireshark.org) questo ultimo anche per ambienti UNIX. Infine, esistono addirittura dei tool specificatamente pensati per il cracking delle chiavi WEP (tra breve ci arriveremo) come Airsnort (http://airsnort.shmoo.com/) o il più nuovo Aircrack-ng (www.aircrack-ng.org). Volendo, è possibile utilizzare una distribuzione Linux fatta apposta per i test di penetrazione che ingloba molti dei tool qui sopra nominati (BackTrack, che potete trovare all’indirizzo http://www.backtrack-linux.org) Tenete conto che con strumenti come AiroPeek è possibile trovare gli indirizzi MAC attivi sulla rete. Pertanto, è possibile modificare l’indirizzo MAC della nostra macchina in modo da impersonare piuttosto facilmente una delle macchine a cui è consentito l’accesso. Esistono degli strumenti per farlo, anche se in ambiente Windows è sufficiente modificare la chiave “NetworkAddress” nel registro di sistema e in Linux utilizzare il comando ifconfig, previa disabilitazione della scheda (fino a che è attiva l’operazione non è possibile). Se vi piace l’interfaccia grafica, potete provare il MAC Address Changer di Technitium (http://tmac.technitium.com/tmac/index.html), gratuito, che funziona anche con Windows Vista e successivi.   Crittografia (e debolezze) Il WEP (Wired Equivalent Privacy), fa parte dello standard IEEE 802.11 ratificato nel 1999, e, al tempo, specificava il protocollo utilizzato per rendere sicure le trasmissioni sulle reti wireless. WEP si basa sull’algoritmo RC4 della RSA, ed è un sistema di cifratura basato sulla condivisione di una chiave. Questa è lunga 40 bit o 104 bit ed è concatenata ad un vettore di inizializzazione lungo 24 bit. Se avete un attimo di pazienza, i curiosi ce l’avranno, possiamo anche scendere in qualche dettaglio. Nell’invio dei dati vengono svolte queste operazioni:

  • Viene calcolato il CRC (a 32 bit) – per il controllo dell’integrità dei dati del Payload – c(P) – , che viene concatenato al payload (P) medesimo. [P-c(P)]
  • La chiave K viene concatenata al vettore di inizializzazione (IV) determinato per il pacchetto [IV-K]
  • L’algoritmo RC4 è inizializzato usando questo pacchetto e viene generata una sequenza di byte [RC4 su IV-K]
  • A questo punto i due costrutti vengono messi in xor (xor è un operatore logico, denominato “or esclusivo” che restituisce Vero (1) se ambedue le condizioni sono false (0) e Falso (0) negli altri casi.
  • I 24 bit, o 3 byte del vettore di inizializzazione (IV), vengono trasmessi in chiaro.

Alla ricezione dei dati:

  • Viene concatenato l’IV ricevuto con la chiave WEP condivisa così da poter ricostruire il costrutto RC4 su IV-K. Questo è il motivo per cui il vettore deve essere trasmesso in chiaro.
  • Il payload viene decrittato e se il CRC coincide allora è valido, altrimenti il pacchetto viene scartato.

Naturalmente, se viene utilizzato lo stesso vettore di inizializzazione, viene generata la stessa sequenza di byte (si chiama keystream) da RC4. Quindi l’xor di due messaggi cifrati equivale all’xor di due messaggi in chiaro. Ancora, è possibile ottenere un messaggio conoscendo l’altro, e in definitiva effettuando l’analisi su molti messaggi codificati con lo stesso keystream è possibile decodificarli. Mica lo facciamo a mano, ci sono i computer per questo! Con 24 bit otteniamo poco più di 16 milioni di diversi keystream, che sono decisamente pochi per le capacità di calcolo attuali. Dal 2001 gli interventi atti ad evidenziare le debolezze del WEP si sono fatti sempre più frequenti.  In particolare, citiamo l’articolo di S.Fluhrer, I.Martin e A.Shamir dal titolo “Weakness in the Key Scheduling Algorithm of RC4” in cui descrivono un attacco la cui rapidità cresce linearmente (e non esponenzialmente) con il crescere della chiave WEP. L’articolo è largamente reperibile nel Web, ad esempio all’indirizzo www.drizzle.com/~aboba/IEEE/rc4_ksaproc.pdf. Il tool Airsnort, citato in precedenza, consente di determinare in maniera piuttosto rapida una chiave WEP. Se siete interessati ad una guida passo passo al cracking di comunicazioni criptate in questo modo, all’indirizzo http://www.tomshw.it/business.php?guide=20050518&page=index potrete trovare una guida molto precisa sull’argomento; in inglese, una guida più aggiornata è disponibile all’indirizzo http://www.smallnetbuilder.com/content/view/30114/98/.   Crittografia più sicura Vista la pubblicità che ha avuto, e ha, il cracking dei sistemi wireless, ricorrere alla crittografia WEP è poco più di un palliativo. Tra il 2003 e il 2004, ad ogni modo, è nato ed è diventato standard il protocollo Wi-Fi Protected Access, altrimenti noto come WPA. Il WPA gestisce l’autenticazione dei client e dei server e la distribuzioni di differenti chiavi per ogni utente, anche se per retrocompatibilità supporta ancora la gestione a chiave condivisa (WPA-PSK, PreShared Key). I dati vengono crittografati con l’algoritmo RC4 con chiave a 128 bit e vettore di inizializzazione di lunghezza doppia rispetto al WEP, vale a dire di 48 bit. Una delle modifiche che ha reso più sicuro questo protocollo, rispetto al precedente, è l’introduzione del Temporal Key Integrity Protocol, un protocollo in grado di modificare la chiave in uso in maniera dinamica. Il processo di autenticazione dell’utente utilizza il protocollo EAP (Extensible Authentication Protocol). Nelle reti di una certa dimensione, l’autenticazione avviene, presumibilmente, utilizzando un server RADIUS (Remote Access Dial In User Service), e pertanto non c’è bisogno di usare una sorta di parola d’ordine (la chiave condivisa) per identificare tra loro tutti i client e l’AP. La condivisione di questa chiave è altrimenti il punto debole della specifica. Ad ogni modo, non aspettatevi in questo caso di trovare valanghe di “How to” in rete, anche se, ovviamente, qualcosa si trova sempre. Dopo l’autenticazione vengono attivate le funzionalità evolute di cifratura di WPA, e quindi in pratica la sicurezza è raggiunta. Sicurezza che viene anche garantita da un utilizzo consono di un server Radius (qui dipende dalla protezione della infrastruttura di rete, ovviamente). Certamente avrete anche sentito parlare di WPA2. Non si tratta in questo caso di un aggiornamento al protocollo, in qualche modo, ma della sua implementazione nello standard 802.11i, di cui è parte. Ad ogni modo si utilizzerà la cifratura AES (Advanced Encryption Standard). I dispositivi che avranno il pieno supporto di questo standard si fregeranno del titolo WPA2. Anche in questo caso, tuttavia, possiamo distinguere due classi di sicurezza, a seconda che venga usata la chiave condivisa (WPA2 – Personal) o un server Radius (WPA2 – Enterprise)   Il futuro? Per il futuro sembra si debba lavorare sui protocolli di autenticazione. Inizialmente Cisco e Microsoft (con RSA), avevano iniziato a collaborare su PEAP (Protected EAP), che consente la creazione di un tunnel tra server e client in cui transitano le informazioni e le credenziali dell’utente. Questo consentirebbe di poter evitare la necessità di avere un certificato digitale sul client. Integrando PEAP nei dispositivi e nelle infrastrutture che gestiscono la rete (Active Directory, per esempio), è possibile gestire efficacemente tutto l’attività di autenticazione in una rete wireless. Le strade di Microsoft e Cisco si sono in seguito divise, per cui sui prodotti Microsoft si trova una versione personalizzata di PEAP, che peraltro funziona benissimo ma ove si abbia una infrastruttura tutta legata a Microsoft. Cisco dal canto proprio sta studiando una tecnologia denominata EAP FAST (EAP Flexible Authentication via Secure Tunneling), con autenticazione basata su credenziali che il client scarica da un server sicuro. Un articolo sicuramente interessante per quanto riguarda le strategie Microsoft si trova all’indirizzo http://www.microsoft.com/technet/security/guidance/cryptographyetc/peap_0.mspx. Per quanto riguarda Cisco, vari documenti su EAP FAST sono disponibili.   Conclusioni Se le reti senza fili sono certo una comodità, gli amministratori saranno d’accordo che la comodità senza la sicurezza non è poi un gran paradiso. Allora, occorre innanzitutto mettere in azione tutte quei piccoli stratagemmi atti a difendere i nostri AP (anche dagli utenti interni, certo) e a rendere sicure le comunicazioni. Fortunatamente, non sembra che il lavoro da fare sia poi molto, e in definitiva occorre fare attenzione ed utilizzare le funzionalità messe a disposizione dai produttori. Certo, sarà necessario anche mantenersi informati, ma questo, per gli amministratori, è lavoro di tutti i giorni. Troverete certo simpatico girovagare un po’ con il vostro portatile e trovare che questo continua a fornirvi AP disponibili, ma sarete molto poco contenti se al posto del vostro portatile agganciato all’AP di qualcun altro troverete il portatile di qualcun altro agganciato al vostro AP.   Sebastiano Della Puppa MCP, MCSA, MCSE, MCDBA, MCTS, MCITP, MCT

Sebastiano Della Puppa

Autore

Sebastiano Della Puppa ha 49 anni, da quasi 30 si occupa di formazione, e da 20 anni si è specializzato in informatica. Nel 1999 si certifica Microsoft Certified System Engineer su Windows NT4 e inizia una lunga e solida collaborazione con una delle principali realtà italiane della formazione professionale. Acquisce presto lo status di Microsoft Certified Trainer, competenza che aggiorna negli anni svolgendo con costanza e professionalità docenze e consulenze su tutte le tecnologie legate ai sistemi operativi Microsoft e alla piattaforma SQL Server. Oggi è trainer certificato per diversi centri di formazione Microsoft e collabora come articolista e traduttore per diverse testate specializzate; con Apogeo e IALWeb pubblica diversi libri.

Leave a Reply