Heartbleed, qu’est ce que c’est

Heartbleed, qu’est ce que c’est

Il y a eu pas mal d’infos sur le sujet, généralement assez technique et en anglais, aussi je vous fais un petit résumé de la crise.

Le 8 avril dernier, une faille dans le logiciel OpenSSL, surnommée Heartbleed, a été rendue publique. OpenSSL est le logiciel le plus utilisé au monde pour chiffrer les communications entre le navigateur et le site Web. Les banques, les e-commerce, les emails, les réseaux sociaux, tous utilisent SSL, pour éviter que l’on puisse intercepter vos communications. Et la plupart utilisent OpenSSL sur leurs serveurs pour permettre une connexion SSL.

Ce n’est pas le protocole SSL ou le chiffrement en général qui est mis en cause mais bien le logiciel OpenSSL.

Au début, on a cru à une faille critique qui permettait à l’attaquant de lire les communications. Toute personne exploitant cette faille aurait pu récupérer vos identifiants de banque au moment de votre login par exemple.

Il s’est avéré que c’était bien pire encore.

La faille permet de récupérer, à chaque heart beat (d’où le surnom) – c’est à dire à chaque fois qu’un client dit au serveur “je suis toujours connecté” – 64K de mémoire de l’ordinateur cible, au hasard. Parce que cette faille utilise le heart beat, elle n’implique pas d’authentification ou de log, elle est donc parfaitement silencieuse, ne laisse pas de trace, et n’importe qui sans autorisation peut se connecter et en tirer parti.

Tous les sites les plus importants sont concernés incluant tous les réseaux sociaux, fournisseurs d’email, banque, etc. En fait, même les services en ligne qui ne sont pas des sites, comme Steam, sont affectés.

On ne peut pas choisir les 64K sur la machine, mais si on répète l’opération suffisamment longtemps, on peut récupérer la plupart des choses en mémoire. Comme un serveur a généralement énormément de cache en mémoire, il y a de tout dedans : les mots de passe, adresses emails, clés privées, certificats d’authentification, présents dans le programme, etc. En prime, en récupérant la clé privée, on peut écouter les connections au site ou carrément se faire passer pour le site, puis facilement récupérer numéros de carte de crédit, emails, messages privés, et tout ce qui transite.La plupart des services ont réagit très vite et ont corrigé le problème, seulement la faille a été dans la nature pendant 2 ans.

C’est une catastrophe.

A qui profite le crime ?

La question n’est pas qui peut en tirer parti. La réponse à cela est tous les attaquants : pirates, gouvernements, armées, services secrets et même script kiddies.

Non. Le débat est plutôt de savoir si la faille était intentionnelle ou pas.

D’un côté, j’aime beaucoup cette phrase attribuée à Napoléon :

N’attribuez jamais à la malveillance ce qui s’explique très bien par l’incompétence.

Et l’incompétence, il en a fallu, car il ne s’agit pas d’une faille de cryptographie complexe, mais d’une erreur de débutant en programmation C. Dans un logiciel qui a la portée de OpenSSL, ça amène sérieusement à se poser des questions, malgré le déni de l’auteur.

Par dessus se rajoute une déclaration d’Assange, qui enfonce un clou dans le cercueil, en expliquant que de nombreux logiciels Open Source sont complètement vérolés par la NSA, incluant des distributions Linux aussi réputées que Debian.

Comme souvent sur Internet, ce sont les commentaires de l’article qui sont les plus intéressants. On y note notamment plusieurs personnes, se présentant comme des professionnels de la cryptographies, débattant avec des argumentaires très bien construits de l’implication probable de la NSA et d’autres services secret dans la mise en œuvre de cette faille, et de son exploitation.

D’un côté, Bloomberg a annoncé que la NSA, a défaut d’avoir créé le bug, savait à son propos depuis le début et l’a exploité. De l’autre, la NSA nie (putain la NSA a un compte Twitter ?).

En tout cas, avec la révélation de Prism, il ne tient plus de la théorie du complot mais de faits que ces entités cherchent par tous les moyens à obtenir la main mise sur les réseaux d’information. L’idée qu’ils aient créé cette back door parait donc plausible, bien qu’improuvable.

Et surtout, si c’est le cas, combien d’autres accès aussi radicaux ont-ils à leur disposition ? Mon frère me disait dernièrement :

Je ne sais pas pourquoi ça te surprend encore. Tout en informatique a été craqué. Tout. Depuis toujours. On crack les playstations, Windows… Pourquoi tu crois que tes systèmes de sécurités ne sont pas craqués aux aussi ?

Sous prétexte que tout le monde les utilise, qu’ils sont Open source et que des gens vachement plus intelligents que nous les ont vérifié, on fait confiance à ces systèmes. Mais si la porte blindée est attachée à un mur en BA13 et qu’on ne le sait pas ?

Que faire pour l’utilisateur ?

Comme l’a recommandé Mathieu Agopian, d’abord changer tous ses mots de passe, pour tous ses sites. C’est là qu’on apprécie lastpass.

Je sais pertinemment que personne ne va le faire. Les gens ont une forte tendance à se plaindre que tout le monde est pourri et qu’on ne peut rien y changer, mais dès qu’il faut mettre la main à la pâte, y a plus personne. C’est pareil pour le recyclage, le boycott ou la lecture des programmes électoraux.

Et puis ils n’ont rien à cacher, pas vrai ?

De plus, si il existe d’autres failles de ce genre, ça ne résoudra pas le problème général, qui est politique et social. L’informatique n’est qu’un outil, on ne résout pas avec de la technique les problèmes d’un peuple. Même si ça aide.

