Passa ai contenuti principali

Perché la password deve essere difficile da indovinare...

In questi giorni Anonymous sta effettuando numerosi attacchi a pubbliche amministrazioni italiane (basta cercare "anon-italy #FifthOfNovember" su Google). Questi attacchi mi hanno motivato a scrivere questo post.

Negli ultimi anni mi è capitato spesso di dare suggerimenti di sicurezza informatica "terra-terra", in particolare sull'uso di email e password: i due aspetti di gran lunga più importanti nella stragrandissima maggioranza dei casi (questa pagina contiene le slide di un corso che ho tenuto più volte per persone senza competenze tecniche specifiche).

Uno dei suggerimenti relativi alla scelta delle password è questo: "non deve essere indovinabile facilmente".

PARENTESI IMPORTANTE: il suggerimento non è proprio questo, è più circostanziato; inoltre, non è il suggerimento più importante sulle password: quello più importante è "non usare la stessa password su più siti diversi"; vedi le slide sopra citate. CHIUSA PARENTESI.

Nel corso introduttivo e nelle slide non approfondisco il motivo per cui una password "non deve essere indovinabile facilmente". Il motivo che lascio intuire è questo: è facile realizzare attacchi automatizzati in cui si prova una sequenza predefinita di password fino a trovare la password giusta. Se il sito non rileva attacchi di questo genere, il che è purtroppo molto più frequente di quanto si immagini, allora c'è il rischio che l'attaccante riesca nel proprio intento. Quindi niente nomi, niente cognomi, niente nome del cane o del gatto, niente nome dei figli etc.

In realtà il motivo vero è un altro. Motivo che ometto completamente nel corso introduttivo onde non complicare le cose.  Cerco di riassumerlo di seguito.

Gli attacchi come quello sopra descritto esistono veramente. Ma sono poco frequenti. Il rischio maggiore non deriva da attacchi di quel genere, bensì da situazioni in cui un attaccante penetra in un server, estrae il database contenente username e password" di tutti gli utenti e fa circolare il database in rete (esattamente ciò che sta succedendo in questo giorni con le utenze di varie Regioni, Province, aziende sanitarie, dipartimenti universitari, associazioni professionali e molto altro).

Se il database è strutturato in maniera corretta, allora le password non sono utilizzabili immediatamente. Il database infatti non contiene la password bensì una funzione non invertibile della password. Ad esempio:

efaa7c4436f92367bf878da1d0c9fb61:PPlC4Xun3a2lcDYhPVUdF4pvulSIvZEM).

Per potere utilizzare una password nel database, quindi, un attaccante deve provare una possibile password, calcolare la funzione non invertibile, vedere se il risultato è identico alla password nel database e poi continuare per tante altre password possibili sperando di trovare prima o poi la password giusta.

Avere scelto una password "non indovinabile facilmente" serve proprio per tentare di difendersi da situazioni di questo genere. Situazioni che purtroppo si verificano relativamente spesso.

Detto questo, uno si chiede "e che succede se il database non è strutturato in maniera corretta?". Quello che succede è che le password sono memorizzate, come si dice, "in chiaro". Quindi sono immediatamente visibili ed utilizzabili.

Io sono un pessimista di natura, ma spesso la realtà supera il mio pessimismo. Mai e poi mai mi sarei aspettato di vedere password in chiaro nei database pubblicati da Anonymous (ripeto: Regioni, Province, etc.).

Vorrei tanto mettere qui una schermata, perché solo una schermata rende pienamente l'idea. Ma non posso diffondere informazioni così delicate. Vi suggerisco però caldamente di immaginare una bella tabella con colonna username (da cui si risale in maniera pressoché immediata al nome ed al cognome) ed accanto la colonna password perfettamente leggibile.


Una schermata del genere fa capire anche un altro motivo per cui bisogna scegliere "una password non indovinabile facilmente": Che figura ci fa uno, o una, che sul proprio posto di lavoro sceglie come password il proprio nome, o il proprio cognome o qualche altra stupidaggine del genere?

Messaggio finale per chi ha responsabilità di amministratore di sistema: che figura ci fa un amministratore di sistema che gestisce le password in questo modo?

Commenti

Popular Posts

"Ingegneria deve essere difficile"

