lunedì 5 novembre 2018

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?

martedì 30 ottobre 2018

"Internet per influenzare la società"

Mi è stato chiesto qualche link per "approfondire l'uso della rete internet per influenzare la società".

Interpreto questa domanda nel senso di richiesta di informazioni su "campagne organizzate per manipolare in modo consapevole le opinioni delle persone". E' ovvio infatti che Internet ha una influenza enorme sulla società per il solo fatto di esistere.

Questo tema è molto ampio, molto importante, con implicazioni enormi che, a mio parere, nessuno è ancora in grado di comprendere fino in fondo. Riporto qui sotto alcuni link che io ho trovato molto interessanti e molto utili. Come premessa generale, l'esistenza di campagne organizzate per manipolare le opinioni delle persone è ormai un dato di fatto.

Un documento importantissimo è un discorso tenuto lo scorso anno dal Commissario Europeo per l'Unione della Sicurezza presso lo NCSC UK (il National Cyber Security Center del Regno Unito, un'organizzazione di altissimo livello il cui sito web è una risorsa di valore enorme per chiunque si occupi seriamente di sicurezza informatica). In questo discorso, basato ovviamente su dati e notizie che non possono essere resi pubblici, sono stati trattati i rischi nei sistemi elettorali: "Now is a good time to reflect on what we have learned from recent elections and to try to determine where the threats might lie in future...The risks fall into two main categories: those based on systems and those based on behaviours. In terms of the first we are looking at cyber-attacks that manipulate the electoral process or voting technology to change the number of voters or the number of votes...   The second category of threat is much more subtle and pernicious. Threats that manipulate the voting behaviour of voters."
https://ec.europa.eu/commission/commissioners/2014-2019/king/announcements/commissioner-kings-speech-national-cybersecurity-centre-london_en

Poche settimane fa negli Stati Uniti è stato deciso di mettere sotto processo una cittadina russa con l'imputazione di  avere seminato “division and discord in the U.S. political system, including by creating social and political polarization, undermining faith in democratic institutions, and influencing U.S elections.” Per fare questo "operated fictitious social media accounts, pages, and groups designed to amplify polarizing topics in the U.S." Ancora non sappiamo, ovviamente, quale sarà l'esito del processo, ma il fatto che siano stati raccolti indizi sufficienti per fare un processo è molto importante. Si tratta proprio di ciò che diceva il Commissario Europeo: un "threat that manipulates the voting behavior of voters".

Un articolo di qualche settimana fa sul New Yorker descrive, per così dire, la storia di Facebook. E' un articolo prolisso, lungo, noioso nella parte iniziale. E' però estremamente interessante per capire la dimensione e complessità del problema "rapporto tra Facebook ed opinioni delle persone".
https://www.newyorker.com/magazine/2018/09/17/can-mark-zuckerberg-fix-facebook-before-it-breaks-democracy

Tra le numerose analisi dei rischi nel rapporto tra Facebook e democrazia, una particolarmente interessante è questa (scritta nel periodo dello scandalo Cambridge Analytica):
https://www.nytimes.com/2018/03/19/opinion/facebook-cambridge-analytica.html

Per approfondire gli aspetti tecnici e quantitativi di "How thousands of companies monitor, analyze, and influence the lives of billions Who are the main players in today’s digital tracking? What can they infer from our purchases, phone calls, web searches, and Facebook likes? How do online platforms, tech companies, and data brokers collect, trade, and make use of personal data?" c'è questo bellissimo report, purtroppo lungo e non banale:
http://crackedlabs.org/en/corporate-surveillance

Altre notizie relativamente interessanti: