Le recenti linee guida in materia di conservazione delle password, emanate dall’Autorità Garante e da ACN (Agenzia per la Cybersicurezza Nazionale), richiamano un tema assai importante: quello della sicurezza delle password. In questo articolo vedremo quali sono i criteri per la creazione di password sicure, come custodirle in sicurezza prevenendo le principali tecniche utilizzate per carpirle.
Nell'articolo
Password sicure: le linee guida dell’Autorità Garante
Come recita il sito dell’Autorità garante «Le password giocano un ruolo determinante nel proteggere la vita delle persone nel mondo digitale…[omissis]…Molte violazioni dei dati personali sono infatti strettamente collegate alle modalità di protezione delle password. Troppo spesso furti di identità sono causati dall’utilizzo di credenziali di autenticazione informatica archiviate in database non adeguatamente protetti con funzioni crittografiche. Tali attacchi informatici sfruttano la cattiva abitudine degli utenti di utilizzare la stessa password per l’accesso a diversi servizi online, con la conseguenza che la compromissione delle credenziali di autenticazione di un singolo servizio potrebbe causare l’accesso non autorizzato a una pluralità di sistemi.».
Le linee guida sono indirizzate a chi, dovendo gestire un servizio, si trova a gestire anche le credenziali di accesso di molti utenti.
Le semplici indicazioni che seguono sono invece indirizzate a tutti voi, fornendo indicazioni su come avere un comportamento corretto e sicuro su questo importante argomento.
La corretta gestione delle password
La corretta custodia delle password (credenziali di accesso, sarebbe più corretto dire, composte da utente e password) è un tema essenziale per la sicurezza, anche perché oggi come oggi la quantità di password che dobbiamo gestire è davvero impressionante.
Oltre alle credenziali dobbiamo ricordarci anche i PIN (telefono, bancomat, carta di credito, antifurto, ecc.).
Tutto questo fa sì che tendiamo ad avere dei comportamenti poco sicuri, come usare sempre le stesse password o gli stessi PIN, per gestire facilmente tutte queste informazioni, che sono invece per noi così importati e che andrebbero protette nel migliore dei modi.
Criteri base di sicurezza sulle password
Iniziamo subito con il definire alcune regole di base, direi auree, per utilizzare password sicure:
• complessità (uso di combinazioni di lettere, numeri e caratteri speciali, non contenenti parole di senso compiuto, nomi e date);
• lunghezza (minimo 12 caratteri, capiremo poi il perché password più corte sono poco sicure);
• cambio frequente (le password sono come il pesce che “dopo tre giorni puzza” come recita il famoso adagio, ma non potendo cambiarle dopo ogni tre giorni ci accontenteremo di farlo almeno ogni tre mesi);
• utilizzo del doppio fattore di autenticazione (sempre, dove è disponibile, come migliore forma di sicurezza in questo ambito);
• non usare e-mail l’autenticazione incrociata (l’accesso con altri servizi quali google, Facebook, ecc.).
Lo so, starete pensando quanta fatica costa mantenere le password secondo queste regole, e tra voi direte: “che scemenza, metto una password uguale dappertutto e buonanotte, tanto non ho nulla da nascondere!”.
Tuttavia, capita che il furto delle credenziali sia una cosa assai frequente e banale (come ci hanno ricordato l’Autorità Garante ed ACN), che avere password uguali per tutti i sistemi rende la vita facile agli hacker, e che alla fine la verità è che consapevolmente o meno tutti hanno sempre qualcosa di importante, qualcosa da “nascondere”.
Il doppio fattore di autenticazione
Il “doppio fattore di autenticazione” (2FA, o MFA nel caso sia multiplo), noto anche come autenticazione a due fattori o verifica in due passaggi, è un metodo di sicurezza che richiede due o più forme di verifica per accedere ad un a sistema. L’obiettivo principale del 2FA è aggiungere un livello aggiuntivo di protezione, per prevenire l’accesso non autorizzato o le violazioni dei dati in caso di furto delle credenziali.
Solitamente, il processo di autenticazione a due o più fattori coinvolge tre elementi:
• qualcosa che si conosce, solitamente la password o il PIN che viene richiesto durante l’accesso, considerata l’autenticazione basata sulla conoscenza;
• qualcosa che si possiede, che coinvolge un dispositivo fisico o virtuale in possesso dell’utente (un telefono cellulare, uno smartphone, un token di autenticazione fisico o sotto forma di App, che genera codici di verifica temporanei), considerata l’autenticazione basata sul possesso;
• qualcosa che si è, cioè le caratteristiche fisiche o biologiche dette biometriche uniche dell’utente (come l’impronta digitale, il riconoscimento facciale, la scansione dell’iride, ecc.), considerata l’autenticazione basata sulle caratteristiche intrinseche.
Come funziona il 2FA
Quando si attiva il 2FA su un account, dopo aver inserito la password, viene richiesta un’ulteriore verifica utilizzando uno dei fattori sopra menzionati. Ad esempio, potrebbe essere inviato un codice di verifica tramite SMS al numero di telefono associato all’account, o potrebbe essere richiesto l’utilizzo di un’applicazione di autenticazione che genera un codice temporaneo. Una volta inserito il codice corretto, si ottiene finalmente l’accesso al sistema protetto.
Nei casi più sofisticati, viene richiesta la conferma via smartphone, inserendo un codice, e facendo un riconoscimento biometrico (terzo fattore).
L’utilizzo del doppio fattore di autenticazione può rendere significativamente più difficile per gli aggressori hackerare o accedere ad un account, anche se riescono a scoprirne la password. Poiché è richiesto un elemento aggiuntivo oltre alla semplice conoscenza della password, anche se la password viene compromessa l’accesso all’account rimane protetto, a meno che l’aggressore non abbia anche accesso fisico al secondo fattore di autenticazione (ad esempio perché ha clonato il telefono).
Il 2FA è una pratica consigliata per migliorare la sicurezza degli account online, specialmente per quelli che contengono informazioni sensibili come le banche, i social media, le e-mail o altri servizi online anche più “banali”; io ne consiglio l’utilizzo ovunque possibile.
Come custodire le password in sicurezza
Scartando i post-it attaccati sui monitor o sotto le tastiere, cosa che sembra una barzelletta ma è ancora comune in molte realtà aziendali (incredibile ma vero), ci sono alcune tecniche per tenere in sicurezza le password.
Ad esempio, scrivendole in forma mascherata, ossia non scrivendo a cosa si riferiscono (Facebook=pippo1234) ed introducendo numeri e lettere a caso (p1i2p3p4o51a2b3c4d) o utilizzando semplici codici crittografici (come il cifrario di Cesare, che prevede di traslare di 1 o più caratteri le lettere ed i numeri, ossia A diventa B e 1 diventa 2 nel caso di una translazione di 1), custodendo il tutto in un luogo sicuro diverso da quello di utilizzo (magari in una cassaforte).
Ma come abbiamo detto che di password ne abbiamo tante e che le cambiamo spesso (o almeno dovremmo); quindi tutto ciò risulterebbe assai poco pratico. Non possiamo ogni volta che abbiamo bisogno della password ricorrere ai nostri appunti, che magari sono custoditi in una cassaforte in un luogo diverso.
I password manager
L’alternativa è quella di utilizzare appositi programmi di memorizzazione sicura detti “password manager”.
In pratica si tratta di “contenitori cifrati” (che utilizzano forme di codifica o crittografia al fine di rendere le password memorizzate al loro interno incomprensibili ed inaccessibili) protetti da un’unica password detta master password. Per motivi facilmente intuibili questa dovrà essere in questo caso davvero molto complessa.
Questi software sono molto utili, ed anche pratici, perché consentono di organizzare le password (ad esempio distinguendo tra quelle lavorative e quelle personali), di aggiungere anche altre informazioni utili (date di scadenza, PUK, codici di recupero, domande segrete, ecc.), ed in alcuni casi consentendo l’auto compilazione dei campi di accesso in forma automatica.
È un meccanismo simile a quello offerto dai browser: particolarmente noto quello offerto da Google Chrome (non se ne abbiamo a male gli altri produttori di browser).
A proposito di Google, la stessa ha recentemente rilasciato il password manager di Google Chrome come App o applicazione, offrendo quindi un servizio come quello che sto descrivendo (in forma gratuita).
Password manager sul cloud
Alcuni di questi software offrono poi la replica in cloud dei dati (incluso quello appena citato), con la possibilità di trovare aggiornata la lista delle nostre credenziali di accesso su ogni dispositivo nel quale installiamo il software di gestione.
Su quest’ultimo punto io vi consiglierei prudenza, in quanto si rischia di “perdere il controllo” del nostro contenitore di password, nella malaugurata ipotesi che il fornitore possa non essere particolarmente attento alla sicurezza o possa subire lui stesso una violazione del suo ambiente cloud (dove c’è anche il nostro “scrigno” di password).
Per certi versi l’installazione locale del software offre maggiori garanzie, pagate con una minor comodità di aggiornamento degli elenchi se installati su più dispositivi, che in questo caso saranno da sincronizzare manualmente.
Dite che soffro di paranoia? Vi assicuro che nella storia della cybersicurezza, sono diversi i casi di violazioni di questi software, proprio nella loro componente più vulnerabile che è quella cloud.
Come ci vengono rubate le password
Le tecniche più semplici e più utilizzate per carpire le password sono:
• spiare il soggetto mentre le digita (basta allungare lo sguardo, o lavorare in una zona inquadrata da una telecamera alla quale il malintenzionato ha accesso);
• utilizzare dei “keylogger” (software/hardware malevoli);
• utilizzare un “brute force attack”.
Ovviamente l’elenco non è affatto esaustivo…
Tralasciamo la prima tecnica che si commenta da sola, non prendendola sottogamba o dandola per poco importante, perché sappiate che è invece molto praticata.
I keylogger
I keylogger sono dei software subdoli e per certi versi molto semplici, e per questo assai poco invasivi e spesso non intercettati dagli antivirus, che si attivano registrando tutto quello che scrivete (tastiera o schermo dello smartphone) per poi trasmetterlo all’hacker che ha programmato il keylogger.
Facile, ad esempio, trovarseli installati sugli smartphone installando App da fonti non sicure, oppure per aver cliccato sul link sbagliato inviatoci in una e-mail di phishing.
In questo caso c’è poco da dire: l’hacker troverà tutte le password che digiteremo, e l’unica barriera sarà l’utilizzo del doppio fattore di autenticazione.
Brute Force Attack
L’attacco di forza bruta, una tecnica informatica utilizzata per cercare di indovinare una password o un codice segreto provando tutte le possibili combinazioni fino a trovare quella corretta. È considerato un metodo di attacco di tipo “tentativi ed errori”, fondato sulla possibilità di eseguire un numero elevato di tentativi fino a trovare la combinazione corretta.
L’attacco di forza bruta si basa sull’idea che una password complessa possa “indovinata” con sufficienti risorse di calcolo e di tempo. L’attaccante utilizza un software o uno script che genera automaticamente le possibili combinazioni di password, che possono includere lettere, numeri, caratteri speciali e lunghezze diverse, e cerca di inserirle nel sistema o nel software, la quale desidera accedere.
Efficacia del Brute Force Attack
La sua efficacia dipende da vari fattori, come la lunghezza e la complessità della password utilizzata dall’utente, la potenza di calcolo disponibile per l’attaccante e le misure di sicurezza implementate per rilevare e prevenire tali attacchi (come il blocco della piattaforma dopo alcuni tentativi errati).
Le misure di sicurezza possono peraltro essere aggirate, sviluppando software appositi che sfruttano altre tecniche di hacking, ed a questo punto non resta che la potenza di elaborazione a disposizione dell’hacker contro la complessità della nostra password.
Davide contro Golia, o Golia contro Davide?
Un computer moderno con una banale software di brute force trova una password:
• di otto caratteri semplici, quasi istantaneamente;
• di 8 caratteri complessi, in meno di 8 ore;
• di 12 caratteri semplici, in 3 settimane;
• di 12 caratteri complessi, in 34’000 anni.
Si, avete letto bene, ed ora capite perché consigliavo poco fa di usare password di almeno dodici caratteri complessi.
Conclusioni
Ma i computer diventano ogni giorno più potenti, e sempre di più di parla di intelligenza artificiale, ed addirittura di computer quantistici…
Quanto reggeranno ad un attacco portato con mezzi così potenti le nostre password?
Il compianto Kevin Mitnick (uno tra i primi e più famosi hacker, diventato puoi consulente di cybersicurezza) ci ha lasciato mentre stava creando un “giocattolo” con un normale PC che sfruttando una serie di schede grafiche (quelle che nei computer gestiscono l’interfaccia video, o per meglio dire la grafica) utilizzate in parallelo o in batteria, era in grado ridurre di migliaia di volte i tempi che ho appena indicato. E stiamo parlando di un computer tradizionale, seppure molto potenziato e dedicato allo scopo.
Sapete invece quanto ci metterebbe un computer quantistico che segue algoritmi di intelligenza artificiale per compiere un “brute force attack”, a trovare la nostra password di 12 caratteri complessi?
Un miliardesimo di secondo, che è difficile anche solo da immaginare, ma letto diversamente vuol dire che in un secondo sarebbe in grado di trovare un miliardo di password!
Gulp!
Ma queste tecniche appena citate sono fortunatamente ancora limitate a pochi e costosissimi apparati, per cui non resta che semplicemente comportarci con diligenza, per mantenere le nostre password in sicurezza.
Consulta anche i seguenti articoli
Password Sicura: come crearla correttamente
Password manager: come gestire le password attraverso LastPass
Codice OTP – One Time Password: cos’è e a cosa serve
Per saperne di più consulta il volume di EPC Editore
Nato e cresciuto con l’informatica, si è occupato e tuttora si occupa di ICT in un importante gruppo torinese, dove attualmente ricopre il ruolo di CISO (Chief Information Security Officer) nonché di Responsabile dei Sistemi di Gestione Integrati. Grande esperto in materia, specializzato e certificato nei principali schemi di certificazione per la Cybersecurity, la Sicurezza Informatica e la Data Protection (privacy), effettua formazione e fornisce consulenza in questi ed altri ambiti presso primarie aziende italiane.