Premessa

In questa guida stiamo imparando a capire quali sono i nostri asset e come proteggerli. Nella Parte 1, abbiamo imparato ad individuare asset, minacce, avversari e rischi, mentre nella Parte 2 e 3 abbiamo visto come proteggere due degli asset più preziosi: le nostre comunicazioni online e la nostra (vera) identità sui social media. In questa terza parte impariamo a capire il valore dei nostri segreti e come ragionare per metterli in sicurezza.

Parte 4: Password e segreti

Password, passphrase e segreti

Nella guida originale dell’EFF, da cui la presente è derivata, questa sezione è posticipata. Credo invece che sia fondamentale chiarire subito alcuni punti. Il concetto di “password” (parola chiave), è noto, ma non è mai ribadito abbastanza quanto sia importante la sua robustezza. Una password è tanto più robusta quanto più è difficile da ottenere per un avversario. L’avversario ha tre modi per farlo:

  • rubarla (ad esempio da un sito che la memorizza, e che poi viene compromesso),
  • indovinarla (basandosi su altre informazioni, ad esempio su di noi),
  • trovarla per enumerazione esaustiva.

Contro il furto, la robustezza di una password non può farci niente: se c’è un leak di dati, è andata e bisogna cambiarla immediatamente. La robustezza ha a che fare con gli ultimi due punti. Una password non deve essere in alcun modo relazionata o riconducibile a noi come individui (virtuali o esseri umani), al nostro circolo sociale, alla nostra famiglia, etc. Inoltre, deve essere sufficientemente lunga e complessa affinché sia sconveniente (in termini di tempo) per l’avversario mettersi a provarle tutte: talmente sconveniente che l’avversario non possa attendere così a lungo.

Questi requisiti fanno sostanzialmente a pugni con il fattore umano, che determina l’accettabilità di una soluzione tecnica (e quindi, a lungo termine, la sua scomparsa o meno). Se una password è lunga, complessa e non riconducibile a noi, come facciamo a ricordarcela? Non ce la ricordiamo: semplicemente saremmo forzati a scriverla da qualche parte. Purtroppo, anche con le soluzioni basate su password manager—che vedremo tra poco—c’è un residuo di segreti che dobbiamo necessariamente memorizzare.

Quindi come si fa? Le password complesse sono difficili da pronunciare, tantomeno mnemoniche. Un approccio per ottenere una buona robustezza è puntare sulla lunghezza. Stiamo parlando delle passphrase (tradotto, frasi chiave): frasi composte da parole (facili da ricordare in quanto tali), almeno 4. Attenzione però, non deve trattarsi di una frase né di senso compiuto né famosa. La passphrase perfetta è composta da “parole a caso”. Se proprio ci manca la fantasia, esistono dei generatori che pescano parole a caso da un dizionario.

È più facile ricordare una passphrase? Sicuramente è più mnemonica di una password parimenti robusta. Per esempio, la passphrase “umani rompere deleterio fioraio” (che, dopo averla scritta un paio di volte, ce la ricordiamo) si becca in milioni di miliardi di secoli con un computer in grado di fare decine di migliaia di tentativi al secondo. Al contrario, la password A3assl3C814753sds che sembra robusta, richiederebbe meno di 2 miliardi di secoli, ma è sostanzialmente impossibile da memorizzare. Se poi cerchiamo delle password complesse ma “umane”, tipo “P1r4tesOfTh3Web”, che comunque sembra robusta, richiederebbe solo 2 giorni di tentativi. Se volete divertirvi a fare calcoli analoghi potete usare www.useapassphrase.com o strumenti simili.

Creare password robuste “automagicamente”

