Premier Avant de paniquer, assurez-vous de bien comprendre si cette vulnérabilité vous concerne ou non. Si vous avez un serveur, mais que vous n'avez jamais eu d'applications utilisant TLS, ce n'est pas une priorité absolue pour vous. Si, au contraire, vous n'ont jamais eu Les applications compatibles avec TLS, alors vous allez vous régaler. Lire la suite :
Qu'est-ce que le CVE-2014-0160 alias "Heartbleed" ?
C'est un gros bordel, voilà ce que c'est. En résumé, une vulnérabilité exploitable à distance a été découverte dans les versions 1.0.1 à 1.0.1f d'OpenSSL, grâce à laquelle un attaquant peut lire certaines parties de la mémoire système. Ces parties sont celles qui contiennent des données sensibles telles que des clés privées, des clés pré-partagées, des mots de passe et des données d'entreprise de grande valeur, entre autres.
Le bogue a été découvert indépendamment par Neel Mehta de Google Security (21 mars 2014) et par la société finlandaise de tests de sécurité informatique Codenomicon (2 avril 2014).
Quelle en est la cause ?
Eh bien, un code errant dans OpenSSL. Ici est le commit qui a introduit la vulnérabilité, et aquí est le commit qui a corrigé la vulnérabilité. Le bug est apparu en décembre 2011 et a été corrigé aujourd'hui, le 7 avril 2014.
Le bug peut également être considéré comme le symptôme d'un problème plus vaste. Les deux problèmes liés sont (1) quel processus est en place pour s'assurer que du code errant n'est pas introduit dans une base de code, et (2) pourquoi les protocoles et extensions sont si complexes et difficiles à tester. Le point (1) est un problème de gouvernance et de processus avec OpenSSL et de nombreux autres projets. De nombreux développeurs résistent tout simplement aux pratiques telles que les revues de code, l'analyse et le balayage. Le point (2) est en cours de discussion au sein du groupe de travail TLS de l'IETF. Voir Heartbleed / complexité du protocole .
Le code errant a-t-il été inséré par malveillance ?
Je ne vais pas spéculer sur le fait de savoir s'il s'agit vraiment d'une erreur ou d'un bout de code glissé au nom d'un mauvais acteur. Cependant, la personne qui a développé le code d'OpenSSL affirme que c'était une inadvertance. Voir L'homme qui a introduit la grave faille de sécurité "Heartbleed" nie l'avoir insérée délibérément. .
Quels systèmes d'exploitation et quelles versions d'OpenSSL sont vulnérables ?
Comme mentionné ci-dessus, tout système d'exploitation qui utilise, ou toute application qui est liée à OpenSSL 1.0.1 à 1.0.1f.
Quels sont les symptômes, existe-t-il des méthodes pour détecter un exploit réussi ?
C'est la partie qui fait peur. Pour autant que nous le sachions, il n'existe aucun moyen connu de détecter si cette vulnérabilité a été exploitée ou non. Il est théoriquement possible que des signatures IDS soient publiées prochainement pour détecter cet exploit, mais à l'heure où nous écrivons ces lignes, elles ne sont pas disponibles.
Il existe des preuves que Heartbleed était activement exploité dans la nature dès novembre 2013. Voir l'article de l'EFF Wild at Heart : Les agences de renseignement utilisaient-elles Heartbleed en novembre 2013 ? Et Bloomberg rapporte que la NSA a utilisé l'exploit peu après l'introduction de la vulnérabilité. Voir La NSA exploiterait le bogue Heartbleed pour obtenir des renseignements depuis des années . Cependant, la communauté des services de renseignement américains dément les affirmations de Bloomberg. Voir IC ON THE RECORD .
Comment puis-je vérifier si mon système est affecté ?
Si vous maintenez OpenSSL sur votre système, alors vous pouvez simplement publier openssl version
:
$ openssl version
OpenSSL 1.0.1g 7 Apr 2014
Si la distribution maintient OpenSSL, alors vous ne pouvez probablement pas déterminer la version d'OpenSSL en raison du dos Parcheando utilisant openssl
ou les informations sur le paquet (par exemple, apt-get
, dpkg
, yum
o rpm
). Le processus de retour Parcheando utilisé par la plupart (toutes ?) des distributions n'utilise que le numéro de version de base (par exemple, "1.0.1e") ; et ne no inclure un version efficace de la sécurité (par exemple, "1.0.1g").
Il y a une question ouverte sur Super User pour déterminer la version de sécurité effective pour OpenSSL et d'autres paquets lorsque les paquets sont rétablis. Malheureusement, il n'y a pas de réponse utile (autre que de vérifier le site web de la distro). Voir Déterminer la version de sécurité efficace face au backpatching ?.
En règle générale, si vous avez déjà installé l'une des versions concernées et si vous avez déjà exécuté des programmes ou des services qui utilisent OpenSSL pour la prise en charge du protocole TLS, vous êtes vulnérable.
Où puis-je trouver un programme pour tester cette vulnérabilité ?
Dans les heures qui ont suivi l'annonce de Heartbleed, plusieurs personnes sur Internet ont publié des applications Web accessibles au public, censées pouvoir être utilisées pour vérifier la présence de cette vulnérabilité sur un serveur. À l'heure où j'écris ces lignes, je n'ai examiné aucune de ces applications et je ne vais donc pas en faire la publicité. Elles peuvent être trouvées relativement facilement à l'aide de votre moteur de recherche préféré.
Comment cette vulnérabilité est-elle atténuée ?
Passez à une version non vulnérable et réinitialisez ou sécurisez à nouveau les données vulnérables. Comme indiqué sur le site Heartbleed site, les mesures d'intervention appropriées sont largement répandues :
- Corrigez les systèmes vulnérables.
- Régénérer de nouvelles clés privées.
- Soumettez le nouveau CSR à votre CA.
- Obtenir et installer le nouveau certificat signé.
- Invalider les clés de session et les cookies
- Réinitialiser les mots de passe et les secrets partagés
- Révoquer les anciens certificats.
Pour une analyse et une réponse plus détaillées, voir Que doit faire un exploitant de site Web à propos de l'exploit OpenSSL Heartbleed ? sur le Security Stack Exchange.
Dois-je m'inquiéter du fait que mes clés ou d'autres données privées ont été compromises ? Quels sont les autres effets secondaires dont je dois m'inquiéter ?
Absolument. Les administrateurs de systèmes doivent supposez que leurs serveurs qui utilisaient des versions vulnérables d'OpenSSL sont effectivement compromis et répondent en conséquence.
Peu après la divulgation de la vulnérabilité, Cloudfare a proposé un défi pour voir si la clé privée d'un serveur pouvait être récupérée en pratique. Le défi a été remporté indépendamment par Fedor Indutny et Ilkka Mattila. Voir Le défi Heartbleed .
Où puis-je trouver plus d'informations ?
Lien dump, pour ceux qui cherchent plus de détails :
Une chronologie assez détaillée des événements de divulgation peut être consultée à l'adresse suivante Chronologie de la divulgation de Heartbleed : qui savait quoi et quand ? .
Si vous êtes programmeur et que vous vous intéressez à diverses astuces de programmation, comme la détection d'une attaque Heartbleed par l'intermédiaire de l'interface OpenSSL msg_cb
puis consultez le fichier d'appel de OpenSSL Avis de sécurité 2014047 .
14 votes
Mesures d'atténuation pour Heartbleed implique plus que de nouvelles clés . (Lien vers ma réponse sur Information Security StackExchange)
0 votes
Je vous comprends, mais je pense que l'EEAA a couvert ce point de manière assez complète ci-dessous.
0 votes
Je suis d'accord : c'est une excellente réponse, mais heartbleed.com s'efforce de souligner qu'il y a d'autres considérations à prendre en compte que les nouvelles paires de clés, comme l'obligation de changer de mot de passe et l'invalidation de session.
1 votes
@scuzzy-delta - bon point. J'ai fait ma réponse CW maintenant, donc n'hésitez pas à la modifier/améliorer avec ces informations.
0 votes
@scuzzy-delta Bien vu, je ferai un compte-rendu dans quelques heures quand j'aurai une minute.
0 votes
J'ai écrit un tutoriel sur CentOS Patch ici : kevinflorida.com/heartbleed-patch
0 votes
"J'ai regardé le code source d'OpenSSL, je pense que c'est une catastrophe en attente de se produire." a déclaré phk varnish-cache.org/lists/pipermail/varnish-misc/2010-April/
0 votes
Merci à tous ceux qui ont upvoté la question, mais s'il vous plaît, upvotez aussi les réponses !
3 votes
Meilleur exemple de ce que c'est : (sans surprise) XKCD : xkcd.com/1354
0 votes
@EricDANNIELOU Wow, la signature dans le message que vous avez lié est très pertinente ici : "N'attribuez jamais à la malice ce qui peut être expliqué de manière adéquate par l'incompétence."