Quanto è sicura la nostra rete wireless? È sufficientemente robusta per resistere all’eventuale attacco di un malintenzionato oppure è talmente malridotta da consentire a chiunque di accedervi e sfruttare la nostra connessione Internet mentre ne paghiamo la bolletta? Le connessioni a banda larga sono tuttora piuttosto costose e oggi sono in molti coloro che ricorrono all’estensione senza fili della propria rete per sfruttarne al massimo le potenzialità di accesso ad Internet da qualsiasi punto della casa e con varie tipologie di dispositivi mobili come smartphone, tablet e notebook.
Ciò che in molti non hanno ancora realizzato è che i dispositivi di accesso wireless, in particolare quelli che sfruttano i più avanzati standard di connessione, estendono il proprio segnale per decine di metri, quindi spesso ben oltre le mura esterne dell’abitazione. Se per esempio abitiamo in un condominio, molto probabilmente il nostro segnale wireless viene comodamente captato dagli occupanti degli appartamenti che confinano con il nostro, sopra, sotto e lateralmente, forse anche dagli appartamenti più lontani o dal condominio di fronte. Un fenomeno dovuto alla propagazione nell’etere delle microonde wireless e al broadcast del SSID (Service Set Identifier), ovvero il codice che identifica la vostra rete wireless.
Consideriamo la nostra rete senza fili come una porta d’accesso virtuale alla nostra rete casalinga dall’esterno, una porta invisibile che purtroppo rende a sua volta pressoché invisibili anche gli eventuali intrusi, quantomeno alle persone meno esperte. In caso di intrusione, se siamo fortunati, potremo limitare i danni al solo sfruttamento clandestino della nostra connessione Internet per navigare sul Web. Ma esistono rischi molto più importanti, come lo sfruttamento della connessione per attività criminali come frodi, stalking, phishing e spamming, oppure la violazione della nostra privacy con accesso non autorizzato a documenti, filmati, fotografie e quant’altro abbiamo scelto di conservare sul proprio computer o su un disco NAS di rete. Sono solo alcuni esempi, perché l’ottenimento dell’accesso da parte di criminali e malintenzionati può comportare anche altre conseguenze per la vittima.
I protocolli di protezione
È dell’agosto 2001 la notizia che il protocollo WEP (Wired Equivalent Privacy) per la protezione delle trasmissioni wireless è violabile in maniera piuttosto semplice e in un tempo ridottissimo. Con gli strumenti software e la potenza di calcolo oggi disponibili, è possibile violare il WEP in pochi secondi, eppure vi è tuttora una moltitudine di access point, non solo domestici, che adottano ancora il WEP come misura di protezione. Fino a qualche tempo fa, alcuni provider scellerati fornivano addirittura i propri modem ADSL WiFi con abilitato il solo protocollo WEP e con password di accesso standardizzata, senza preoccuparsi di fornire alcuna informazione ai clienti in merito alle misure minime di sicurezza da adottare, ad esempio la modifica della password, del SSID e del protocollo di protezione.
Adottare il WEP, quindi, equivale a consegnare le proprie chiavi di casa a vicini e malintenzionati. Oggi l’unico protocollo di protezione delle comunicazioni wireless realisticamente sicuro è il WPA2 Enteprise che si avvale di un sistema di autenticazione basato su RADIUS e, per quanto di mia conoscenza, non è ancora stato violato. Il WPA2-PSK è invece la misura di protezione massima oggi disponibile sugli access point wireless in ambito residenziale e small business, ed è basato sull’utilizzo di una passphrase denominata PSK (Pre-Shared Key). Ebbene, anche il WPA2 è stato violato, sebbene non ancora in senso assoluto, grazie ad alcuni fattori decisivi come:
- L’adozione di PSK deboli o vulnerabili mediante l’utilizzo di tecniche di dictionary bruteforce e rainbow tables;
- L’utilizzo di SSID comuni, spesso lasciando inalterato il SSID preimpostato dal vendor o dall’ISP che fornisce l’access point.
La violazione del WPA2 si attua catturando dapprima il SSID, un’operazione piuttosto semplice poiché in circa il 90% dei casi ne è abilitato il broadcasting e nei casi restanti in cui questo è disabilitato è comunque possibile rilevarlo poiché gli access point lo pubblicano comunque saltuariamente per esigenze di protocollo. Quindi, è sufficiente catturare la procedura di handshake fra l’access point e un client legittimo utilizzando un semplice sniffer wireless, portare il tutto in locale su un computer ed avviare l’analisi con un software di cracking del WPA2. A rendere più semplice e veloce l’operazione è il diffuso ricorso a SSID comuni (stando alle statistiche, ciò avviene nel 50% dei casi): il SSID, infatti, è una parte dell’equazione necessaria per generare le tabelle di password cracking, generalmente chiamate “rainbow table”. Esiste anche una risorsa online denominata “Top 1000 most common SSIDs” che elenca i SSID più comuni per i quali sono state generate e rese disponibili apposite rainbow table.
Ne consegue che, per rendere più sicura la propria rete wireless, oltre all’adozione del protocollo WPA2-PSK, è opportuno agire su questi due elementi: il SSID e la PSK. Partendo dal presupposto che l’unico modo di rendere veramente sicura la nostra rete wireless è spegnere l’access point e staccarne tutti i cavi, ecco alcuni passi consigliati per rendere più sicura la nostra rete wireless.
Aggiungere entropia al SSID
Il SSID ha un proprio ruolo nei meccanismi di sicurezza delle reti wireless, di conseguenza l’adozione un SSID generato secondo poche precise regole può contribuire ad una maggiore protezione dalle violazioni. Innanzitutto è fondamentale, quanto basilare, non utilizzare dati personali o informazioni che possano in qualche modo essere collegate alla proprietà dell’accesso wireless da proteggere, poiché potrebbero essere oggetto di guessing da parte di eventuali malintenzionati con un qualche livello di conoscenza della vittima. Quindi mai inserire nome, cognome, indirizzo, date di nascita o altre date significative, nomi di animali domestici o di figli, consorti e parenti in genere. A tutti gli effetti, il SSID deve essere considerato alla stregua di una password, pertanto è consigliabile non utilizzare parole di dizionario, termini di uso comune, ragioni sociali e destinazioni d’uso.
Un buon generatore di password potrà esserci d’aiuto nella formulazione casuale di un SSID veramente entropico composto da lettere maiuscole, minuscole e numeri, evitando possibilmente caratteri speciali per non incorrere nelle (rare) incompatibilità di alcuni dispositivi. Qualora l’identificazione del SSID costituisse un problema insormontabile, ad esempio a fronte della necessità di collegare e scollegare ripetutamente numerosi dispositivi, un consiglio che posso dare è quello di utilizzare, all’interno del SSID un identificativo (possibilmente breve) di facile individuazione, completando il codice con una serie di caratteri alfanumerici casuali fino a raggiungere la lunghezza massima di 32 caratteri ammessi (es. “Acme-46ygT9HTt35gsg1j1SE9nqQwh1w”).
Più il SSID sarà generato con criteri casuali, maggiore sarà il livello di sicurezza ottenibile, pur tenendo conto che un eventuale malintenzionato particolarmente motivato potrebbe comunque investire nella generazione di un nuovo set di rainbow table dedicato appositamente al nostro SSID, spendendo però tempo e risorse maggiori.
Aggiungere entropia alla PSK
L’altro elemento cui è opportuno aggiungere entropia è la PSK poiché su di essa si basa il meccanismo PSK 4-way handshake (PBKDF2-HMAC-SHA1) di autenticazione e generazione delle chiavi di cifratura delle comunicazioni fra access point e client collegati. Sebbene il ricorso all’algoritmo di crittografia AES a 256 bit sia spesso ben pubblicizzato sulle confezioni e nelle caratteristiche dei prodotti, non viene quasi mai specificato che esso serve solo per la cifratura dei dati trasmessi e non per la protezione delle chiavi crittografiche o della procedura di autenticazione, di conseguenza esso non ha alcun ruolo nel contrasto delle violazioni del protocollo WPA2-PSK.
Gli strumenti di cracking dei protocolli WPA e WPA2 agiscono proprio sul meccanismo che genera le chiavi di scambio a partire dalla PSK e dal SSID utilizzati su ogni singolo access point, in particolare sulle interazioni PBKDF2. Le metodologie di cracking sono basate su meccanismi di bruteforce e sull’adozione di dizionari (da cui il termine dictionary bruteforce) o di rainbow table. Il miglior contrasto a tentativi di violazione mediante bruteforce è, anche in questo caso, l’entropia, ovvero l’adozione di chiavi il più possibile lunghe e casuali.
Anche questa volta un buon generatore di password può aiutarci a riempire di valori alfanumerici casuali la nostra PSK, fino al massimo consentito di 63 caratteri. In tema di lunghezza ideale della PSK le teorie sono eterogenee e a volte contrastanti: c’è chi ritiene che 8 caratteri siano più che sufficienti, chi consiglia un minimo di 12, chi ritiene che 25 caratteri sia il minimo necessario per una sicurezza accettabile e c’è chi sostiene che è sempre meglio utilizzare tutti e 63 i caratteri consentiti. In realtà una regola vera e propria non esiste.
Una delle principali discriminanti nella scelta della lunghezza più adatta è costituita dall’usabilità della PSK: se, infatti, si è costretti ad inserire la PSK su diversi dispositivi con una certa frequenza, allora lunghezze superiori ai 16-24 caratteri potrebbero comportare un certo disagio, mentre in ambienti con pochi dispositivi statici lunghezze superiori ai 32 caratteri potrebbero essere più che tollerabili, vista la relativa sporadicità del reinserimento della PSK. Tenendo ben presente, però, che è prassi opportuna procedere alla variazione della PSK con cadenza almeno annuale, qualsiasi sia la complessità dell’ambiente in cui ci troviamo ad operare.
In definitiva, per la generazione e la gestione della PSK questi sono i miei consigli:
- Ciò che realmente conta è l’entropia: adotta caratteri alfanumerici realmente casuali, aiutandoti con un buon generatore di password;
- Adotta una PSK di lunghezza pari a quanto puoi agevolmente tollerare, possibilmente senza scendere sotto i 16 caratteri;
- Cambia la PSK almeno una volta l’anno, diminuendo il periodo di tempo fra un cambio e l’altro al crescere della criticità dell’ambiente in cui si opera e dei dati in esso trattati;
- Archivia la PSK in un luogo sicuro e controllato (ad esempio utilizzando un password manager) e proteggila da accessi non autorizzati o indesiderati.
Altre misure di protezione
L’adozione di SSID e PSK più sicuri è già un ottimo punto di partenza, ma esistono altre misure che è possibile adottare in aggiunta per aumentare ulteriormente il livello di sicurezza del nostro access point. Sebbene alcuni prodotti di specifici vendor possano offrire funzionalità aggiuntive di sicurezza, queste sono alcune misure che possono essere adottate su un qualsiasi dispositivo wireless di recente produzione:
- Disabilitare il meccanismo WPS (Wi-Fi Protected Setup), cioè lo standard introdotto nel 2007 per l’instaurazione di connessioni wireless sicure per le sole reti di infrastruttura, poiché esso è violabile con semplici strumenti open source (es. Reaver) in poche ore adottando meccanismi di attacco bruteforce;
- Disabilitare il broadcast del SSID, sebbene sia poco più che un palliativo che è in grado di rallentare un po’ gli eventuali malintenzionati e comporti il disagio per l’utente di dover digitare per intero il codice SSID (oltre alla PSK) all’atto del collegamento di nuovi dispositivi;
- Disabilitare la possibilità di accedere all’interfaccia di amministrazione dell’access point dalla connessione wireless, per consentire ai soli dispositivi cablati direttamente all’access point di amministrarne le funzionalità;
- Abilitare, se possibile, la wireless isolation per consentire ai dispositivi connessi il solo accesso alla rete Internet, evitando che un dispositivo possa comunicare con gli altri e riducendo così la possibilità che un eventuale aggressore possa accedere alla nostra rete interna;
- Abilitare appositi filtri di accesso basati su ACL (Access Control List) e sugli indirizzi MAC dei dispositivi consentiti, quantomeno per rallentare l’opera di violazione da parte di un eventuale malintenzionato;
- Aggiungere entropia anche alla password di accesso all’interfaccia di configurazione, modificando inoltre, se consentito dalle funzionalità di configurazione, la denominazione predefinita dell’utente amministratore (solitamente “admin”);
- Spegnere l’access point quando non è necessario utilizzarlo per periodi significativi.
Infine, sarebbe buona norma sottoporre a qualche test il proprio accesso wireless, ad esempio verificandone l’estensione territoriale del segnale, analizzandone le informazioni pubblicate mediante strumenti software come InSSIDer o Wireless Analyzer for Android, oppure effettuando qualche tentativo di bruteforce mediante suite di cracking come BackTrack, magari facendosi aiutare da qualche amico più esperto.
Conclusioni
Un access point assolutamente sicuro non esiste per definizione e in informatica qualsiasi cosa, prima o poi, può essere violata. Questo è un assunto imprescindibile, perciò qualsiasi misura di sicurezza deve sempre essere bilanciata con la relativa efficacia di protezione, l’usabilità del dispositivo protetto e il livello di sicurezza più adeguato alla criticità dei dati trattati.
L’obiettivo primario è rendere la nostra rete wireless più sicura e resistente agli attacchi di quelle, ad esempio, dei vicini o delle aziende confinanti, in modo tale da scoraggiare eventuali attaccanti ed indirizzarli verso altri obiettivi che risultino più agevolmente violabili. In secondo luogo, va fatta un’analisi approfondita delle altre opportunità a disposizione di un eventuale aggressore realmente interessato ai nostri dati, poiché è assurdo investire sulla massima sicurezza dell’access point se ai malintenzionati risulta più agevole e rapido scassinare la nostra porta di casa oppure sottrarci dalla borsa la USB key in cui custodiamo i nostri preziosi dati.
La sicurezza va sempre mediata con la relativa opportunità e con l’efficacia da tutti i punti di vista, bilanciandone gli investimenti (in tempo, denaro, funzionalità, ecc.) con le reali esigenze di protezione. In ogni caso, in ambito wireless e non solo, la parola d’ordine della sicurezza è: “aggiungi entropia!”.
Ettore Guarnaccia