DROWN

Un article de Wikipédia, l'encyclopédie libre.

Logo de la faille DROWN

DROWN est une vulnérabilité informatique affectant le protocole SSLv2, publiée en [1].

Cette faille permet à un pirate de récupérer des informations sur un serveur et de compromettre une communication utilisant le protocole TLS, plus récent et réputé comme sûr, via une attaque de type cross-protocol (multi-protocole)[2].

DROWN est identifiée au niveau international par le code CVE CVE-2016-0800[3],[4].

Détails[modifier | modifier le code]

DROWN est un acronyme pour "Decrypting RSA with Obsolete and Weakened eNcryption" (Décrypter RSA via un chiffrement obsolète et faible)[2]. Cette faille utilise une vulnérabilité dans les protocoles utilisés et dans les configurations d'un serveur, et n'est donc pas liée à une erreur d'implémentation logicielle.

L'exploit de cette faille passe par une attaque à texte-chiffré choisi et un oracle de Bleichenbacher[5]. La preuve technique de cette vulnérabilité a été validée à l'aide d'une plateforme de Cloud-Computing fournissant de la puissance de calcul, pour un coût total de 440 $. Une attaque DROWN réussie permet de récupérer la clef d'une session TLS et donc de déchiffrer une communication interceptée précédemment.

Cette vulnérabilité a été découverte par Nimrod Aviram et Sebastian Schinzel[2].

Remédiation[modifier | modifier le code]

Le protocole SSLv2 est désactivé par défaut dans les technologies récentes. Ainsi, un système récent ne sera vulnérable que s'il utilise la même clé privée qu'un autre système sur lequel SSLv2 est encore actif.

Cependant, dans le cas où une technologie ancienne serait encore présente sur un serveur, les éditeurs fournissent les patchs de sécurité suivants[6] :

  • Apache : Apache 2.2 est encore vulnérable et il faut désactiver SSLv2 avec la commande de configuration SSLProtocol All -SSLv2. Apache 2.4 est protégé par défaut.
  • Nginx : SSLv2 a été retiré dans les versions 0.8.18, 0.7.64 et supérieures. Pour les versions plus anciennes, il faut retirer le terme SSLv2 de la ligne ssl_protocols des fichiers de configuration du serveur.
  • OpenSSL : l'éditeur recommande de passer aux dernières versions, soit OpenSSL 1.0.2g ou 1.0.1s. SSLv2 a été retiré des packages officiels des grandes distributions Linux depuis 2010.

Une autre solution consiste à utiliser un correcteur de vulnérabilités.

Notes et références[modifier | modifier le code]

  1. (en) « DROWN: Breaking TLS using SSLv2 », sur drownattack.com.
  2. a b et c (en) « DROWN attack », sur drownattack.com.
  3. (en) « Vulnerability Summary for CVE-2016-0800 », sur web.nvd.nist.gov.
  4. (en) « CVE-2016-0800 Vulnerability and Security Fix Database », sur cyberwatch.fr.
  5. « Bleichenbacher 1998 "Million message attack" on RSA », sur Cryptography Stack Exchange (consulté le ).
  6. « Vulnérabilite DROWN - CVE-2016-0800 »(Archive.orgWikiwixArchive.isGoogleQue faire ?), sur https://www.drown.fr (consulté le )

Liens externes[modifier | modifier le code]