informations sur la nouvelle (CVE-2020-1968) dans le protocole TLS, surnommé
et permettant, dans de rares circonstances, de dĂ©terminer la clĂ© primaire prĂ©liminaire (pre-master), qui peut ĂȘtre utilisĂ©e pour dĂ©chiffrer les connexions TLS, y compris HTTPS, lors de l'interception du trafic en transit (MITM). Il est Ă noter que l'attaque est trĂšs difficile Ă mettre en Ćuvre dans la pratique et revĂȘt un caractĂšre plus thĂ©orique. Pour rĂ©aliser cette attaque, une configuration spĂ©cifique du serveur TLS et une capacitĂ© de mesure du temps de traitement des opĂ©rations par le serveur avec une grande prĂ©cision sont requises.
Le problÚme est directement présent dans la spécification TLS et ne concerne que les connexions utilisant des algorithmes basés sur le protocole d'échange de clés DH (Diffie-Hellman, TLS_DH_*). Avec les algorithmes ECDH, le problÚme ne se manifeste pas et ils restent sécurisés. Sont vulnérables uniquement les protocoles TLS jusqu'à la version 1.2 incluse, le protocole TLS 1.3 n'est pas affecté. La vulnérabilité se manifeste dans les implémentations TLS réutilisant la clé secrÚte DH dans différentes connexions TLS (ce comportement est observé sur environ 4,4 % des serveurs dans le classement Alexa Top 1M).
Dans OpenSSL 1.0.2e et les versions antérieures, la clé primaire DH est réutilisée dans toutes les connexions serveur, sauf si l'option SSL_OP_SINGLE_DH_USE est spécifiquement activée. à partir d'OpenSSL 1.0.2f, la clé primaire DH est réutilisée uniquement lors de l'utilisation d'algorithmes DH statiques (« DH-* », par exemple « DH-RSA-AES256-SHA »). Dans OpenSSL 1.1.1, la vulnérabilité ne se manifeste pas, car cette branche n'utilise pas la clé primaire DH et n'applique pas d'algorithmes DH statiques.
Lors de l'utilisation de la méthode d'échange de clés DH, les deux parties de la connexion génÚrent des clés privées aléatoires (appellées respectivement clé « a » et clé « b »), à partir desquelles des clés publiques (ga mod p et gb mod p) sont calculées et envoyées. AprÚs réception des clés publiques par chaque partie, une clé primaire commune (gab mod p) est calculée, qui est utilisée pour former des clés de session. L'attaque Raccoon permet de déterminer la clé primaire en analysant les informations par des canaux extérieurs, en se basant sur le fait que dans les spécifications TLS jusqu'à la version 1.2, il est stipulé qu'il faut jeter tous les zéros initiaux de la clé primaire avant de procéder aux calculs impliquant celle-ci.
Y compris une clé primaire tronquée qui est transmise à la fonction de génération de clé de session, basée sur des fonctions de hachage présentant des latences différentes lors du traitement de diverses données. La mesure exacte du temps des opérations du serveur avec la clé permet à un attaquant de déterminer des indices (oracle) qui lui permettent de juger si la clé primaire commence par zéro ou non. Par exemple, l'attaquant peut intercepter la clé publique (ga) envoyée par le client, la renvoyer au serveur et déterminer
si la clé primaire résultante commence par zéro.
La dĂ©termination dâun seul octet de clĂ© n'apporte rien en soi, mais en interceptant la valeur « ga » transmise lors de lâĂ©tablissement de la connexion par le client, lâattaquant peut former un ensemble dâautres valeurs liĂ©es à « ga » et les envoyer au serveur dans des sessions dâĂ©tablissement de connexion distinctes. En formant et en envoyant les valeurs « gri*ga », lâattaquant peut, par lâanalyse des variations de latence dans la rĂ©ponse du serveur, dĂ©terminer les valeurs qui conduisent Ă lâobtention de clĂ©s primaires commençant par zĂ©ro. En identifiant ces valeurs, l'attaquant peut Ă©tablir un ensemble d'Ă©quations pour et calculer la clĂ© primaire d'origine.

Dans OpenSSL, les vulnĂ©rabilitĂ©s Ă un niveau de dangerositĂ© faible, et la correction a consistĂ© Ă dĂ©placer dans la version 1.0.2w les chiffrements problĂ©matiques « TLS_DH_* » dans une catĂ©gorie de chiffrements dĂ©sactivĂ©e par dĂ©faut pour un niveau de protection insuffisant (« weak-ssl-ciphers »). Les dĂ©veloppeurs de Mozilla ont agi de la mĂȘme maniĂšre, ayant dans la bibliothĂšque NSS utilisĂ©e par Firefox, les ensembles de chiffrements DH et DHE. Ă partir de Firefox 78, les chiffrements problĂ©matiques sont dĂ©sactivĂ©s. Dans Chrome, le support de DH a Ă©tĂ© interrompu depuis 2016. Les bibliothĂšques BearSSL, BoringSSL, Botan, Mbed TLS et s2n ne sont pas affectĂ©es par le problĂšme, car elles ne prennent pas en charge les chiffrements DH ou les variantes statiques des chiffrements DH.
Des problĂšmes supplĂ©mentaires sont notĂ©s () dans la pile TLS des appareils F5 BIG-IP, rendant l'attaque plus rĂ©aliste. En particulier, des Ă©carts de comportement des appareils ont Ă©tĂ© dĂ©tectĂ©s lorsque un octet nul se trouve au dĂ©but de la clĂ© primaire, ce qui peut ĂȘtre utilisĂ© Ă la place de la mesure prĂ©cise du temps de latence lors des calculs.
Source : opennet.ru