Riutilizzare la stessa password su più account distinti è una pessima idea. Se qualcuno dovesse rubarla—o indovinarla—avrebbe accesso a tutti gli account per cui è utilizzata. È quindi fondamentale utilizzare password univoche e robuste. Fortunatamente ci sono oggi app e programmi facili da utilizzare per generare e gestire password, e segreti, più in generale. Questi “password manager” (in italiano, “gestori delle password”) sono in grado di generare e memorizzare password in modo sicuro, così da poterne usare una per ogni account, senza necessità di memorizzarle tutte.

Un gestore di password fa tutto questo per noi:

  • Genera password robuste e complesse, difficili da indovinare per chiunque.
  • Memorizza in modo cifrato una grande quantità di password e altri segreti (risposte alle domande di sicurezza, numeri di carte di credito, scansioni di documenti).
  • La cifratura, e quindi tutto l’archivio di segreti, è protetto con una singola password—detta master password.

I più acuti avranno notato che stiamo proteggendo un certo numero di asset (le nostre credenziali) ricorrendo a un sistema (il password manager) la cui sicurezza dipende da un solo asset: la master password. Abbiamo ridotto il numero di asset da molti a uno.

Di conseguenza:

  • il password manager diventa un “single point of failure”
  • i password manager diventano oggetto di interesse per gli avversari, ovvero aumentano le minacce
  • essendo essi stessi dei software hanno naturalmente dei difetti, che li rendono vulnerabili ad attacchi specifici

Ovviamente, stiamo assumendo che il dispositivo (computer, smartphone, server) che ospita il password manager sia fidato e non compromesso ad esempio da un software malevolo (malware). Stesso discorso vale per il password manager stesso: in base alle nostre aspettative dovremo scegliere di quale software fidarci. Generalmente, come per tutti i software, la scelta spazia tra: un software libero, open source, di cui conosciamo il codice sorgente, abbastanza diffuso; oppure, una soluzione chiusa, proprietaria, fornita da un’azienda con una reputazione da mantenere, con un ampia base di utenti, cospicuo giro d’affari e, quindi, risorse per frequenti screening di sicurezza—di cui raramente sapremo i risultati. Non è questa la sede, ma entrambi gli approcci hanno pregi e difetti.

Se pensiamo di essere a rischio di un attacco informatico sofisticato (ad esempio, da parte di agenzie governative, stati nemici, etc.), allora potremmo considerare un’alternativa più semplice. Per esempio, possiamo creare delle passphrase e annotarle su un taccuino che teniamo sempre con noi o in un posto sicuro. È una soluzione un po’ contro tendenza, che ci fa riflettere proprio sull’importanza di una corretta analisi del rischio. Se davvero siamo minacciati da un avversario potente e se nel nostro password manager c’è un’informazione (asset) importante, allora è ragionevole pensare che quest’avversario avrà mezzi tali da arrivare e compromettere il nostro computer, per rubare la parola chiave per sbloccare il nostro gestore delle nostre password. Pertanto ha senso considerare alternative per togliere l'asset dalla portata di un attacco informatico. Inoltre, anche se in modo non sofisticato, è sempre meglio avere password uniche annotate da qualche parte, piuttosto che riutilizzare le stesse 2-3 password e tenercele in testa. Avendole annotate, in caso di problemi, sapremo esattamente quali sono le nostre password e quali cambiare, se necessario.

Password da memorizzare

Sono poche le password che non è necessario—e talvolta non è consigliabile—mettere in un password manager:

  • le password di sblocco di un dispositivo
  • le password di cifratura di un disco, perché questa viene chiesta all’avvio di un computer (vedremo in futuro cosa significa)
  • la master password del nostro password manager

Ove possibile, queste dovrebbero essere sostituite con delle passphrase. A volte non è possibile usare delle passphrase, a causa delle politiche di complessità delle password, che spesso remano nella direzione opposta. Pertanto è necessario utilizzare un password manager.

Una nota sulle “domande di sicurezza”

Ne abbiamo già parlato nella Parte 3 di questa guida: facciamo attenzione alle “domande di sicurezza” usate da alcuni siti per confermare la nostra identità e permetterci di re-impostare una password persa.