De plus, le problème n’est pas complètement résolu côté fournisseur. Il faut que tout le monde mette à jour ses certificats, et les autorités de certifications croulent sous les demandes. Elles n’ont pas une infra prévue pour ça. Ensuite, certains outils ne pourront pas se changer. OpenSSL est présent dans de nombreux systèmes embarqués. Si vous mettre en sécurité implique jeter votre appareil et en racheter un neuf, vous pouvez être certain que que ça se fera encore moins que changer les mots de passe. Et je ne vous parle même pas de l’industrie. Je met ma bite à couper que dans le domaine des transports il y a des tas d’équipements bien trop chers à changer pour qu’ils soient sécurisés. Les professionnels vont donc jouer la carte de l’obscurité et serrer les fesses.

La désillusion sur l’Open Source

Ce qui fait mal au fion, c’est l’évidence de la réponse de Wolf dans un des commentaires de l’article sur Asssange, quand quelqu’un demande des solutions :

I think the reason you’re not receiving much of an answer on this is the reason I gave above – there are none. We’re in a place of no good options.

Car quand il s’agit du système général qui joue contre celui qu’il est censé servir, changer de logiciel ne sert à rien. On pensait que parce que les systèmes ouverts étaient transparents, ils n’étaient pas attaquables de cette manière. Des milliers d’yeux pour regarder le code source, qu’ils disaient.

Heartbleed nous montre une histoire bien différente.

OpenSSL s’est révélé être extrêmement difficile à auditer, car il est très complexe, sa documentation est réputée lacunaire sans compter qu’il faut de sacrées compétences pour ne serait-ce que commencer à proposer de participer.

En clair, la taille, la complexité et l’accessibilité des projets libres les plus importants font un sérieux contre poids à la fameuse garantie de la revue de pairs. C’est pour cette raison que des projets comme Android ne sont pas considérés comme libres par beaucoup : seul Google a les ressources pour étudier tout le code source. On manque de gens compétents, ainsi que de temps et d’argent. Il y a de plus en plus d’informaticiens, mais de moins en moins, proportionnellement, sont qualifiés. Beaucoup de techniciens, peu d’ingénieurs ou de hackers, malgré le titre sur le CV. Et encore moins qui sont motivés pour mettre les mains dans le cambouis du FOSS.

Cela veut-il dire qu’il faut jeter le bébé avec l’eau du bain ?

Certainement pas.

En fait, si cette faille avait été dans un logiciel propriétaire, nous n’aurions jamais été au courant. Elle a été découverte par hasard lors d’un audit d’un système qui n’a absolument rien à voir, par une équipe de sécurité Finlandaise. Les ingénieurs ont matraqué leur cible de tests aléatoires et sont tombés sur un problème. En cherchant l’origine du problème, ils se sont aperçus que le souci ne venait pas du produit testé, mais d’OpenSSL. Parce qu’ils avaient le code source, ils ont pu pointer du doigt la faille et prévenir les auteurs d’OpenSSL.

Entre temps, l’équipe de sécurité de Google (là encore, ça fait jaser car ils ont la réputation d’être proches de la NSA) a publié le bug et le correctif, et la couverture de presse vend le tout comme étant leur propre découverte.

L’Emo de la fin

Donc non, les logiciels Open Source ne sont pas vaccinés contre les failles majeures sous prétexte que le code est public.

Oui, il y a un soupçon grave de sabotage, à l’heure actuelle (et probablement pour longtemps) il n’y a aucune preuve. On peut s’attendre à une grosse vague de rejet de cette idée pour cause de “théorie du complot”. Ça ne change pas beaucoup des débats habituels dès qu’on parle de sécurité. C’est fou comme les gens sont prêt à jouer la carte de la présomption d’innocence pour défendre des grosses institutions boîtes noires au passé trouble et désignent coupable les accusés de pédophilie dès qu’ils voient leur tête au 20H…

La différence, c’est l’enjeu, et il est de taille. On parle pas d’une déchirure du slip, on parle d’être complètement à poil avec un bout du string cassé qui sort de l’anus.

Enfin oui, l’Open Source, offre toujours de meilleures garanties de sécurité en la matière que le logiciel fermé. Plus de transparence, plus de vitesse de réaction, disponibilité immédiate et pour toujours des correctifs, etc. Mais surtout, on vient d’en parler, si il s’agit de sabotage, le problème est politique et social, pas juste technique. Face à cela, un système démocratique, comme l’Open Source, a plus de chance de jouer en notre faveur qu’un système oligarchique de logiciel propriétaire. Reste à vérifier si l’élitisme du savoir ne risque pas de créer une oligarchie d’un autre genre côté FOSS. Sans compter les innombrables problèmes d’ego.

Mais ça ne suffit pas. Et à la lueur de ce genre d’affaire, il va falloir que la communauté du libre, principale gardienne des plus gros codes sources ouverts, se réorganise pour à la fois faire le ménage dans la base de code existante et filtrer à l’entrée les potentiels saboteurs. Qu’ils soient incompétents ou malveillants.

J’aimerais pas être dans les chaussettes de Linus en ce moment.

Malheureusement wikipedia est la preuve que des règles plus restrictives pour participer n’empêche pas les lobbyistes de pourrir le contenu mais apporte bel et bien un énorme frein à l’entrée de sang neuf. Ce qui n’arrange pas nos affaires, dans un monde où la complexité des sujets augmente plus vite que la compétence des gens qui pourraient participer. La revue communautaire reste le moins pire des systèmes, comme la démocratie pour Churchill, mais ça me colle un petit coup de blues tout ça quand même.

sam artois

A propos de l'auteur

Samuel Artois est un développeur Python passionné d'automatisation et de marketing. Depuis plusieurs années, il a développé une expertise solide dans ces domaines et a su mettre ses compétences en pratique sur de nombreux projets.

Laisser un commentaire