OpenSSL è una parola che ha avuto un’evoluzione impressionante: da termine tecnico a mala pena conosciuto nei soli ambienti IT a vocabolo usato (e a volte abusato) anche dai media generalisti per parlare di uno dei più gravi problemi di sicurezza che abbia colpito internet e le transazioni online negli ultimi tempi.
Nonostante la vicenda OpenSSL e Heartbleed interessi ormai il web dall’aprile di quest’anno, c’è ancora molta disinformazione, molti aspetti ancora poco approfonditi e alcune lacune e carenze su quanto è accaduto, sullo stato attuale della situazione e su cosa riserva il futuro al protocollo di sicurezza più citato e bucato degli ultimi tempi.
OpenSSL: cos’è successo e perché
È da poco iniziato aprile, quando le pagine web, i siti di informazione e alcuni giornali cartacei diffondono una notizia inquietante con il solo scopo di creare uno scoop: “OpenSSL, la libreria usata per cifrare le connessioni SSL/TLS usate nei protocolli HTTPS, ha un bug che permette anche agli hacker meno abili di mettere fuori gioco le connessioni protette”. Il bug prende il nome di Heartbleed.
A rivelare la falla è CloudFlare, la nota CDN che ha lavorato dietro le quinte per tappare il buco individuato prima di darne notizia al grande pubblico e ai suoi utenti.
Il bug non sembra essere recente e non dipende dalle nuove versioni OpenSSL rilasciate. Le versioni interessate, infatti, sono quelle pubblicate fino a due anni prima della scoperta (2012), provocando quindi la non validità di tutte le chiavi di sicurezza emesse nel biennio di interesse.
Tecnicamente, il problema sembra sia dovuto a una vulnerabilità del codice che permetterebbe a chiunque di impossessarsi di soli 64 Kbyte di dati presenti nella memoria di un client o un server connessi tramite cifratura, compromettendo così le chiavi usate per crittografare le comunicazioni SSL/TLS e le identità degli utenti protetti.
“Un problema di programmazione causato da una mancata validazione di una variabile di lunghezza”, diranno poco dopo i media, riportando le parole del programmatore Robin Seggelmann fautore del codice sorgente contenente il bug. Un problema che permetteva di richiedere informazioni con un valore arbitrario di bit a cui OpenSSL rispondeva non solo con l’informazione richiesta ma con tutti i dati che erano disponibili dopo la lunghezza della stringa specificata.
Il panico da OpenSSL
L’effetto scoop dei media ha avuto immediato riscontro e, insieme al problema reale, ha provocato un’ondata di panico nel web. Siamo a pochi giorni dopo il tam-tam mediatico della notizia e iniziano a diffondersi nomi illustri di siti travolti dallo scandalo OpenSSL.
Yahoo!, Ars Technica, Google, Facebook, YouTube, Wikipedia, Blogspot, MSN e altri prodotti Microsoft insieme ad alcuni siti di internet banking, ad alcune VPN e (ironia della sorte) al sito dell’FBI americana, sono risultati affetti dal bug, a differenza di pochissimi altri come Amazon, Linkedin, eBay, PayPal, Twitter e Lastpass che invece avevano dotato le rispettive piattaforme di layer di sicurezza aggiuntivi. Richieste di cambio password inviate agli utenti, aggiornamenti di massa di server a una versione di OpenSSL non interessata dal problema e il diffondersi di nuove notizie meno confortanti hanno composto uno scenario apocalittico post-bug che non sembra essersi ancora risolto.
OpenSSL un mese dopo
Di fronte a questa catastrofe, si è iniziato a dare informazioni su come risolvere il problema: webmaster e sistemisti avrebbero dovuto aggiornare prontamente la versione di OpenSSL dei propri server alla versione 1.01G rilasciata il 7 aprile (ricordando che le sole versioni non affette dal bug sono la 1.0.0 e la 0.9.8) e richiedere la re-emissione dei certificati digitali alle autorità CA competenti. Gli utenti avrebbero dovuto cambiare le password di accesso ai servizi, ricordando che questa procedura dovrebbe essere una routine da svolgere ogni 60 o 90 giorni e non un’azione di emergenza.
Nonostante tutti i buoni consigli, a circa un mese di distanza dallo scandalo, i siti ancora non sicuri risultavano oltre 300 mila.
OpenSSL e la situazione attuale
A circa due mesi di distanza dalla diffusione delle notizie su Heartbleed, il caso OpenSSL non sembra essersi esaurito. È giugno quando il ricercatore Kikuchi scopre una nuova falla in OpenSSL (CSS Injection Vulnerability), che permette di sottrarre i dati in modalità non cifrata durante le comunicazioni fra client e server, forzando anche all’utilizzo di chiavi deboli o note. Oltre al problema in sé, la vera tragedia è il fatto che questo bug sembra infestare il codice OpenSSL da oltre 10 anni, consegnando così nelle mani degli hacker quasi un decennio di dati privati.
A questo nuovo buco, se ne aggiungono altri cinque, tanto da spingere il web a definire Heartbleed come “la punta dell’iceberg delle vulnerabilità che affliggono OpenSSL”, che si susseguono di giorno in giorno.
Di fronte a questa situazione, colossi del web corrono ai ripari, tracciando un futuro per OpenSSL che si spera sia differente dal suo passato.
OpenSSL e il futuro
Un esempio su tutti arriva da Mountain View. Google, infatti, si affretta a rilasciare una nuova versione di Android per chiudere le falle anche sugli smartphone e fa sapere di aver messo un team di ingegneri, progettisti e programmatori al lavoro su un fork di OpenSSL soprannominato Boring. La nuova libreria prenderà il posto di OpenSSL almeno nei sistemi di BigG in modo da gestire internamente una versione personalizzata di OpenSSL ed evitare le problematiche riscontrate con Heartbleed.
D’altra parte, OpenSSL risponde all’impasse che l’ha investita in questi ultimi tempi ammettendo che il protocollo è pieno di difetti e di bug che non sono mai stati presi in considerazione, ha uno stile di programmazione inconsistente, ha una documentazione incompleta, è difficile da gestire, non possiede piani di sviluppo precisi e non ha strategie di sicurezza affidabili.
A questo mea culpa corrisponde il rilascio di una roadmap che indica i tempi entro i quali tutte questi difetti verranno affrontati, tempi che però si estendono nel corso dei prossimi mesi e, ancora peggio, dei prossimi anni.
OpenSSL presenta un quadro della sicurezza che sembra un colabrodo e che non è di certo aiutato dall’hype che i media montano sui titoli delle notizie. Certo è che il protocollo è poco sicuro e va modificato e aggiornato, ma d’altra parte non si può certo parlare di scoop, dato che alcuni noti quotidiani online parlavano di gravi bug OpenSSL già nel 2002 e nel 2003.