“Simplifying Your Approach contains advice for system owners responsible for determining password policy. It is not intended to protect high value individuals using public services. It advocates a dramatic simplification of the current approach at a system level, rather than asking users to recall unnecessarily complicated passwords.”
NCSC, UK
Per anni abbiamo creduto, io compreso, che una password sicura fosse una password complicata, piena di numeri, maiuscole, simboli. Difficile da ricordare, tanto da aver bisogno di un Password Manager, ma abbastanza sicura da essere pressoché inviolabile. Così dicevano i super-esperti di sicurezza, tra cui Bill Burr, l’autore della famosissima “bibbia sulle password sicure“, scritta nel 2003 mentre lavorava per il governo USA, che per anni ha determinato le misure minime di sicurezza per le credenziali di miliardi di utenti.
Lo stesso Burr è stato recentemente costretto a tornare sui suoi passi, ammettendo che costringere gli utenti a sottostare a vincoli impossibili per la scelta di una password, di fatto ne indebolisce la sicurezza perché porta a scegliere sempre la stessa (o con piccole varianti) e comunque a doversela appuntare da qualche parte (come il post-it sul monitor).
Molto meglio scegliere una password composta da diverse parole di facile memorizzazione, puntando sulla lunghezza –che dovrebbe essere di almeno 12-14 caratteri (deprecabile che alcuni sistemi informatici impongano limiti a 8 caratteri)– più che sulla complessità.
Analizziamo le tecniche più utilizzate per la scoperta delle password:
- attacco a forza bruta, con il quale un attaccante, utilizzando uno dei tanti tools esistenti (THC-Hydra, ncrack…) ed avendo a disposizione dei buoni vocabolari (https://github.com/danielmiessler/SecLists/tree/master/Passwords), effettua migliaia di tentativi fino alla scoperta della password giusta. Questo tipo di attacco lo si evita utilizzando password lunghe e non presenti all’interno dei dizionari, neanche con le semplici sostituzioni l/1 e/3 a/4…;
- intercettazione (man-in-the-middle / sniffing), attraverso access-point malevoli e con l’utilizzo di proxy capaci di emulare anche una connessione SSL (MITMProxy). In realtà basta fare attenzione ed evitare di connettersi a reti aperte e/o sconosciute, soprattutto nelle zone molto frequentate (aeroporti, biblioteche…);
- ricerca, che può semplicemente essere una condivisione SMB lasciata aperta dove all’interno c’è un file con tutte le nostre password memorizzate, oppure attraverso un attacco effettuato con un tool di ricerca in memoria come Mimikatz. No, non avere la password in chiaro ma semplicemente un hash non aiuta :-), come dimostra la Rainbow Hash cracking technique. Attacchi di questo tipo si evitano utilizzando sistemi operativi sicuri e, in ogni caso, non usare PC pubblici per accedere ai servizi on-line;
- tentativi basati su scelte comuni (password di default, nome del figlio, targa auto, data di nascita…): la scelta di una password non banale, in nessun modo collegata alla vita privata né lavorativa, diventa fondamentale;
- ingegneria sociale, ovvero attraverso e-mail di phishing, telefonate mirate o altre tecniche sociali, semplicemente farsi dire la password direttamente dall’utente. L’unico modo per difendersi, in questo caso, è farsi furbi;
- key loggers, semplici software che vengono eseguiti dall’attaccante per memorizzare tutti i tasti che vengono premuti sulla tastiera, tra cui si troverà anche qualche password. Da qui la necessità di non lasciare il proprio PC indifeso o incustodito, evitare di inserire chiavette USB di dubbia provenienza, non installare software scaricato da internet (soprattutto illegale, che spesso nasconde questo tipo di strumenti) ed usare, se possibile, sistemi operativi sicuri e comunque verificare sempre i processi in esecuzione;
- spionaggio, che senza scadere nell’immaginario cinematografico, può essere semplicemente qualcuno che osserva ciò che state digitando da dietro le vostre spalle, anche con l’uso di microcamere opportunamente posizionate. In questo caso vale la regola di prima, ovvero non usare computer pubblici per accedere a servizi on-line e, comunque, proteggere sempre dagli sguardi indiscreti la tastiera mentre digitate la vostra password;
a questo punto è quasi banale la scelta della password, che dovrebbe sempre e comunque:
- essere di almeno 12-14 caratteri;
- non contenere nomi, cognomi, date di nascita o riferimenti a veicoli a noi riconducibili;
- essere composta da più parole di senso compiuto, per noi;
- di facile memorizzazione, così da evitare di doverla appuntare in giro;
- diversa per ogni portale/servizio a cui ci registriamo;
Avevo già parlato del portale HowSecureIsMyPassword.net, che permette di verificare la sicurezza delle password. Beh, ammesso e non concesso che lo utilizziate per verificare la robustezza della vostra password, fatelo da una postazione il più possibile anonima (magari usando TOR) e comunque evitate di offrire al provider del servizio elementi riconducibili alla Vostra persona: fidarsi è bene ma non fidarsi è sempre meglio !
Giusto per fare due esempi, ho provato una password composta come “m0nter0ss0“, che molti reputeranno ragionevolmente sicura: tempo per la scoperta con un attacco a forza bruta, circa 1 giorno. Ho poi provato “ilmiocorpochecambia“, dal titolo di una canzone dei Litfiba, per scoprire che un attacco impiegherebbe oltre 607 milioni di anni…. (tranquilli, nessuna di queste due password è in alcun modo riconducibile a password da me utilizzate).
A questo punto spero di avervi dato qualche dritta utile per la scelta della vostra password sicura…