Password violate o insicure: come verificare le proprie

Spieghiamo cosa significa se le credenziali per l'accesso ai vari servizi online (email e password) fossero presenti nei database di Have I been pwned, quindi conosciute ai criminali informatici. Come comportarsi per verificare la sicurezza delle password.

Esiste un servizio in rete, noto da anni e decisamente molto apprezzato, che permette di capire se i propri account utente fossero stati coinvolti in qualche attacco. Si chiama Have I been pwned, dove pwned in inglese è l’abbreviazione di “perfectly owned” ovvero “perfettamente/completamente posseduto”.
Perché questo linguaggio? Perché Have I been pwned è un database che contiene informazioni su tutti gli account utente, a livello mondiale, che sono stati coinvolti nella sottrazione di dati posta in essere, da parte di criminali informatici, su diversi siti web completamente differenti l’uno dall’altro.

Provate a visitare la home page di Have I been pwned e digitate il vostro indirizzo email nella casella di ricerca (email address): tranquilli il sito è sicuro e nessuno utilizzerà l’account di posta per inviarvi spam.

Il servizio vi risponderà immediatamente con la frase Good news – no pwnage found! su sfondo verde oppure con la formula Oh no – pwned! su sfondo rosso.

Nel primo caso significa che nessun account in cui è stato utilizzato l’indirizzo email specificato è stato coinvolto in alcun attacco.
Nel secondo caso (messaggio Oh no – pwned!), suggeriamo di scorrere la pagina fino al paragrafo Breaches you were pwned in.
Qui sono indicati i furti di dati in cui account facenti capo all’indirizzo email digitato in precedenza sono risultati coinvolti.

Prendiamo l’esempio di un account @gmail.com che, inserito in Have I been pwned viene indicato come Oh no – pwned!. La comparsa del messaggio – e questo va bene rimarcato – non significa che l’account Gmail in sé è stato violato insieme con i contenuti in esso raccolti; significa invece che un proprio account – in cui si è utilizzato l’account @gmail.com come nome utente – è stato coinvolto nella sottrazione di dati posta in essere da gruppi di criminali informatici.
Detto in altri termini, se ci si fosse registrati al servizio online Y indicando come nome utente l’indirizzo email @gmail.com e il servizio Y fosse stato oggetto di un attacco informatico che avesse portato alla sottrazione di dati da parte di terzi (ad esempio le credenziali di accesso degli utenti di Y), l’indirizzo @gmail.com risulterà pwned e Have I been pwned mostrerà l’allerta Oh no – pwned!.

Non è detto che la password dell’account sia nota ai criminali informatici perché in molti casi i gestori dei servizi online la proteggono mediante un algoritmo di hashing.
La password, insomma, non viene memorizzata in chiaro ma viene salvata in un formato cifrato che lavora in un’unica direzione: permette cioè dalla password dell’utente di generarne una versione codificata corrispondente ma non consente dalla versione codificata di risalire alla password in chiaro.
Ovviamente la scelta del migliore e più sicuro algoritmo di hashing gioca un ruolo fondamentale: in alcuni casi i criminali informatici, usando attacchi brute force e/o le cosiddette rainbow tables possono provare a invertire la funzione di hash e risalire alle password reali degli utenti.

Inoltre, utenti poco attenti alla sicurezza dei propri dati e alla propria identità online, possono facilitare la vita ai malintenzionati riutilizzando le stesse password su più servizi differenti. Una pratica, questa da evitare come la peste.

Dicevamo che Have I been pwned, in corrispondenza di Breaches you were pwned in, indica dove le credenziali di accesso dell’utente (corrispondenti all’indirizzo email digitato nella casella di ricerca) sono state sottratte.
L’autore di Have I been pwned, Troy Hunt, non ha ovviamente alcun legame con gli attacchi che sono stati sferrati ai vari servizi online nel corso del tempo: Hunt svolge però un lavoro certosino che risulta davvero prezioso e spesso poco compreso degli utenti.
L’ideatore di Have I been pwned controlla costantemente l’attività svolta sui forum dedicati a hacking e cracking, quanto caricato sui siti per la condivisione di contenuti (come Pastebin), scandaglia il dark web per individuare la pubblicazione di dati e credenziali di utenti riconducibili ad attacchi informatici vecchi e nuovi.

