Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Bug Hearthbleed in OpenSSL: cosa c'è da sapere

Il bug Hearthbleed ha dimostrato una vulnerabilità gravissima in OpenSSL che ha messo a rischio milioni di siti Web: ecco cosa c'è da sapere.
Il bug Hearthbleed ha dimostrato una vulnerabilità gravissima in OpenSSL che ha messo a rischio milioni di siti Web: ecco cosa c'è da sapere.
Link copiato negli appunti

In questi giorni la discussione su Heartbleed, ritenuto dagli addetti ai lavori uno dei bug più pericolosi di sempre, è diventata prepotentemente "mainstream" su tutti i media. Vediamo di descrivere sinteticamente il fenomeno, cercando anche di fornire le informazioni e gli strumenti giusti.

Il bug Heartbleed

Heartbleed ("Cuore sanguinante") è il nome dato ad un gravissimo bug di OpenSSL, scoperto e comunicato lunedì 7 aprile 2014 quasi contemporanemanete da tre security engineers del team Codenomicon (identificati come Riku, Antti e Matti) e un esperto di Google Security, Neel Mehta. Il bug, classificato su CVE (Common Vulnerabilities and Exposures) con il codice CVE-2014-0160, riguarda l'implementazione della TLS e DTLS Heartbeat Extension" in OpenSSL, ovvero quel meccanismo di keep-alive in cui il client invia al server un payload di dati arbitrari e il server gli risponde con una copia esatta di quel payload, al fine di confermare che la connessione è OK.

Vista l'amplissima diffusione di OpenSSL si stima che siano stati colpiti i due terzi dei server presenti su Internet, a patto che abbiano l'estensione "Heartbeat" installata e abilitata. Tra questi compaiono, come è noto, colossi come Google, Facebook, Dropbox, Yahoo e molti altri. Non sono affetti invece (poichè non utilizzano OpenSSL), ad esempio Microsoft, Amazon, Linkedin e Paypal.

La falla risiede in un mancato controllo della dimensione dell'input da parte di un utente, sfruttando la quale un attaccante è in grado di "convincere" OpenSSL ad effettuare un dump di memoria di 64KB, copiando molti più dati di quelli necessari e inviarli all'attaccante. Va da sè che in questi 64KB può esserci di tutto, tra cui session cookies e credenziali di accesso in chiaro degli utenti loggati in quel momento sul server!

Le versioni di OpenSSL affette dal bug sono quelle da 1.0.1 alla 1.0.1f, mentre quelle precedenti alla 1.0.1 e successive alla 1.0.1f non sono vulnerabili. Di conseguenza, i sistemi operativi interessati dal bug sono sostanzialmente alcune distro Linux ben definite che potrebbero recare la versione vulnerabile di OpenSSL, elencate sul sito heartbleed.com oltre a tutte le altre informazioni utili sulla falla.

Quali informazioni possono essere ottenute sfruttando Hearthbleed

Innanzitutto va detto che ad essere vulnerabili non sono solo i web server ma, in generale, tutti gli apparati che consentono l'implementazione di OpenSSL, tra cui troviamo certamente apparati di rete (router, wireless access point, etc.) e smartphone. Con riferimento agli apprati di rete, ad esempio, sia Cisco che Juniper hanno comunicato la lista di prodotti affetti dalla vulnerabilità e stanno lavorando al rilascio delle relative fix. Per quanto riguarda gli smartphone, invece, esistono delle app reperibili da Google Play per il test del proprio device al fine di verificare se è vulnerabile o meno, come ad esempio Heartbleed Detector per Android (i dispositivi Apple non sono affetti dalla vulnerabilità). Le informazioni potenzialmente ottenibili, come già accennato sopra sono:

  • session-cookies
  • userid e password
  • SSL private keys

In particolare, la possibilità per un attaccante di poter estrarre la chiave privata che il server sta usando per decriptare tutto il traffico di rete, come dimostrato nella CloudFlare Challenge apre una vera e propria voragine di sicurezza, in quanto permette all'attaccante di leggere in chiaro e/o alterare tutto il traffico ritenuto "sicuro". In questo modo l'attacker può ad esempio carpire credenziali di accesso e dati riservati, numeri e CVV di carte di credito e quant'altro, "impersonando" in tutto e per tutto il server vittima, come in un attacco di session-hijacking.

Come verificare se si è vulnerabili a Hearthbleed

Una delle prime Proof-Of-Concept è stata fornita da Jared Stafford (@jspenguin), che ha pubblicato uno script in Python in grado di verificare se un server è vulnerabile o meno, a cui poi vari altri sviluppatori hanno apportato delle modifiche, come ssltest. Attraverso il sito web filippo.io/Heartbleed sviluppato dall'italiano Filippo Valsorda è possibile testare velocemente un host semplicemente inserendo l'URL o l'hostname. Lo stesso autore ha anche sviluppato script di test in Go, disponibili qui.

Cosa fare in caso di server vulnerabile a Hearthbleed

In linea di principio, la prima cosa da fare lato server è aggiornare la versione di OpenSSL almeno alla 1.0.1g, come riportato sul sito di OpenSSL in un advisory del 7 aprile 2014. Il passo successivo consiste nel rigenerare la coppia di chiavi crittografiche ed emettere nuovi certificati di cifratura, dopo aver revocato quelli in uso. Lato utente, invece, è fortemente consigliato cambiare la password di accesso ai servizio erogati dal server.

Conclusioni

Anche se ufficialmente viene negato, si fanno sempre più insistenti i rumors secondo cui la NSA (National Security Agency) era già a conoscenza della vulnerabilità da un paio di anni e l'avrebbe utilizzata per violare server in giro per il mondo. Tra l'altro, come dettagliato in un articolo del New York Times del 12 aprile, la Casa Bianca avrebbe consentito ad NSA comunque di non rivelare l'esistenza della falla in caso di "una chiara necessità di sicurezza nazionale o di applicazione della legge". Ovviamente, NSA smentisce. Resta il fatto che siamo certamente di fronte ad una delle vulnerabilità più gravi della storia di Internet e che certamente continuerà a far parlare di sè anche nei prossimi mesi.

Ti consigliamo anche