DROWN : une attaque contre SSL/TLS qui aurait dû être évitée
Un peu d’histoire…
Dans les années 1990, Netscape édite un navigateur qui a le vent en poupe « Netscape Navigator ». En parallèle, l’entreprise pionnière du web écrit les spécifications d’un protocole permettant d’assurer la sécurité des informations échangées entre un logiciel client, un navigateur web par exemple, et un serveur, donnant ainsi naissance à la famille SSL.
Les spécifications du protocole SSLv2 sont ainsi publiées en février 1995, suivies en 1996 des spécifications du protocole SSLv3, améliorant la sécurité de son prédécesseur. Ces protocoles fêtent cette année leurs 21ème et 20ème anniversaires, un âge bien avancé dans le domaine de la sécurité informatique !
SSL : des protocoles dépassés à bannir !
Au cours des dernières années, de sérieux défauts de conception ont été découverts. L’utilisation d’algorithmes faibles (signature, chiffrement, chaînage), la non protection à l’initialisation, renégociation ou reprise de session contre les attaques de « l’homme du milieu », l’utilisation d’une unique clé pour assurer l’intégrité et la confidentialité des échanges sont quelques exemples de failles qui peuvent conduire à une réelle dégradation du niveau de sécurité.
Parallèlement, les attaques contre les protocoles SSL et leurs implémentations (OpenSSL, NSS, SChannel, …) se sont fortement perfectionnées et intensifiées : attaque de la renégociation, BEAST, BREACH, CRIME, FREZE, Ghost, Heartbleed, Logjam, POODLE, … la liste est longue !
En réaction à cette situation à risque, l’Internet Engineering Task Force (IETF), qui regroupe de grands noms de l’informatique, a publié deux RFC pour bannir l’utilisation de SSLv2 (RFC 6176, publiée en Mars 2011. Cf. https://tools.ietf.org/html/rfc6176) et SSLv3 (RFC 7568, publiée en Juin 2015. Cf. https://tools.ietf.org/html/rfc7568).
En 2012, l’Agence Nationale de la Sécurité des Systèmes d’Information (ANSSI) réagit également en indiquant dans une de ses publications que « La version SSLv2 est dangereuse et ne doit pas être employée » (Cf. http://www.ssi.gouv.fr/uploads/IMG/pdf/SSL_TLS_etat_des_lieux_et_recommandations.pdf).
Quid de DROWN ?
En ce début de mars 2016, une nouvelle attaque contre SSLv2 secoue le monde du web et fait la une des médias : DROWN. En résumé, si un ancien serveur continue à proposer des connexions en SSLv2 (notamment pour maintenir la compatibilité avec d’anciens logiciels), il est possible via cette attaque de déchiffrer les données échangées dans le canal protégé par SSLv2.
De plus, si la clé privée est réutilisée sur d’autres serveurs ne proposant que des protocoles sécurisés récents comme TLS 1.2, l’attaque peut également avoir lieu sur les communications TLS 1.2 de ces serveurs.
Cette faille est conséquente puisque les chercheurs à l’origine de sa découverte indiquent qu’environ 33% des sites web sont vulnérables à cette attaque (Cf. https://drownattack.com/).
Que faire pour s’en prémunir ?
Le meilleur conseil qu’on puisse donner est de suivre les recommandations de l’ANSSI et l’IETF, en supprimant tout simplement le support des protocoles faibles tels que SSLv2 et SSLv3. Il faudra alors s’assurer de mettre à jour les logiciels incompatibles.
Chez Ilex International nous avons fait le choix de supprimer le support des protocoles SSLv2 et SSLv3 dans les dernières versions de nos logiciels. Sign&go, notre solution de gestion des accès, utilise désormais le protocole TLS 1.2 (ou TLS 1.1/TLS 1 en repli).
Cette dernière faille DROWN illustre bien la veille technologique permanente qu’il est nécessaire de réaliser dans le domaine de la sécurité informatique et de la cryptographie pour assurer une sécurité maximale au regard de l’état de l’art. Elle démontre également qu’entreprises de toutes tailles et particuliers doivent continuellement s’assurer de la bonne installation des mises à jour logicielles afin de protéger leurs données.