Proprio in questi giorni Hunt ha aggiunto i dati contenuti in un vastissimo archivio che contiene milioni di nomi utente e password: Diffuso in rete un archivio con 773 milioni di indirizzi email e password: verificate se ci sono anche i vostri.

Come fare per controllare se le proprie password fossero note ai criminali informatici

Il fatto che alcune proprie credenziali siano state parte integrante di attacchi informatici sferrati nel corso degli anni non deve lasciare sbalorditi. Nella parte finale di ciascuna pagina pubblicata su Have I been pwned c’è una lunga lista dei servizi che sono stati presi di mira dai criminali informatici e che hanno denunciato la sottrazione di dati dai propri server.
L’importante è, quando si dovessero verificare queste situazioni, modificare subito le proprie password a partire ovviamente dai servizi che hanno subìto un’aggressione informatica e possibilmente attivare l’autenticazione a due fattori, troppo spesso “snobbata”: Verifica in due passaggi Google: solo 10% degli utenti la usano.
E, ancora una volta, uno dei consigli migliori è accertarsi di non usare mai la stessa password su più servizi online.

Per chi volesse indagare meglio, da qualche tempo a questa parte Troy Hunt ha messo a disposizione anche il servizio aggiuntivo Pwned Passwords: digitando una propria password, è possibile sapere se essa sia presente negli archivi del sito e quindi coinvolta nella sottrazione dei dati avvenuta presso qualche provider.

Hunt ha più volte chiarito che per motivi di sicurezza non conserva le password in chiaro coinvolte nei vari attacchi ma solamente i corrispondenti hash.
Digitando una password, quindi, Have I been pwned ne calcola immediatamente l’hash SHA-1 e verifica la presenza del medesimo hash nel suo database (SHA-1 è uno dei più famosi e utilizzati algoritmi di hashingh).

Se non vi andasse a genio di scrivere le vostre password su una pagina web come questa, seppur protetta grazie all’utilizzo di HTTPS, di un protocollo sicuro come TLS 1.3, di un affidabile algoritmo per lo scambio delle chiavi (X25519) e di un cifrario altrettanto sicuro (AES_128_GCM), c’è un modo per controllare le password offline senza scambiare alcun dato via Internet.

Il primo passaggio fondamentale consiste nel puntare il browser su questa pagina quindi scorrerla fino al paragrafo Downloading the Pwned Passwords list.
Qui si dovrà cliccare sul pulsante Cloudflare in corrispondenza della riga SHA-1, ordered by hash.

Si tratta del file continuamente aggiornato da Hunt che contiene gli hash di tutte le password “soffiate” dai criminali informatici nel corso degli attacchi noti messi a segno fino ad oggi, nel corso di anni.
Il file è ovviamente molto pesante (è sull’ordine dei 10 GB) e una volta decompresso l’archivio, il file di testo in esso contenuto (pwned-passwords-sha1-ordered-by-hash-v4.txt) pesa circa 23 GB (assicurarsi quindi di avere sufficiente spazio disponibile).

Una volta decompresso il file di testo suggeriamo di rinominarlo semplicemente in pwned-passwords.txt.
Non provate ad aprirlo perché nella maggior parte dei casi, vista la sua ragguardevole dimensione, ciò non sarà possibile.

Queste le prime 10 righe che contiene ad oggi il file:

000000005AD76BD555C1D6D771DE417A4B87E4B4:4
00000000A8DAE4228F821FB418F59826079BF368:2
00000000DD7F2A1C68A35673713783CA390C9E93:630
00000001E225B908BAC31C56DB04D892E47536E0:5
00000006BAB7FC3113AA73DE3589630FC08218E7:2
00000008CD1806EB7B9B46A8F87690B2AC16F617:3
0000000A0E3B9F25FF41DE4B5AC238C2D545C7A8:15
0000000A1D4B746FAA3FD526FF6D5BC8052FDB38:16
0000000CAEF405439D57847A8657218C618160B2:15
0000000FC1C08E6454BED24F463EA2129E254D43:40

