web-dev-qa-db-fra.com

Prévenir l'attaque de la bête sans suites de chiffrement RC4

Il est courant d'empêcher l'attaque de la bête en utilisant les chiffres suivants dans Apache SSL Configuration:

SSLCipherSuite RC4-SHA:HIGH:!ADH

Malheureusement, la RC4 s'est avérée défectueuse et il est maintenant recommandé d'éviter son utilisation.

D'un rapport Nessus:

SSL RC4 Cipher Suites Soutenu

L'hôte distant prend en charge l'utilisation de RC4 dans une ou plusieurs suites ciphères. Le chiffrement RC4 est imparfait dans sa génération d'un flux pseudo-aléatoire d'octets de sorte qu'une grande variété de petits biais de petits biais sont introduits dans le flux, en diminuant son aléatoire.

Si le texte en clair est crypté à plusieurs reprises (par exemple les cookies HTTP), et un attaquant est capable d'obtenir de nombreuses ciphertextes (c'est-à-dire des tensions de millions de millions de millions), l'attaquant peut être capable de dériver le plaintre.

Solution

Reconfigurez la demande affectée, si possible, pour éviter l'utilisation des chiffres de RC4. Envisagez d'utiliser TLS 1.2 avec des suites AES-GCM sous réserve du navigateur et du serveur Web.

J'ai essayé d'utiliser les chiffres suivants dans ma configuration SSL Apache SSL:

SSLCipherSuite HIGH:!ADH:!MD5

Malheureusement, cela est vulnérable à la bête. Comment puis-je empêcher cela sans utiliser de suites Cipher RC4?

Nous courons sur Centos 6.5 et utilisons les protocoles SSL suivants:

SSLProtocol -ALL -SSLv3 +TLSv1
5
Michael

Beast est une attaque côté client, de sorte que tout ce que vous pouvez faire sur le côté serveur est d'éviter de laisser des clients inconscients se mettre dans une position de bête-vulnérable. Cependant, les clients modernes (navigateurs Web) sont non vulnérable à la bête quand même:

  • Les clients utilisent le fractionnement des enregistrements (généralement 1/N - 1) en tant que contre-mesure.
  • Beast nécessite le code hostile dans le navigateur (In Java ou JavaScript) pour pouvoir envoyer des demandes au site cible avec des valeurs d'octets arbitraires; aucune méthode de faire est actuellement connue (à l'époque de la démo de Beast, les auteurs avaient trouvé deux défauts qui ont permis cela, mais ils étaient tous deux fixés depuis cette période).

Un client toujours vulnérable à Beast est un client qui n'a pas été mis à jour pendant plusieurs années, ce qui signifie qu'il a déjà plus de problèmes.

Une solution plus générale consiste à utiliser TLS 1.1 ou 1.2, qui ne sont pas vulnérables à cette attaque spécifique. Cependant, même lorsque les clients soutiennent de tels protocoles, ils ont également tendance à se livrer à des reconnexions débridées qui les rendent vulnérables au protocole de déclassement des attaques.

Sans doute, des outils et des personnes qui gémissent et grindrent leurs dents à propos de la bête sont en colère besoin d'une mise à jour elle-même. "Prévention de la bête" s'est transformé en dogme toxique, perroré ad nauseam sans une compréhension décente de ce que cela signifie vraiment.

11
Thomas Pornin