I social network, le email, il commercio elettronico, i servizi di messaggistica istantanea: sono solo alcuni esempi di servizi e applicazioni strategiche che ciascuno di noi utilizza quotidianamente. Si tratta di servizi estremamente diversificati, che trattano tipologie diverse di dati ed offrono funzioni più o meno complesse, ma che spesso sono realizzati utilizzando componenti open source. Se per la realizzazione di database o per lo sviluppo delle applicazioni Web sono disponibili diversi framework, non esistono invece molte opzioni per l’implementazione dei protocolli e dei meccanismi crittografici necessari a garantire la riservatezza e l’integrità dei dati e l’autenticità delle transazioni.
Fra gli strumenti oggi a disposizione della comunità open source è di particolare rilievo OpenSSL, una eccellente libreria software che fornisce un’ampia collezione di funzioni crittografiche che spaziano dai meccanismi di base necessari alla generazione delle chiavi, alle primitive per la gestione dei protocolli SSL/TLS, fino ai servizi per l’identificazione e la negoziazione delle chiavi. L’alta qualità del prodotto è testimoniata dalla sua ampia diffusione: poiché i web server Apache e nginx si avvalgono di OpenSSL, è stato stimato che questa libreria fosse utilizzata nel 2014 dal 66% dei siti web attivi.
La grande diffusione di OpenSSL è uno dei fattori che ha contribuito all’enorme impatto degli attacchi di cui è stato oggetto e delle vulnerabilità che lo hanno caratterizzato:
- la vulnerabilità più clamorosa ad oggi nota è hearthbleed, resa pubblica il 7 aprile 2014. Hearthbleed è un errore di implementazione, presente nelle versioni di OpenSSL rilasciate tra dicembre 2011 e aprile 2014, che ha permesso a chiunque di forzare le release compromesse e di ottenere le credenziali degli utenti e le chiavi segrete utilizzate per cifrare il traffico, pregiudicando così la riservatezza e l’autenticità della comunicazione e consentendo attacchi del tipo man-in-the-middle. Si stima che la vulnerabilità abbia interessato mezzo milione di siti web, a cui occorre aggiungere diversi servizi di email, di messaggistica istantanea e di Virtual Private Network ampiamente diffuse in contesti aziendali;
- recentemente sono stati portati a termine attacchi detti TEMPEST o side channel, che permettono di ricostruire le chiavi segrete utilizzate per la cifratura analizzando le performance del sistema e misurandone ad esempio i tempi di esecuzione o il consumo di energia;
- poche settimane fa è stato reso pubblico l’attacco DROWN che, come il precedente FREAK, consente di imporre un downgrade per utilizzare un algoritmo di cifratura poco robusto ed accedere così a dati sensibili come password e numeri di carta di credito degli utenti. I ricercatori che hanno reso noto l’attacco ritengono che il 33% dei server HTTPS sia vulnerabile a DROWN.
Gli attacchi ad OpenSSL hanno spesso sfruttato la presenza di vulnerabilità o di errori di implementazione: i meccanismi crittografici sono perfettamente sicuri quando sono descritti tramite teoremi di matematica applicata, ma diventano estremamente vulnerabili una volta tradotti in crittosistemi software. La trasposizione della teoria nella pratica introduce infatti errori di programmazione, limitazioni tecniche, pratiche insicure e non conformi alle assunzioni teoriche. D’altra parte, i potenziali attaccanti interessati ad identificare le vulnerabilità sono estremamente numerosi e includono ricercatori, hacker, agenzie di intelligence. Il caso di OpenSSL è emblematico da questo punto di vista: i contributori attivi a marzo 2016 sono circa una ventina, probabilmente supportati in modo occasionale da qualche membro della comunità open source. Sul loro lavoro, spesso volontario, poggia la sicurezza di una larga parte di Internet. Il bug hearthbleed è stato introdotto in OpenSSL da uno studente volontario che ha contribuito al progetto nel 2011, non è stato notato dall’unica persona che ha verificato quella porzione di codice, ed è rimasto inosservato per 3 anni.
Superare questi problemi è possibile e conveniente per tutti. Sarebbe bene investire sul lavoro di tecnici in grado di supportare in modo continuativo gli sviluppi ed il mantenimento di questi sistemi software. Con un modesto investimento, sia le imprese che le Pubbliche Amministrazioni centrali potrebbero operare in questo senso con evidenti vantaggi:
- nel breve termine, si apporterebbe un contributo significativo allo sviluppo ed al testing di librerie di base su cui si basa una parte importante della nostra economia, con l’obiettivo di concorrere alla riduzione di vulnerabilità;
- nel medio-lungo termine, si sosterrebbe la formazione on the job di tecnici con competenze estremamente avanzate e specialistiche nel settore della sicurezza, sempre più necessarie nel mercato dell’Information Technology, con evidenti ricadute sul nostro sistema economico e industriale.
In questa direzione si è recentemente mosso il governo olandese, impegnandosi a sostenere il progetto OpenSSL con una donazione di 500.000 euro.
Facebook Comments