L’équipe en charge d’OpenSSL propose depuis peu un correctif colmatant une importante brèche de sécurité. Le temps de correction a été particulièrement court, la vulnérabilité ayant été signalée le 12 janvier. Lors de l’avertissement, une rustine partielle était cependant déjà en cours de validation.
L’OpenSSL Software Foundation a mis à disposition hier une nouvelle version d’OpenSSL. Cette mouture règle un sérieux problème de sécurité qui, s’il devait être exploité, permettrait de déchiffrer les communications transitant sur une connexion HTTPS ou n’importe quel canal TLS (Transport Layer Security). La faille est d’autant plus dangereuse qu’OpenSSL est largement utilisé.
Un problème de réutilisation des clés
Cependant, son exploitation n’est pas simple à proprement parler. Plusieurs conditions doivent en effet être réunies, dont la plus importante est l’utilisation obligatoire de la version 1.0.2, les autres n’étant pas sensibles à cette faille. Les applications se servant d’OpenSSL 1.0.2 doivent en outre utiliser des groupes basés sur le DSA (Digital Signature Algorithm) pour générer des clés éphémères fondées sur le modèle d’échange Diffie-Hellman. Mais, par défaut, ce comportement rend les serveurs vulnérables à des attaques visant la récupération des clés car ils réutilisent les mêmes nombres premiers à chaque fois.
Dans le cas où ces conditions sont réunies, des attaquants pourraient bombarder de requêtes un serveur ou un ordinateur personnel. À force d’insister, la montagne de calcul finit par révéler des fragments d’informations, qui peuvent éventuellement être recombinés via le « théorème des restes chinois », formant alors la clé de déchiffrement.
De nombreuses applications n'utilisent pas la configuration par défaut
Mais, comme indiqué, la faille n’est pas simple à exploiter. De nombreuses applications utilisent un autre type de configuration par défaut, à l’instar du Web Server d’Apache. Des bibliothèques dérivées d’OpenSSL, comme BoringSSL et LibreSSL, n’y sont pas non plus sensibles. Cependant, l’ensemble peut être vulnérable si un utilisateur se sert d’une suite cryptographique statique, favorisant ainsi la réutilisation des clés.
La faille, portant la référence CVE-2016-0701, a fait hier l’objet d’un billet de blog de la part de son découvreur, Antonio Sanso, chercheur chez Adobe. Elle a été signalée le 12 janvier de manière privée, montrant ainsi la célérité avec laquelle l’équipe d’OpenSSL s’est chargée de développer le correctif. Il est possible toutefois que le travail ait été grandement facilité par un patch partiel en cours de validation, car certains aspects de la faille avaient découvert un peu plus tôt. C’est toutefois le travail de Sanso qui a montré l’ampleur du problème.
La version 1.0.2f corrige le problème
Une nouvelle version d’OpenSSL est donc disponible au téléchargement. Estampillée 1.0.2f, elle corrige la faille et active également l’option « SSL_OP_SINGLE_DH_USE » par défaut (en ne laissant pas la possibilité de la désactiver), permettant à la génération de clés d’utiliser des nombres premiers différents à chaque fois. Dans tous les cas, cela peut avoir des impacts sur les performances prévient OpenSSL.
Notez dans le même temps que l’OpenSSL Software Foundation a également publié la mouture 1.0.1r qui corrige d’autres soucis de sécurité. Elle rappelle dans un message que cette version 1.0.1 verra dans tous les cas son support s’arrêter au 31 décembre 2016. Il n’y aura plus aucun correctif de sécurité pour cette branche, la fondation enjoignant les utilisateurs à basculer sur la 1.0.2 dès qu’ils le pourront.