L’importanza della password “forte”

Accedendo all’interfaccia di gestione del mio sito ho trovato diversi tentativi di accesso. Ognuno proviene da un IP differente, quindi non è semplice bloccarli. Le soluzioni esistono, ma portano a compromessi sulla raggiungibilità del sito. La prima linea di difesa contro questo tipo di attacco è avere una password unica e sicura.

Esempio di tentativo di accesso
Il sito ha tenuto traccia del tentativo di accesso. Come si vede, la password inserita è debole

Infatti sono disponibili in rete elenchi lunghissimi di password note. Quindi, la possibilità dell’attaccante di aver successo è molto più alta se abbiamo scelto la famigerata password “admin1” anziché una stringa casuale di lettere, numeri e simboli.

L’attacco è stato portato usando sistemi automatici, consentendo un tentativo ogni pochi secondi

Le password casuali, come ad esempio “jdhnNCg5vnq6d8F”, possono anch’esse comparire negli elenchi citati sopra. Per questo motivo è buona norma cambiarle quando veniamo avvisati di un furto di credenziali. Il loro punto di forza però è che non possono essere predette. Quindi se l’attaccante non conosce la password, o se ne cambiamo anche solo una lettera, ci saranno xk combinazioni da provare, dove x è il numero di caratteri e k è la lunghezza della password. jdhnNCg5vnq6d8F è una password di 15 caratteri, quindi ci sono

(26 lettere + 10 numeri)15 = 221’073’919’720’733’357’899’776 di combinazioni.

ovvero duecento ventimila miliardi di miliardi di combinazioni, e non abbiamo neanche utilizzato simboli come £$%. Facendo un tentativo al secondo, servirebbero circa sette milioni di miliardi di anni per provarle tutte. Ma anche con mille tentativi al secondo, una velocità probabilmente ottenibile con la banda ultralarga, ci vorrebbero migliaia di miliardi di anni.

Ma non è troppo? No, perché per metterci tutto questo tempo l’attaccante dev’essere talmente sfortunato da incappare nella password corretta solo all’ultimo tentativo, dopo averle letteralmente provate tutte.

Come insegnano le lotterie, qualcuno può indovinare la password corretta anche al primo tentativo, ma più lunga e complessa è la password più questa possibilità si avvicina a zero (anche se non è mai esattamente zero).

Il problema diventa quindi gestire le password, anche perché i servizi digitali si moltiplicano ogni giorno e usare la stessa password dappertutto è una pessima idea. Basta infatti che un servizio di scarsa qualità venga compromesso per trovarsi con il rischio di veder svuotato il conto in banca1.

Ovviamente la soluzione a un problema digitale passa dal digitale, la cui forza più grande è proprio gestire facilmente grandi quantità di dati. Esiste una quantità di programmi di gestione password, alcuni anche offerti tramite servizi online.

I servizi online hanno il vantaggio di essere disponibili sempre e ovunque, a patto di avere accesso a una connessione internet. Lo svantaggio è che se il servizio che abbiamo scelto è mal gestito o in malafede, potremmo perdere l’accesso a tutte le nostre password oppure trovarle tutte pubblicate in Internet.

Per questo, anche se sono un po’ più scomodi, preferisco programmi eseguiti localmente come KeepassXC, specialmente in versione portabile. Tutte le mie password risiedono sul mio computer o in una chiavetta USB, debitamente criptate in modo che anche se l’apparecchio viene smarrito o smaltito il rischio di compromissione rimanga basso.

La bellezza di queste soluzioni (tanto online quanto locali) è che non è nemmeno necessario visualizzare le password per utilizzarle. Basta aprire il database con le credenziali che mi interessano, copiarle e incollarle dove serve.

E la gestione password integrata nei Web browser? Sono soluzioni molto pratiche, ma meno sicure di un gestore password separato. Cito solo due motivi, anche se ce ne sono altri. Primo, lo scopo del browser in quanto tale è di collegarci a Internet. Qualunque pagina che visitiamo passa da lì, compresa magari proprio quella che è stata infettata in modo da esfiltrare le password dal nostro browser. Secondo, ci sono ormai solo tre browser sul mercato: Firefox, Chrome e Safari. Quasi tutti gli altri (Opera, Brave, ecc.) sono derivati, per la maggior parte da Chrome. Quindi progettare un malware per un browser, soprattutto il popolarissimo Chrome, è molto appetibile perché basta un exploit ben fatto per infettare milioni, se non miliardi, di dispositivi. Un po’ come vent’anni fa, quando si diceva che i Mac non prendevano virus. Semplicemente c’era un Mac ogni mille PC, per cui era molto più sensato per un hacker sviluppare malware per Windows.

Un’altra difesa molto importante per sistemi esposti direttamente in Internet è la segregazione, ovvero mantenere questi sistemi separati per quanto possibile dal resto della nostra rete. Una panoramica di come si può fare è descritta nella pagina Connessione in Rete per il self hosting. Questi accorgimenti limitano la possibilità di infettare altri dispositivi se il sistema esposto viene compromesso. Dovremo comunque rimediare alla compromissione, ma almeno avremo a disposizione un ambiente “sano” da cui far partire il ripristino (e in cui si spera che siano stati salvati i backup!)

  1. Supponendo che l’accesso al conto e il servizio compromesso usino la stessa password. Le banche usano ormai ovunque l’autenticazione a due fattori, per cui l’attaccante dovrebbe comunque disporre dell’accesso al fattore addizionale rispetto alla password. Torna su

Pubblicato

in

Tag:

Commenti

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *