Forse sarà solamente un caso, ma giusto a pochi giorni dal tentativo di hacking riuscito verso la pagina di Mark Zuckerberg, tramite un post sul blog ufficiale i responsabili della piattaforma Facebook hanno annunciato l’arrivo, nei prossimi mesi, di nuove tecniche atte a rendere più sicura la trasmissione dei dati e le procedure di autenticazione verso il loro network. Attualmente, dal punto di vista tecnico, di sicuro in Facebook c’è davvero poco: solamente lo scambio delle credenziali di autenticazione è protetto, tutto il resto transita senza problemi in chiaro sulla rete, ed è proprio su questo punto che le cose cambieranno.
Infatti sarà possibile, tramite il pannello di controllo del proprio account, estendere la cifratura tramite HTTPS a qualsiasi pagina si navighi all’interno del sito. Non stiamo scoprendo nulla di nuovo, in quanto da parecchio tempo molti servizi online, soprattutto quelli relativi all’online banking, utilizzano il protocollo SSL/TLS per intere aree dei loro siti. In uno scenario HTTP classico, tutti i dati che transitano dal client al server sono “facilmente” leggibili da un MITM(man in the middle) in quanto non vi è nessun livello di cifratura applicato. Inoltre il client potenzialmente potrebbe comunicare con un server fasullo, magari creato ad hoc da un malintenzionato, in quanto non vi è modo per stabilirne l’autenticità.
Il protocollo SSL e la sua versione più moderna, il TLS, permettono proprio di risolvere i due problemi fin qui enunciati, ossia la sicurezza del canale di trasmissione e l’autenticità del server con cui si dialoga (sarebbe anche possibile autenticare il client, realizzando quello che si chiama schema a “mutua autenticazione”. Questo perché se è vero che il server potrebbe essere fasullo, potrebbe anche esserlo il client, però un tale sistema richiederebbe la presenza di un certificato personale su ogni dispositivo e nella maggior parte degli scenari ciò non è applicabile con facilità).
Questo protocollo si articola di quattro fasi principali. Nella prima, il browser contatta l’URL Https e riceve dal server una serie di informazioni provenienti dal suo certificato digitale (di cui il server deve essere provvisto e deve essere rilasciato da un CA), ne controlla prima la firma digitale verificando che sia riconosciuta dalla CA (Certification of Authority), e successivamente che l’intera catena di certificati sia valida (la CA rilascia al server un certificato, che però fa parte di una catena. Producendo il solo certificato falso infatti, e non essendo in possesso delle chiavi private della CA, non sarà possibile avere un’intera catena completamente autentica, ed il browser ci avviserà tempestivamente).
A questo punto si entra nella seconda fase, quella in cui il client ed il server negoziano i protocolli che intenderanno utilizzare per cifrare la comunicazione. Una volta operata la scelta si avvia la fase tre, in cui avviene lo scambio della chiave simmetrica (per mezzo generalmente di cifratura asimmetrica RSA), che verrà utilizzata per cifrare e decifrare tutti i messaggi (tralasciamo qui tutte le operazioni di hashing atte ad autenticare i vari passaggi, che avvengono in parallelo ai passaggi fin qui descritti). La quarta fase corrisponde invece alla trasmissione dei contenuti tra client e server, dove ogni messaggio verrà accompagnato dal suo digest in modo che il server possa accorgersi di eventuali contraffazioni, e da qui in poi diventa teoricamente impossibile decifrare i messaggi o sostituirli con delle copie fasulle.
Ogni volta quindi che posteremo sulla nostra bacheca una nuova foto o che aggiorneremo dei dati sensibili, come ad esempio il nostro indirizzo o la data della nostra partenza per le vacanze, il protocollo HTTPS garantirà che nessun intermediario potrà ottenere queste informazioni rimanendo in ascolto del canale di trasmissione.
Rimanendo in tema di password, è prevista (per ora solo sperimentalmente negli USA) anche la possibilità di slegare temporaneamente la propria utenza dalla comune chiave inserita all’atto della registrazione, utilizzando piuttosto un OTP: in un colpo solo potremmo avere una password sicura, utilizzabile una volta sola ed anche complessa, in quanto non vi sarà la necessità di doverla memorizzare, e saranno i server di Facebook stessi ad inviarcela sul cellulare, previa nostra richiesta, tramite sms verso il numero associato al nostro account. Per avere ulteriori dettagli sugli OTP e sulla criticità nella gestione e memorizzazione delle password vi rimando ai miei precedenti articoli, consultabili qui e qui.
Terzo atto dell’incremento della sicurezza sarà l’introduzione di un meccanismo di disconnessione remota, attraverso la quale potrete controllare in quanti posti il vostro account risulta loggato. A volte infatti può capitare che vi dimentichiate di disconnettervi dal cellulare, dal pc di casa o peggio dall’internet point, il che potrebbe costituire una potenziale porta spalancata verso i ladri d’identità. Con questo strumento avrete sempre sott’occhio le connessioni attive sul vostro profilo, che in uno scenario di uso corretto sarà sempre una sola e se così non fosse o vi siete dimenticati di disconnettervi, oppure qualcuno accede con le vostre credenziali: potrete quindi forzare la chiusura in remoto di eventuali altre postazioni loggate.
L’ultima idea (anche se non originale ma già usata similmente da altri servizi) del team di Facebook riguarda invece quella che comunemente viene chiamata “social authentication”, e verrà utilizzata nello scenario in cui voi, o qualche cracker, tentiate di accedere al vostro profilo da una posizione geografica differente da quella solitamente utilizzata, scenario che potrebbe essere inteso come un tentativo di furto d’identità. Fin’ora infatti gli unici strumenti utilizzati per ovviare a tentativi di accessi non autorizzati era il CAPTCHA, che però è uno strumento utile solo per evitare che un bot creato ad hoc tenti di bucare la vostra password, che si basa sulla difficoltà per un software OCR di decifrare una scritta che invece risulta abbastanza leggibile da un essere umano (non sempre a dire la verità!).
Se una persona possedesse le vostre credenziali, potrebbe infatti bypassare il CAPTCHA con molta facilità. Si potrebbe introdurre un meccanismo di domanda/risposta ad un argomento di carattere personale, ma come abbiamo visto nella precedente puntata della rubrica tale metodo non sarebbe sufficientemente sicuro. Visto che la parola social va oggi molto di moda, verrà implementato un sistema che dedurrà l’autenticità della persona che tenta di accedere al profilo dal riconoscimento di una serie di foto tratte dagli album degli amici. In pratica, se si presentano le condizione esposte qualche riga più sopra, ci verrà proposto un box con delle foto dei nostri amici virtuali e ci verrà chiesto di indicarne il nome tra una serie di opzioni: se le risposte saranno affermative allora verrà concessa l’autorizzazione ad accedere.
Le quattro procedure che fin qui vi ho esposto hanno un preciso ordine: le ho ordinate in ordine decrescente di sicurezza. Sicuramente l’uso dell’ HTTPS è fondamentale per un servizio che contiene così tante informazioni sensibili come Facebook, così come l’idea di sfruttare gli OTP per l’accesso. Mentre trovo più che buona la possibilità di disconnettere le sessioni aperte in remoto, ritengo ridicolo il meccanismo di autenticazione sociale basato sulle amicizie virtuali, e nei ragionamenti che seguiranno vi spiegherò il perché del mio punto di vista.
E’ evidente che il più famoso dei social network stia adottando protocolli di sicurezza degne di una banca, semplicemente perché ormai stiamo riversando la nostra intera vita sui loro server, ed è facile trovarvi numeri di telefono, indirizzi o pin di carte di credito che transitano senza protezione. C’è però un paradosso che vorrei sottolineare: ha senso spendere risorse (l’HTTPS costa e non poco in termini computazionali, in quanto decifrare i messaggi lato server è oneroso per le risorse hardware che andranno necessariamente potenziate) per far transitare i “fatti nostri” cifrati, per poi spiattellarli in bella vista per centinaia di persone che, benché siano “amici” (a patto che il profilo sia adeguatamente protetto dalla visione per tutti gli utenti), di certo non possiamo mettere la mano sul fuoco per una buona parte di loro?
Io credo che la prima difesa verso l’insicurezza online sia il tipo di informazioni che vogliamo condividere, altrimenti a che serve proteggere la nostra privacy mentre transita dal browser al server, se per scoprire tutto ciò che vogliamo di una persona è sufficiente che questa ci chieda “l’amicizia”? Pertanto credo che, per quanto sia pregevole lo sforzo di Facebook nel rendere più sicuro il suo network, credo che soprattutto le nuove generazioni (le più inclini a condividere tutta la loro vita con delle persone che di fatto rimangono degli sconosciuti) debbano imparare a gestire la loro sicurezza personale a partire dalle attività che svolgono su internet, dove sicuramente l’aiuto dei genitori e magari anche della scuola potranno far compiere passi da gigante.
Ho detto che trovo ridicolo il meccanismo di autenticazione social, perché credo sia palesemente facile, in alcuni casi, per un malintenzionato (spesso non è da escludere che esso possa essere nella lista dei nostri amici) dare un nome alla faccia di un nostro amico, in quanto tutte le informazioni necessarie potrebbero essere lì a portata di mano sulla bacheca. Senza contare il fatto che moltissimi utenti hanno liste sconfinate di amici di cui probabilmente non ricordano né il nome né tantomeno il viso: mi auguro che gli algoritmi di Facebook propongano quantomeno i volti degli amici con cui c’è più interazione, altrimenti quando questa estate sarete in spiaggia (e proprio non potrete fare a meno di aggiornare il vostro status dal netbook) vi maledirete per aver accettato l’amicizia di un totale sconosciuto mai visto neppure in viso!
La sicurezza deve diventare “social” non attraverso tecnologie come quella descritta, che sono solo un impiccio in più per un malintenzionato più che un vero ostacolo, ma attraverso una “socializzazione” delle problematiche legate alla sicurezza informatica: social si, ma in un accezione differente. Il mondo sta cambiando e le persone stanno trasferendo la loro esistenza più verso il virtuale che verso il reale (lascio a voi ragionare sul fatto che sia un bene oppure un male) e non oso immaginare a che livelli saremo tra anche solo 50 anni. Credo solo che, come noi siamo cresciuti con i consigli sulla mamma del tipo “non accettare caramelle dagli sconosciuti”, sia il caso di cominciare ad insegnare al nuovo che avanza di “non accettare amicizie dagli sconosciuti”, perché se è vero che tutto cambia per rimanere com’è, allora è vero che cambiano gli strumenti, i luoghi e le persone ma i rischi sono sempre gli stessi.
Lascio a voi i pensieri e le paure sulle tematiche esposte nell’articolo.