No, non è un virus. No, non si chiama Heartbeat, come hanno titolato diversi giornali italiani ieri. Si chiama HeartBleed, emorragia cardiaca, e il nome rende merito alla problematica.
La cosa è molto complessa, anche per gli addetti ai lavori, sia per come è successa, sia per i risvolti che porta, e non parlo di risvolti tecnici ma bensì etici. Facciamo un po’ di ordine però.
Cos’è OpenSSL
OpenSSL è un software opensource, una implementazione di SSL e TLS, utilizzato per stabilire un layer di criptazione, generare, certificare e gestire gli stessi. È praticamente uno standard de facto del mercato e il suo codice è incluso nella stragrande maggioranza di computer e dispositivi, software e firmware.
Ogni volta che fate un acquisto su Internet e vedete il “rassicurante” lucchettino verde, usate OpenSSL nella stragrande maggioranza dei casi.
Tutte le volte che vi collegate a FaceBook, usate OpenSSL, per esempio.
Dove è usato
Il 90% dei certificati commerciali è emesso con OpenSSL. Si tratta quindi di un pezzo importante, se non fondamentale, per la comunicazione “sicura”.
Uso le virgolette perché in realtà la criptazione non garantisce automaticamente sicurezza, gli endpoint vanno comunque protetti. Ma questo è un’altro discorso. Comunque rimane il fatto che è dovunque, è usatissimo.
È presente praticamente in quasi ogni dispositivo che si collega ad Internet ed è anche usato per costruire VPN da molti software, come per esempio OpenVPN.
E che quindi, voi penserete ovviamente, sarà controllato e sviluppato da un team stellare di esperti di criptoanalisi. Il codice è aperto e verrà sempre e comunque controllato da un team esterno in doppio controllo, giusto? Sbagliato.
Chi lo sviluppa
È sviluppato da 15 sviluppatori “volontari”, che non hanno budget ne le risorse adeguate per manutenere e gestire una cosa di questo livello.
Inoltre, non è assolutamente nato per fare quello che fa oggi. E dall’industria di settore, sopratutto quelle 3 o 4 aziende che emettono il 90% dei certificati al mondo (e che si stanno strofinando le mani per il business della riemissione, altri soldi per loro) non scuciono un soldo per lo sviluppo dello stesso.
È un pessimo esempio di come funziona l’opensource.
È colpa loro?
Questo puntare il dito agli sviluppatori responsabili del bug ha poco senso, (anche se c’è qualcuno nel settore come Theo De Raadt che dice chiaramente che la problematica era visibile e che se il team fosse stato responsabile avrebbe potuto evitare questo bug semplicemente attentendosi agli standard preesistenti).
OpenSSL infatti è una robina da più di un milione di righe di codice e quindi è più che comprensibile che una cosa del genere non salti all’occhio subito.
Certo, come tutti i bug, si sarebbero potuti evitare, ma è umano, e io sinceramente non me la sento di prendermela con loro. D’altra parte, se hai scelto di utilizzare il loro codice, ne accetti le conseguenze.
Siamo tutti spiati?
Il vero problema è lo scenario che apre l’ennesima vulnerabilità sui protocolli di criptazione.
Dico l’ennesima perché quest’anno sono già usciti diversi bug che riguardano altre tecnologie di criptazione (GnuTLS 1 mese fa per esempio), che hanno coinvolto sia l’ambiente GNU/OpenSource che alcune major (per esempio Apple).
Non è un caso che questi bug vengano trovati proprio ora. Anche se siamo in buona fede sull’origine dell’errorre, come dicevamo, il fatto che repentinamente nell’ultimo periodo vengano trovate diverse falle in sistemi in produzione da anni, è abbastanza strano.
E la motivazione è anche semplice. NSA. Snowden. Piccolo passo indietro. Nel Settembre 2013 l’NSA, dopo lo scandalo causato da Snowden, dice che la criptazione è fondamentalmente insicura, che è stata aggirata od aperta, ma che comunque può essere considerata affidabile e che si può usare.
Certo va migliorata. Ma, va tutto bene così. Continuate ad usarla. Sul serio eh, mi raccomando, usatela.
- NSA Leak Leaves Crypto-Math Intact but Highlights Known Workarounds (technologyreview.com)
- The NSA Is Breaking Most Encryption on the Internet (schneier.com)
Avete realizzato? Questi bug esistono da tempo, e forse tanti altri, vengono sfruttati da tempo, e nessuno al mondo fondamentalmente se ne era accorto.
Il codice di OpenSSL è aperto e pubblico.. e nessuno se ne era accorto.
Il team di sviluppo non ha le forze per gestire una cosa come questa, che date la quantità di implicazioni che ha sulla sicurezza di ognuno di noi, dovrebbero essere ingenti.
Questo dovrebbe farvi capire anche a volte che livelli di approssimazione raggiungono sistemi che si credono praticamente infallibili. Trust no one.
Ora tutti si sono svegliati e si sono resi conto di essere spiati. Ma non c’è niente di diverso a prima. Ovviamente è partita in tromba la frangia complottista che dice addirittura che le vulnerabilità sarebbero potute essere inserite da una spia dell’NSA all’interno del team di sviluppo di OpenSSL, ma di fatto non cambia la sostanza: la tecnologia è insicura, perché alla sua base c’è la cosa più insicura del mondo, l’uomo.
E questa è una costante che non cambierà mai.
La sicurezza non è un prodotto. Non è un protocollo. Non si vende.
È una forma mentis.
Aspetti tecnici
Per i più tecnici c’è da dire che questa vulnerabilità è relativamente “nuova” e solo i dispositivi e le distribuzioni software di ultima generazione ne soffrono (fondamentalmente quelli più connessi ad Internet come i cellulari, computer, server ed apparecchiature di rete), ma è anche vero che il numero di software coinvolti è spaventosamente alto, da git a wget, passando per software gestionali, database, fino ai firmware di apparecchiature core come router Juniper e Cisco.
È presente solo in una release relativamente nuova e inclusa da poco ma rimane comunque una problematica pericolosa.
La vignetta di XKCD è perfetta per spiegare ad un profano il concetto ma estremizzata il fatto che sia possibile recuperare dati sensibili come le chiavi. È sicuramente possibile, ma la probabilità rimane bassa.
Ci sono attualmente decine di sistemi online che permettono di verificare se il proprio sistema è vulnerabile al bug ma oltre essere concettualmente pericoloso (segnalare ad uno sconosciuto se si ha una falla nel sistema non è molto furbo) serve a poco in quanto la cosa dipende principalmente dai servizi che si utilizzano tutti i giorni e che non dipendono direttamente da noi.
Cambiare le password è sempre una buona cosa, ma farlo in massa per colpa di questo bug, ha poco senso. Molto meglio abilitare l’autenticazione a 2 fattori con verifica telefonica.
Cosa è cambiato rispetto a prima?
Nulla o tutto. Dipende. Di certo la vostra privacy su Internet è zero. Esattamente quanto prima. Ma ora queste vulnerabilità verranno chiuse e non saranno più sfruttabili.
Nel frattempo c’è una finestra di tempo in cui “tutto il mondo” è a conoscenza di questa falla e molti sistemi non saranno aggiornati, e forse non lo saranno mai. La falla è pericolosa, sopratutto per come è nata e per come è stata sicuramente già sfruttata da tempo, ma di fatto l’unica vera minaccia è rappresentata dal fatto che ora tutti sono a conoscenza di questa, non più solo uno sparuto gruppo di persone.
Questo però paradossalmente porta alla reazione sistematica e quindi all’aggiornamento di tutti i sistemi ove possibile, quindi ad un miglioramento generale della sicurezza, sopratutto percepita.
O almeno fino al prossimo bug. Di fatto è possibile che nei prossimi mesi vedremo un sacco di leak di dati. Nell’ambiente underground è già un fiorire di liste di siti vulnerabili, che vengono già costantemente presi di mira per cercare di recuperare qualche informazione utile.
È importante però capire che la natura di questo bug ha più aspetti politici e sociali che tecnici.
È il risultato di un pessimo sfruttamento del lavoro di pochi volenterosi, snaturandolo e costruendoci sopra un business miliardario a vantaggio di pochi senza nessun interesse nel voler migliorare la tecnologia e garantire veramente la sicurezza delle comunicazioni.
[spoiler]
No comment.
[/spoiler]