Barboncino è una razza di cane con le zampe che ricordano lo zucchero filato. È intelligente e un punto fermo regolare nelle mostre canine. Anche i cani più amichevoli hanno la propensione a mordere. Ora vediamo tutti i tipi di avvisi di sicurezza e snafus come heartbleed e shell shock!!! L'ultimo arrivato è POODLE.
Tutto è iniziato quando un team di Google ha sviluppato e testato un attacco denominato BARBONCINO (Padding Oracle On Downgraded Legacy Encryption) che ha scoperto una vulnerabilità nel protocollo Secure Sockets Layer (SSL) versione 3 o in breve SSLv3.
SSLv3 è una crittografia obsoleta ma ancora utilizzata sia nei browser Web più vecchi che in quelli nuovi. (SSLv3 è un protocollo vecchio di 18 anni che è stato sostituito dal protocollo TLS)
POODLE tenta di forzare la connessione tra il tuo browser web e il server per effettuare il downgrade a SSLv3. L'attacco POODLE sfrutta la funzionalità di negoziazione della versione del protocollo incorporata in SSL/TLS per forzare l'uso di SSL 3.0 e quindi utilizza questa nuova vulnerabilità per decrittografare il contenuto selezionato all'interno della sessione SSL. La decrittazione viene eseguita byte per byte e genererà un gran numero di connessioni tra il client e il server.
Come lo fanno?
Un utente malintenzionato può eseguire un agente JavaScript su un sito Web per fare in modo che il browser della vittima invii cookie con richieste HTTPS https://xyz.com, intercettare e modificare i record SSL inviati dal browser in modo tale che ci sia una possibilità non trascurabile che xyz.com accetti il record modificato. Se il record modificato viene accettato, l'aggressore può decrittografare un byte dei cookie. Biscotti
TLS 1.0 e le versioni più recenti eseguono una convalida più solida dei dati decrittografati e come tali non sono soggetti allo stesso problema. Ma per SSLv3 non esiste una soluzione.
Quanto è grave tutto questo e che effetto ha su di te?
Le connessioni sicure utilizzano principalmente TLS (il successore di SSL), la maggior parte degli utenti diventa vulnerabile perché i browser Web e i server verranno sottoposti a downgrade a SSLv3 se si verificano problemi nella negoziazione di una sessione TLS. La maggior parte delle implementazioni SSL/TLS rimangono retrocompatibili con SSL 3.0 per interagire con i sistemi legacy nell'interesse di un'esperienza utente fluida. Un utente malintenzionato che esegue un attacco man-in-the-middle potrebbe attivare un downgrade del protocollo a SSLv3 e sfruttare questa vulnerabilità per decrittografare un sottoinsieme della comunicazione crittografata ed estrarne informazioni. La vulnerabilità POODLE funziona solo se il browser del client e la connessione del server supportano entrambi SSLv3.
Come verificare se il mio browser è vulnerabile?
Vai al sito web poodletest.com per testarlo. Se vedi un barboncino, sei vulnerabile. Se vedi uno Springfield Terrier, sei al sicuro.
http://www.bolet.org/TestSSLServer/
http://code.google.com/p/sslaudit/
Cosa posso fare per evitare questo? Vaccino per barboncini?
Come utente finale, disabilita il supporto SSLv3 nel tuo browser web. Se è disabilitato, POODLE NON potrà effettuare il downgrade del tuo browser ad esso. Per incoraggiare le migliori pratiche di sicurezza, consiglio vivamente di utilizzare la versione più alta di TLS. Per la maggior parte dei browser dovrebbe essere TLS 1.2.
Ciò influenzerà la mia esperienza di navigazione?
Ciò avrà un impatto su alcuni browser meno recenti. I siti Web che hanno già interrotto il supporto per SSLv3 diventeranno incompatibili con i browser e i sistemi operativi meno recenti. I vecchi browser come Internet Explorer 6 in esecuzione su Windows XP o versioni precedenti vedranno un errore di connessione SSL.
SSLv3 sarà disabilitato per impostazione predefinita nelle versioni future di molti browser Web.
Come disabilitarlo sul server?
CloudFlare ha annunciato che disabiliterà SSLv3 per impostazione predefinita dai suoi server. Lo stesso hanno fatto molti fornitori di servizi.
Se stai utilizzando Apache, apporta semplicemente questa modifica alla tua configurazione tra le altre direttive SSL:
Protocollo SSL Tutti -SSLv2 -SSLv3
Ciò disabilita le versioni 2 e 3 del protocollo SSL.
Come possono gli sviluppatori impedirlo?
.NETTO
Utilizzare la proprietà SecurityProtocol per abilitare TLS.
Per dettagli su come utilizzare la proprietà SecurityProtocol, visitare:
http://msdn.microsoft.com/en-us/library/system.net.servicepointmanager.securityprotocol(v=vs.110).as…
http://msdn.microsoft.com/en-us/library/system.net.securityprotocoltype(v=vs.110).aspx
Ad esempio, per forzare TLS 1.2 in un'implementazione C# .NET, dovresti utilizzare:
System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
GIAVA
NOTA: TLS 1.2 è stato supportato per la prima volta in JDK 7 e sarà predefinito in JDK 8: https://blogs.oracle.com/java-platform-group/entry/java_8_will_use_tls
Utilizza il metodo SSLContext.getInstance per abilitare TLS.
Per dettagli su come utilizzare il metodo SSLContext.getInstance, visitare:
http://docs.oracle.com/javase/7/docs/api/javax/net/ssl/SSLContext.html#getInstance(java.lang.String)
http://docs.oracle.com/javase/7/docs/api/javax/net/ssl/SSLContext.html#getInstance(java.lang.String,…
http://docs.oracle.com/javase/7/docs/technotes/guides/security/StandardNames.html#SSLContext
Ad esempio, per utilizzare il provider del livello di sicurezza predefinito per abilitare TLS, dovresti utilizzare:
oggetto = SSLContext.getInstance("TLS");
Per forzare TLS 1.2 durante l'utilizzo di Java Secure Socket Extension (JSSE) di Sun, dovresti utilizzare:
oggetto = SSLConnect.getInstance("TLSv1.2", "SunJSEE");
arricciare
Utilizza l'opzione CURLOPT_SSLVERSION per abilitare TLS.
Per dettagli su come utilizzare l'opzione CURLOPT_SSLVERSION, visitare:
http://curl.haxx.se/libcurl/c/CURLOPT_SSLVERSION.html
Ad esempio, per forzare cURL a utilizzare TLS 1.0 o versione successiva, dovresti utilizzare:
C/C++/C#:
curl_easy_setopt(curl, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1);
PHP:
curl_setopt($curl_request, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1);
In cURL 7.34.0 o successivo, per forzare TLS 1.2, dovresti utilizzare:
C/C++/C#:
curl_easy_setopt(curl, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1_2);
PHP:
curl_setopt($curl_request, CURLOPT_SSLVERSION, CURL_SSLVERSION_TLSv1_2);
RailsCarma Il team si è preparato in modalità di difesa totale per tappare tutti i buchi lasciati aperti da questa vulnerabilità. Abbiamo applicato le patch necessarie alle nostre applicazioni per disabilitare le opzioni SSL/TLS non sicure.
Riferimenti
http://arstechnica.com/security/2014/10/ssl-broken-again-in-poodle-attack/
https://www.imperialviolet.org/2014/10/14/poodle.html
http://blog.cryptographyengineering.com/2014/10/attack-of-week-poodle.html
https://blog.mozilla.org/security/2014/10/14/the-poodle-attack-and-the-end-of-ssl-3-0/
http://www.theregister.co.uk/2014/10/16/poodle_analysis/
http://www.theregister.co.uk/2014/10/14/google_drops_ssl_30_poodle_vulnerability/
http://www.pcworld.com/article/2834015/security-experts-warn-of-poodle-attack-against-ssl-30.html
http://www.alertlogic.com/blog/poodle-man-middle-attack-sslv3/
https://www.us-cert.gov/ncas/alerts/TA14-290A
https://www.openssl.org/~bodo/ssl-poodle.pdf
http://www.makeuseof.com/tag/stop-poodle-from-biting-your-browser/
https://community.qualys.com/blogs/securitylabs/2014/10/15/ssl-3-is-dead-killed-by-the-poodle-attack
Disabilitare il barboncino
https://www.linode.com/docs/security/security-patches/disabling-sslv3-for-poodle