informazioni sulla nuova (CVE-2020-1968) nel protocollo TLS, soprannominato
e che in circostanze rare consente di determinare la chiave primaria predefinita (pre-master), utilizzabile per decriptare le connessioni TLS, compresi HTTPS, durante l'intercettazione del traffico transitante (MITM). Si osserva che l'attacco è estremamente complesso da attuare in pratica e ha un carattere più teorico. Per eseguire l'attacco è necessaria una configurazione specifica del server TLS e la possibilità di misurare con estrema precisione il tempo di elaborazione delle operazioni da parte del server.
Il problema è presente direttamente nella specifica TLS e riguarda solo le connessioni che utilizzano cifrature basate sul protocollo di scambio chiavi DH (Diffie-Hellman, TLS_DH_*). Con le cifrature ECDH il problema non si presenta e rimangono sicure. Sono vulnerabili solo i protocolli TLS fino alla versione 1.2 inclusa; il protocollo TLS 1.3 non è soggetto a questo problema. La vulnerabilità si manifesta in implementazioni TLS che riutilizzano la chiave segreta DH in diverse connessioni TLS (comportamento osservato in circa il 4,4% dei server della classifica Alexa Top 1M).
In OpenSSL 1.0.2e and earlier versions, the DH primary key is reused across all server connections unless the SSL_OP_SINGLE_DH_USE option is explicitly set. Starting from OpenSSL 1.0.2f, the DH primary key is reused only when using static DH ciphers ("DH-*", for example, "DH-RSA-AES256-SHA"). In OpenSSL 1.1.1, the vulnerability does not occur as the DH primary key is not used and static DH ciphers are not applied.
When using the DH key exchange method, both parties in the connection generate random private keys (referred to as key "a" and key "b"), based on which public keys (ga mod p and gb mod p) are calculated and sent. After receiving the public keys, each party computes a shared primary key (gab mod p), which is used to form session keys. The Raccoon attack allows the primary key to be determined through the analysis of information via side channels, based on the fact that TLS specifications up to version 1.2 dictate discarding all leading zero bytes of the primary key before performing computations involving it.
Includendo una chiave primaria ridotta, viene trasmessa alla funzione di generazione della chiave di sessione, basata su funzioni hash con latenze diverse nel trattamento di dati differenti. La misurazione precisa del tempo delle operazioni del server con la chiave consente all'attaccante di determinare indizi (oracle) che permettono di capire se la chiave primaria inizia con zero o meno. Ad esempio, l'attaccante può intercettare la chiave pubblica (ga) inviata dal cliente, rinviarla al server e determinare
se la chiave primaria risultante inizia con zero.
La semplice definizione di un byte di chiave non offre nulla, ma intercettando il valore "ga" trasmesso dal cliente durante il handshake della connessione, l'attaccante può generare un insieme di altri valori correlati a "ga" e inviarli al server in sessioni di handshake separate. Formulando e inviando valori "gri*ga", l'attaccante può, analizzando le variazioni di latenza nella risposta del server, determinare i valori che portano alla generazione di chiavi primarie che iniziano con zero. Determinando valori simili, l'attaccante può costituire un insieme di equazioni per e calcolare la chiave primaria originale.

In OpenSSL ci sono vulnerabilità di basso livello di pericolo, e la correzione si è ridotta a spostare nella versione 1.0.2w i crittografi problematici «TLS_DH_*» nella categoria di crittografi disabilitata per impostazione predefinita con un livello di protezione insufficiente («weak-ssl-ciphers»). Analogamente hanno fatto gli sviluppatori di Mozilla, che nella libreria NSS, utilizzata in Firefox, hanno disabilitato i set di crittografia DH e DHE. A partire da Firefox 78, i crittografi problematici sono stati disabilitati. In Chrome, il supporto per DH è stato interrotto nel 2016. Le librerie BearSSL, BoringSSL, Botan, Mbed TLS e s2n non sono suscettibili al problema, poiché non supportano i crittografi DH o le varianti statiche dei crittografi DH.
Si segnalano separatamente ulteriori problemi () nel stack TLS dei dispositivi F5 BIG-IP, che rendono l'attacco più realistico. In particolare, sono state rilevate deviazioni nel comportamento dei dispositivi in presenza di un byte nullo all'inizio della chiave primaria, che possono essere utilizzate invece di misurare il tempo di latenza esatto durante i calcoli.
Fonte: opennet.ru