Prima di tutto ricordiamoci che le risposte sostituiscono la nostra password persa, quindi chi le conosce è quasi come se conoscesse la nostra password, perché potrà re-impostarne una. Sottolineiamo “quasi” perché a volte queste domande vengono poste all’utente solo dopo aver inserito altre informazioni segrete, come ad esempio il numero di cellulare—in altre parole, fungono da conferma, da secondo fattore.

Altro aspetto fondamentale da ricordare è che, se corrispondenti alla realtà, alcune risposte alle domande possono essere indovinate o reperite online. Pensiamo ad esempio alla nostra data di nascita, al nome del nostro animale domestico (in quanti diffondono foto e nomi dei propri animali domestici?), etc. Il modo sicuro di impostare le risposte è di generarle in modo casuale e memorizzarle in un password manager. E chiaramente, non vanno riutilizzate le stesse risposte—esattamente come non si fa per le password.

Cerchiamo di fare mente locale e fare una lista dei siti dove abbiamo inserito domande di sicurezza e mettiamoci al lavoro.

Sincronizzare le password su più dispositivi

Molti password manager ci permettono di accedere alle password e gestirle da più dispositivi, più o meno automaticamente. Ogni password manager implementa a suo modo la sincronizzazione dei dati: alcuni usano un semplice file (ad esempio memorizzato su servizi come Dropbox o simili), altri si basano su un’infrastruttura cloud proprietaria.

L’innegabile vantaggio di permettervi di accedere alle nostre password da più dispositivi ha il prezzo di un rischio più elevato. Un avversario che vuole accedere alle informazioni di un password manager completamente “offline” dovrà riuscire prima ad accedere al nostro dispositivo. Al contrario, se il file è ”sempre online” (perché deve esserlo, inevitabilmente), allora l’avversario proverà ad attaccare il servizio cloud dove è memorizzato—che, in molti casi, può essere più semplice che accedere al nostro dispositivo.

Ancora una volta si tratta di valutare il rischio e capire se è il caso di investire risorse nel proteggersi dall’uno o dall’altro caso, o da nessuno dei due. Indipendentemente dalla nostra valutazione, è generalmente una buona idea tenere una copia di backup del database del password manager, perché in caso di perdita potremmo non poter più accedere alle nostre password e ai nostri segreti.

Autenticazione a più fattori

Scegliere password robuste e distinte per ogni sito diminuisce drasticamente il successo di un avversario che vuole accedere ai nostri account. Tuttavia, in una buona pianificazione della sicurezza dobbiamo considerare l’ipotesi che, prima o dopo, qualche credenziale possa andar persa, trafugata, rubata. Le password sono tipicamente il primo fattore di autenticazione. È oggi molto comune avere un secondo fattore di autenticazione, che serve a confermare che siamo veramente noi ad essere in possesso di quel segreto (primo fattore), e non chi ce l’ha rubato.

Come si fa? Le password sono “qualcosa che l’utente sa”. Il secondo fattore deve essere qualcosa di diverso: “qualcosa che l’utente possiede” (un dispositivo fisico, difficile da rubare), o “qualcosa che l’utente è” (le impronte digitali). La logica dell’autenticazione a più fattori consiste nel fatto che è molto più difficile rubare tutti i fattori contemporaneamente. Sarà anche facile clonare le impronte digitali, ma se queste sono usate solo come un secondo fattore (e non in sostituzione delle password), sarà difficile che un avversario riesca a rubarci sia una password che le impronte digitali. Stesso discorso vale per quei dispositivi che generano numeri apparentemente casuali, recentemente sostituiti sempre di più dai cellulari, con ovvi vantaggi di usabilità a scapito di un lieve aumento del rischio di sicurezza.

Fattori: ciò che si sa, ciò che si ha, ciò che si è