Il ritaglio di giornale qui sotto ricorda uno degli eventi più non-trovo-un-aggettivo-appropriato del mio periodo di studente di Ingegneria a Pisa. Ricordo che una mattina iniziò a spargersi la voce "hanno murato la porta del dipartimento!".  Andammo subito a vedere ed arrivammo un pò prima dei giornalisti che scattarono questa foto. La porta era murata, intonacata, pitturata di bianco e sovrastata da una scritta "INGEGNERIA DEVE ESSERE DIFFICILE". Le "E" di "INGEGNERIA" erano scritte al contrario perché era una sorta di "marchio di fabbrica" della facoltà di Ingegneria di Pisa. L'aula più grande, quella in cui pressoché tutti gli studenti seguivano i corsi dei primi anni, aveva infatti alcuni bellissimi "affreschi scherzosi" che furono fatti nel corso delle proteste studentesche di qualche anno prima ed in cui la parola "Ingegneria" era appuntoi scritta in quel modo. Si era anche già sparsa la voce di cosa era

Il patch che non era un patch

Quanto segue è un patetico quanto inutile tentativo di distrarmi e non pensare alla pessima prestazione calcistica di ieri sera, decisamente non all'altezza dell'evento e dei nostri gloriosi colori. Nella lezione di "Computer Networks and Principles of Cybersecurity" di ieri, mi è stata posta la domanda " E' possibile che un patch introduca nuove vulnerabilità? ". La mia risposta è stata affermativa, ho evidenziato che un patch è un software, quindi può introdurre errori, vulnerabilità, può fare riemergere errori o vulnerabilità presenti e risolti in versioni precedenti, può correggere la specifica vulnerabilità presumibilmente risolta da quel patch solo in parte. Non è frequente, ma può accadere ed è quindi una possibilità da tenere presente. Uno dei numerosi motivi che rendono così complessa la gestione delle vulnerabilità è anche questo. Stamattina ho letto un esempio molto interessante di quanto abbiamo detto. Pochissime settimane fa Microsoft ha ril

Perché studiare Analisi Matematica???

Un mio caro amico mi ha scritto: ...sono con mia figlia che studia Analisi 1...A cosa serve, al giorno d'oggi, studiare Analisi (a parte sfoltire i ranghi degli aspiranti ingegneri)? Riporto la mia risposta di seguito, forse può "motivare" qualche altro studente. ... Per un ingegnere la matematica è fondamentale perché è un linguaggio ; ed è il linguaggio essenziale per trattare gli argomenti che dovrà affrontare come ingegnere; non sono importanti i contenuti specifici; è importante, anzi fondamentale, che riesca a capirli, ricostruirli etc. ad esempio, chi deve usare l'inglese, lo usa perché in un modo o nell'altro lo conosce; nessuno di noi ha usato esattamente le frasi o i dialoghi o le regole che ha incontrato negli esercizi di inglese o di tedesco; nella matematica è lo stesso; non sono importanti i limiti, le serie, i teoremi di cauchy o che so io; ma se uno non è in grado di capire quel linguaggio allora non sarà in grado di capire davvero quas

40 anni di Internet: Cosa non ha funzionato e perché

Leggo molti documenti tecnico-scientifici per lavoro e, in parte, per "piacere". Molti sono interessanti, alcuni molto interessanti. E' raro che trovi un documento che mi appare illuminante. Questo indicato sotto è uno dei pochi documenti in questa categoria. Sembra banale, in quanto è molto discorsivo e parla di molte cose note: IP, DNS, NAT.... In realtà è profondissimo. Una miniera di riflessioni profonde, sintetiche, focalizzate ed, appunto, illuminanti. A mio parere imperdibile per chiunque abbia un qualche interesse negli aspetti tecnici di Internet. Chi non ha la pazienza di leggerlo per intero, legga almeno gli ultimi due paragrafi. Failed Expectations (l'autore, Geoff Houston , fa parte della Internet Hall of Fame )

ChatGPT: supererebbe il mio esame di Reti di Calcolatori?

Molto probabilmente chi ha a che fare con i corsi di laurea scientifici e tecnologici, come me, ha preso atto della notizia che ChatGPT ha superato esami universitari in giurisprudenza ed economia con un pò, diciamo così, di sufficienza. Pensando "da noi non potrebbe mai succedere; figuriamoci". E' quello che ho pensato io. Poi però ho fatto a ChatGPT qualche domanda di Reti di Calcolatori. Ho quasi cambiato idea. "Quasi" perché nello scritto di Reti di Calcolatori faccio sempre esercizi. Pur non avendoli sottoposti a ChatGPT sono certo che questi esercizi non li sa risolvere. Ma alle "domande tipiche da orale" ha fornito risposte che mi hanno davvero stupefatto. Riporto qui sotto solo un esempio di "dialogo", relativo a validazione di firma digitale e certificati auto-firmati. Risposte sostanzialmente corrette e pertinenti, molto più sintetiche e focalizzate di quelle che ricevo normalmente. E più rapide. Alla fine ha riconosciuto di esser