Logjam: Vulnerabilità TLS (CVE-2015-4000)
Red Hat Product Security è venuta a conoscenza di alcune problematiche relative ai collegamenti TLS che utilizzano i protocolli di scambio delle chiavi Diffie-Hellman (DH).
Informazioni supplementari
I collegamenti TLS che utilizzano i protocolli di scambio delle chiavi Diffie-Hellman sono vulnerabili ad un tipo di attacco man-in-the-middle, attraverso il quale un utente malizioso può eseguire il dowgrade dei collegamenti TLS ad una crittografia a 512-bit. Questo tipo di attacco interessa qualsiasi server in grado di supportare i cifrari DHE_EXPORT, e può essere eseguito precalcolando i valori primi a 512-bit in due insiemi comuni di parametri vulnerabili di Diffie-Hellman, le versioni httpd da 2.1.5 a 2.4.7 di Apache e tutte le versioni di OpenSSL.
Il documento relativo a Logjam affronta le problematiche relative alle chiavi DH deboli:
-
L'uso di cifrari DHE_EXPORT nel protocollo TLS o di chiavi DHE con cifrari di esportazione: queste chiavi sono da 512 bit e, con tempo a disposizione e una buona conoscenza informatica, possono essere corrotte. Questo tipo di attacco rappresenta un problema con il perfect-forward secrecy, poichè un utente malizioso è in grado di registrare il traffico e successivamente decifrarlo.
-
L'uso di valori primi precalcolati in alcuni pacchetti comuni, come ad esempio in alcune versioni di Apache httpd e sshd: questa vulnerabilità permette a un utente malizioso di precalcolare i suddetti valori primi, usarli per decifrare qualsiasi traffico che utilizza questi valori e stabilire un collegamento TLS.
-
Una falla nel protocollo TLS che permette di eseguire un downgrade da DHE a DHE_EXPORT: a questo problema è stato assegnato CVE-2015-4000.
Impatto
Sfruttando la vulnerabilità sopra descritta è possibile eseguire i seguenti attacchi:
-
Decodifica offline di connessioni DHE deboli
Questo tipo di attacco ha bisogno di un server che utilizza un protocollo di scambio per le chiavi Diffie-Hellman con parametri a 512-bit. Ciò permette ad una rete passiva di registrare la comunicazione tra un client e un server e successivamente decifrarla. -
Downgrade DHE_EXPORT e decodifica offline dell'estensione TLS False Start
Per questo tipo di attacco è necessario un server in grado di supportare le suite di cifrari DHE_EXPORT, o l'uso di parametri a 512-bit in cifrari DHE di tipo non-export. Il client deve usare una estensione TLS False Start. In questo tipo di scenario, un utente malizioso sarà in grado di registrare le comunicazioni tra un client e un server e successivamente eseguire la loro decodifica. -
Downgrade DHE_EXPORT e server man-in-the-middle
Questo è un attacco simile al precedente ma differisce da quest'ultimo poichè non sarà necessaria l'abilitazione di una estensione TLS False Start. Al contrario, l'utente malizioso potrà sfruttare la presenza un client per attendere periodi di tempo molto estesi necessari per il completamento del processo di handshake. Ciò è necessario poichè l'utente malizioso dovrà elaborare la chiave di connessione durante il processo di handshake, questo processo può richidere diversi minuti.
Soluzione
Server SSL/TLS
In un attacco MITM (man-in-the-middle) un utente malizioso cercherà di collegarsi ad un server usando le suite di cifrari DHE_EXPORT per conto del client. Questo processo sfrutta una falla nel protocollo TLS dovuta alla composizione delle suite di cifrari DHE e DHE_EXPORT. Sfruttando questa falla è possibile eseguire un attacco MINT attivo se il server supporta cifrari DHE_EXPORT.
Questo problema non interessa le versioni correnti dei pacchetti openssl disponibili con Red Hat Enterprise Linux 6 e 7, poichè essi non includono i cifrari DHE_EXPORT, o qualsiasi altra suite di cifrari d'esportazione, nel rispettivo elenco DEFAULT. (Le applicazioni che utilizzano i cifrari DEFAULT non useranno le suite di cifrari d'esportazione. Tuttavia è possibile riabilitare l'uso dei suddetti cifrari tramite una configurazione specifica dell'applicazione.) Questo scenario si verifica solo quando openssl è utilizzato da un server di rete. Per informazioni sulle problematiche relative ai client consultare quanto di seguito riportato.
La versione iniziale dei pacchetti openssl presenti in Red Hat Enterprise Linux 7 escludono la suite di cifrari d'esportazione dal DEFAULT quando utilizzati come server. Con Red Hat Enterprise Linux 6, è stata eseguita una modifica tramite l'advisory RHBA-2014:1525 rilasciato come parte di Red Hat Enterprise Linux 6.6.
Red Hat Enterprise Linux 5 supporta la suite di cifrari d'esportazione nel proprio elenco di default. Red Hat non prevede di modificare l'elenco dei cifrari predefiniti in Red Hat Enterprise Linux 5, poichè questo CVE è stato classificato con un impatto moderato. Per maggiori informazioni sugli Advisory di sicurezza affrontati nella Fase 3 di produzione, consultare la pagina Red Hat Enterprise Linux Life Cycle.
Client SSL/TLS
Poichè i client non possono controllare le suite di cifrari controllati dal server SSL/TLS, l'unico tipo di difesa è rappresentato dal rifiuto dei valori primi più piccoli presenti nel processo di handshake DHE. La necessità di usare valori primi più grandi impedisce questo tipo di attacco.
L'upstream di OpenSSL risolve le due problematiche restanti aumentando la dimensione minima dei parametri DH accettabili da un client utilizzando una dimensione di 768 bit. In questo modo anche se un attacco di tipo MITM esegue un downgrade del collegamento, il client negherà la verifica se la dimensione usata è minore di 768 bit. Una dimensione minore di 768 bit è considerata facilmente corruttibile.
Attualmente tutte le versioni dei pacchetti NSS disponibili con Red Hat Enterprise Linux accettano parametri DHE a 512-bit. Il seguente bug upstream corregge questa problematica e aumenta il limite a 1023 bit:
- https://bugzilla.mozilla.org/show_bug.cgi?id=1138554
- https://hg.mozilla.org/projects/nss/rev/ae72d76f8d24
Questa modifica è attualmente soggetta ad una verifica da parte del Red Hat Product Security, e può essere adattata ai pacchetti NSS rilevanti in Red Hat Enterprise Linux.
Openswan/Libreswan
L'attacco Logjam nei confronti di TLS non interessa IKE in Openswan e Libreswan. Il demone pluto disponibile con i pacchetti openswan e libreswan, fornisce i protocolli IKEv1 e IKEv2 per stabilire i tunnel VPN, mentre un attacco Logjam si concentra su TLS. Openswan e Libreswan dispongono di gruppi DH predefiniti superiori a MODP1024 e non supportano MODP768 o versioni minori.
Prodotti JBoss
Per maggiori informazioni su come mitigare la vulnerabilità Logjam nei prodotti di JBoss interessati, consultare Logjam: Vulnerabilità TLS (CVE-2015-4000) per prodotti JBoss
Comments