Un’autenticazione a due fattori (o fasi) ben fatta richiede sempre che l’utente si identifichi (a volte di persona) presso l’entità che rilascia il secondo fattore. Ad esempio, bisognava andare fisicamente in banca per dimostrare la nostra identità fisica affinché ci fornissero un token (che altro non è che un dispositivo che contiene una chiave crittografica unicamente associata al nostro account), che ogni 30-60 sparava fuori un numero diverso ogni volta, detto anche one-time password (OTP). Impropriamente aggiungerei. Perché un OTP è una password che, solo quando usata, non vale più. Mentre i codici generati da un token non sono più validi dopo 30-60, a prescindere che vengano usati. È diverso, ma l’effetto finale è lo stesso.

Questo approccio piuttosto macchinoso—però piuttosto sicuro—non avrebbe mai preso piede su larga scala. I vari siti con milioni o miliardi di utenti non avrebbero mai potuto identificarli tutti di persona, consegnando ad ognuno un dispositivo fisico. Si iniziò a usare gli SMS, quindi la logica diventò: ”tu possiedi il tuo cellulare, quindi solo tu puoi ricevere un SMS con un codice”. L’ovvio vantaggio è che diventa immediatamente alla portata di chiunque, su scala globale. Il prezzo da pagare? Nella Parte 2 di questa guida, quando abbiamo parlato di come comunicare in modo sicuro, abbiamo visto che, tra tutti i mezzi di comunicazione, gli SMS sono facilmente intercettabili.

Tuttavia questo cambiamento permise a “tutti” i gestori di siti e piattaforme di comunicazione di implementare l’autenticazione a due fattori, permettendo a tutti gli utenti di beneficiare di un più alto livello di protezione: anche nel malaugurato caso in cui un avversario riesce a rubare username e password, per usarle deve riuscire a rubare anche il rispettivo cellulare—o in grado di intercettarlo al momento giusto.

Dai token fisici a quelli virtuali

Il passo successivo è ancora in corso e consiste nell’usare delle app su dispositivo mobile, che altro non sono che l’equivalente virtuale dei vecchi dispositivi che le banche ci fornivano dietro identificazione di persona. Poi ci hanno aggiunto la conferma con un l’impronta digitale con un PIN, o entrambi, che di fatto fungono da terzo fattore. In questo modo, anche se ci rubano il cellulare, dovranno anche (1) rubarci le impronte digitali, (2) riuscire a clonarle talmente bene da non far scattare il limite di tentativi sbagliati, oltre il quale dovranno anche averci rubato anche il codice di sblocco del cellulare, e (3) sperare che noi nel frattempo non lo blocchiamo da remoto.

Ragioniamo ancora nei termini della nostra pianificazione di sicurezza vista nella Parte 1. Da cosa vogliamo difenderci? Da qualcuno che intercetta i nostri SMS per rubarci i token di autenticazione? Da qualcuno che entra in casa nostra per rubarci il cellulare? Da qualcuno che riesce ad infettare il nostro cellulare con un app malevola che “ruba” i codici di autenticazione generati dall’app?

E se perdiamo o non abbiamo accesso al generatore di token? Qui ritornano le vere OTP, quelle da stampare e nascondere nel portafogli per le emergenze. Sono davvero ad uso singolo, perché una volta che ne usiamo una, il gestore del servizio ne prenderà nota e la "distruggerà". Ci stiamo proteggendo da qualcuno che ci ruba il portafogli? No! Ci stiamo proteggendo da qualcuno che cerca di intercettarle mentre le usiamo, per provare poi ad entrare nel nostro account. Se le usiamo noi per primi è fatta: nessun'altro potrà mai più utilizzarle.

Paternità

La presente Guida Galattica di Autodifesa Digitale è una traduzione arricchita dell'opera Surveillance Self Defense dell'Electronic Frontier Foundation (EFF), con qualche adattamento per la lingua italiana e qualche esempio per chiarire ove necessario. L'opera originale è rilasciata con licenza Creative Commons Attribution (CC-BY).