Il 1 marzo 2016, i ricercatori di sicurezza hanno annunciato un nuovo exploit di vulnerabilità che coinvolge un vecchio protocollo di sicurezza, SSLv2, che colpisce fino al 33% dei server web. Anche i server Web che non consentono connessioni SSLv2 potrebbero essere vulnerabili se la chiave privata RSA utilizzata sul server viene riutilizzata su altri server. E, come sembra essere de rigueur per le principali vulnerabilità al giorno d'oggi, viene fornito con un nome semplice e inquietante:DROWN (che è certamente molto più facile da ricordare e fare riferimento rispetto alla sua designazione ufficiale di CVE-2016-0800).
.
Come funziona DROWN
DROWN (D crittografare R SA utilizzando O bsolete e W eakened eN crittografia) richiede che un utente malintenzionato abbia solo accesso o capacità di annusare il traffico di rete e la capacità di interrogare un server vulnerabile.
Uno scenario di esempio coinvolgerebbe un utente malintenzionato in una posizione Man in the Middle (MitM) e in grado di vedere un client avviare una connessione TLS a un server Web per stabilire una sessione HTTPS sicura. L'autore dell'attacco copia questa sessione crittografata, inclusa la negoziazione della crittografia che la avvia. L'attaccante quindi esegue la negoziazione della chiave iniziale ed esegue una variante di un vecchio attacco alle connessioni SSLv2 noto come attacco Bleichenbacher (o attacco da un milione di messaggi) su un altro server che è disposto a utilizzare SSLv2 e che utilizza la stessa chiave privata RSA di il server originale. A causa del modo in cui SSLv2 gestisce la generazione delle chiavi di sessione, questo attacco potrebbe consentire a un utente malintenzionato di sfruttare i punti deboli di SSLv2 (che è considerato obsoleto e insicuro da quasi 20 anni) per ottenere le chiavi negoziate tramite la connessione TLS più sicura.
I ricercatori sono stati in grado di "decodificare un handshake TLS 1.2 utilizzando RSA a 2048 bit in meno di 8 ore utilizzando Amazon EC2, al costo di $ 440". Sfruttando una vulnerabilità patchata di recente (a marzo 2015) in OpenSSL, hanno duplicato risultati simili "in un minuto su una singola CPU".
.
Sono interessato?
I ricercatori che hanno scoperto questo sfruttamento hanno uno strumento online che può farti sapere se il tuo dominio o IP è vulnerabile. Questo strumento presenta risultati positivi estratti dalle scansioni eseguite nel febbraio 2016, quindi non rappresenta dati in tempo reale. Se hai aggiornato di recente la tua versione di OpenSSL o hai apportato modifiche che potrebbero risolvere la vulnerabilità di DROWN, puoi utilizzare l'utilità di scansione che hanno creato per aiutarti a verificare la tua esposizione.
.
Mitigazione dell'esposizione all'ANNEGGIAMENTO
Poiché SSLv2 è il vettore principale per questo attacco, rimuovere tale protocollo come opzione durante qualsiasi negoziazione di connessione sicura è il primo passo. Consulta la documentazione per le tue applicazioni che utilizzano SSL/TLS per le impostazioni di configurazione specifiche che disabilitano SSLv2 (e SSLv3, se è per questo). Le applicazioni interessate possono includere server Web (Apache, Nginx, ecc.), server di posta (ad es. Postfix) e qualsiasi servizio orientato alla connessione, in particolare qualsiasi cosa che utilizzi la libreria OpenSSL.
Inoltre, gli utenti OpenSSL dovrebbero aggiornare il proprio OpenSSL alla versione 1.0.2g o 1.0.1s, a seconda che si stia utilizzando rispettivamente la versione 1.0.2 o 1.0.1. Alcune versioni precedenti di OpenSSL possono comunque consentire lo sfruttamento di questo attacco tramite l'uso di crittografie di esportazione deboli anche se sono esplicitamente disabilitate, quindi, ove possibile, l'aggiornamento è l'opzione migliore:queste versioni contengono anche patch che risolvono altre vulnerabilità non correlate a DROWN.
Infine, una soluzione più affidabile sarebbe quella di utilizzare una chiave privata univoca su ogni server che deve eseguire TLS. Con alcuni certificati, in particolare i certificati OV ed EV, questa opzione comporta costi aggiuntivi e può essere valida per tutte le implementazioni o situazioni.
.
.