Come si vede la prima parte della riga, prima del simbolo :, è l’hash della singola password; la seconda (il riferimento numerico) indica quante volte la stessa password è stata rilevata da Hunt nei file dei vari attacchi. Gli hash con molte occorrenze sono quelli corrispondenti a password evidentemente molto utilizzate dagli utenti.
Se si prova a scrivere test123 su Pwned Passwords si otterranno più di 96.000 occorrenze.

Utilizzare una manciata di comandi Linux per controllare l’affidabilità delle password

Anche chi non disponesse di un sistema Linux ma utilizzasse una macchina Windows 10 può effettuare il test in pochi istanti. Installando la bash Linux in Windows 10 (vedere Linux in Windows: come, quando e perché utilizzarlo), si potranno impartire tutti i comandi necessari per le verifiche da riga di comando.

Vediamo come controllare la presenza delle proprie password nella lista di Have I been pwned da Windows 10 senza inviare alcun dato in rete:

1) Dando per scontata l’installazione della bash Linux in Windows 10, basterà digitare bash nella casella di ricerca del sistema operativo.

2) Portarsi nella cartella contenente il file pwned-passwords.txt. Nel nostro caso abbiamo digitato cd /mnt/d/pwned_passwords perché il file si trova nella cartella D:\pwned_passwords.

3) Digitare il comando echo -n 'test123' openssl dgst -sha1 -hex per trovare l’hash SHA-1 di una propria password. La password da trasformare con l’algoritmo di hashing dovrà essere opportunamente sostituita a test123.

4) Selezionare l’hash SHA-1 della password e premere Invio in modo da copiare la stringa negli appunti di Windows. Nell’esempio va selezionato e copiato l’hash 7288edd0fc3ffcbe93a0cf06e3568e28521687bc.

5) Digitare y="7288edd0fc3ffcbe93a0cf06e3568e28521687bc" sostituendo ovviamente il corretto valore di hash per la propria password e premere Invio.

6) Scrivere infine grep "${y^^}" ./pwned-passwords.txt e premere Invio. In questo modo l’hash della password sarà convertito in caratteri alfanumerici maiuscoli (così è strutturato il file scaricato da Have I been pwned) e verrà cercato nel file locale pwned-passwords.txt.

7) La ricerca durerà diversi minuti ma Windows continuerà ad essere utilizzabile: si vedrà solamente un utilizzo dell’hard disk piuttosto marcato da parte del comando Linux grep.

8) Al termine dell’analisi dell’intero file pwned-passwords.txt, se la password corrispondente all’hash SHA-1 indicato dovesse essere rilevata, si otterrà un output simile a quello in figura.

Come si vede, il numero di occorrenze indicato (nell’esempio della password test123) è uguale a quello riportato sul sito Have I been pwned.

Effettuare un controllo delle password con Keepass

L’apprezzato password manager Keepass, software libero e opensource, è stato oggetto di diversi nostri articoli: vedere ad esempio Gestione password: come farlo in sicurezza.

Come alternativa rispetto alla procedura precedentemente illustrata, se si fosse utenti di Keepass e si utilizzasse questo programma per gestire le proprie credenziali, è sufficiente scaricare e installare il plugin HIPB Offline Check.
Come suggerisce il nome stesso, HIPB Offline Check consente di controllare il database delle password di Have I been pwned sempre in modalità offline, senza inviare alcun dato in rete.

Dopo aver copiato il HIPB Offline Check nella cartella dei plugin di Keepass, basterà avviare il password manager, portarsi nel menu Strumenti, HIPB Offline Check e selezionare il file pwned-passwords.txt precedentemente estratto su disco.

A questo punto, per controllare la presenza di una singola password nel database di Have I been pwned basterà fare doppio clic sulla corrispondente colonna Password.
In alternativa è possibile effettuare, sempre dall’interfaccia di Keepass, una selezione multipla quindi cliccare su Elementi selezionati, Have I Been Pwned database.

Nella nuova colonna Have I been pwned il plugin HIPB Offline Check indicherà se la password corrispondente fosse o meno nota ai criminali informatici.

Ti consigliamo anche

Link copiato negli appunti