HeartBleed – Faille OpenSSL

Depuis quelques jours, on entend partout parler de la plus grande faille de sécurité du siècle, appelée HeartBleed. Un petit article pour expliquer ce qu’il est vraiment et vous expliquer quels sont les impacts.

heartbleed

Contexte

La plupart des serveurs sur Internet hébergeant des sites sont des serveurs Linux. Et quasiment la totalité de ceux-ci utilisent OpenSSL, une librairie open-source, pour gérer le protocole SSL/TLS. Ce protocole est celui qui permet de sécuriser les échanges sur Internet à travers HTTPS (lire cet article pour plus de précisions). Environ 2/3 des services faisant du SSL utilisent cette librairie. Le protocole concerne aussi certains systèmes de communications et VPN (réseaux privés virtuels).

La faille

Il y a 2 ans, un développeur a ajouté de nouvelles fonctionnalités dans OpenSSL. Il a malheureusement introduit une faille sur le système HeartBeat (d’où le nom de la faille :)). Ce système permet de vérifier la disponibilité d’un serveur (écoute des « battements de cœur » du serveur). Une mauvaise gestion de la mémoire en C permet à un attaquant de récupérer une partie (environ 64Ko)  de la mémoire de la machine (RAM). La faille est répertoriée sous le code CVE-2014-0160. Pour plus de détails sur le code, je vous renvoie au très bon article de Sean Cassidy : http://blog.existentialize.com/diagnosis-of-the-openssl-heartbleed-bug.html

Vous allez me dire « et alors ?« . Le problème est que la RAM peut contenir à peu près n’importe quoi, que ce soit des mots de passe, des cookies, des clés de sécurité. 64Ko représentent très peu de données mais avec un peu de chance, un hacker malveillant pourra récupérer des informations sensibles. Aucune trace du passage d’un hacker n’est laissée et toute personne ayant un peu de compétences en programmation/système peut exploiter cette faille (testée et approuvée sur mon serveur avant mis à jour).

Les impacts

Tous les serveurs utilisant une version d’OpenSSL entre la 1.0.1 et la 1.0.1f doivent être mis à jour. Une version 1.0.1g corrige cette faille (suppression temporaire de heartbeat). Plus grave, tous les certificats doivent être régénérés. En effet, la clé privée des certificats peut apparaître dans le code récupéré malicieusement. Ainsi, tous les échanges futurs seront déchiffrables.

Pour vous, deux cas :
– vous avez un serveur utilisant OpenSSL. Mettez dès que possible à jour la version d’OpenSSL utilisée. Si votre service est critique, générez de nouveaux certificats et demandez à tous vos utilisateurs de changer leur mot de passe.
– vous n’avez pas de serveur. Il est conseillé de ne pas faire de transactions financières pendant les quelques jours à venir, le temps que tous les services connus corrigent cette faille. Il est aussi conseillé de modifier votre mot de passe (vous recevrez sûrement des mails expliquant cela). Pour ma part, je pense qu’il n’est pas nécessaire de changer votre mot de passe. Vous pouvez le faire sur les services critiques (mail, banque, …) mais la probabilité que votre mot de passe ait été découvert est très faible.

Pour tester votre serveur/service : http://filippo.io/Heartbleed/

Beaucoup plus d’informations sur le site http://heartbleed.com/

Vous aimerez aussi...

1 réponse

  1. bob dit :

    Le XKCD d’aujourd’hui y fait référence aussi 🙂
    http://xkcd.com/1354/

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *