Trente ans de vieux logiciels sont en train d'être nettoyés d'un coup. Et franchement, c'est une bonne nouvelle.
Il existe deux programmes que tu n'as jamais installés et que tu ne verras sans doute jamais. Pourtant, tu les utilises des centaines de fois par jour. Ils s'appellent OpenSSL et curl.
Le premier, c'est le petit cadenas de ton navigateur. C'est lui qui brouille la conversation entre ton téléphone et ta banque, pour que personne au milieu ne puisse lire ce qui passe. Le second récupère une page ou un fichier sur internet lorsqu'un appareil en a besoin. Il est planqué dans ta box, ta télé, ton imprimante et le GPS de ta voiture.
Les deux ont plus de vingt-cinq ans. Les deux sont entretenus par une poignée de personnes. Et depuis janvier, on les relit comme jamais auparavant.
Vieille mécanique, révision générale. Ça grince un peu, mais ça ressort en meilleur état.
Les programmes que tout le monde utilise et que personne ne connaît
On imagine souvent qu'un appareil moderne est un bloc entièrement fabriqué par une marque. En réalité, c'est un empilement de petits logiciels écrits ailleurs, souvent gratuitement et parfois il y a très longtemps. Tout le monde les réutilise tels quels parce qu'ils fonctionnent bien.
Sept objets dans la maison, le même petit bout de code à l'intérieur, et personne ne connaît son nom.
Ces morceaux-là, on ne les remplace pas facilement. Ils ont été installés en 1998, ils rendent service, alors on passe à autre chose. Vingt-cinq ans plus tard, ils tournent encore dans des milliards d'appareils. Pourtant, personne n'a eu le temps de rouvrir le capot pour vérifier chaque ligne. Ce n'est pas de la négligence. C'est une question de temps humain. Relire sérieusement un programme entier pouvait occuper un ingénieur pendant des semaines. Alors on ne le faisait pas.
Pourquoi personne n'avait vu ces bugs pendant vingt-cinq ans
Il existait déjà une méthode automatique pour chercher les défauts, et elle a rendu de fiers services. Le principe est assez bourrin : on envoie des millions de données absurdes au programme jusqu'à ce qu'il plante. Un plantage se voit tout de suite. La machine peut donc signaler : « là, il y a un problème ».
Le souci, c'est que la plupart des défauts ne font pas planter le programme. Ils font pire. Le programme continue tranquillement et exécute exactement ce qu'on lui demande, sans vérifier si la personne qui le demande en a le droit.
Une porte défoncée, ça s'entend. Une porte qu'on t'ouvre poliment, beaucoup moins.
Pour trouver ces défauts, secouer le programme ne suffit pas. Il faut lire son code, comprendre ce qu'il est censé faire, puis repérer l'écart entre les deux. Autrement dit, il fallait un humain compétent, cher et lent. Ce mur vient de tomber. Désormais, des outils peuvent automatiser une grande partie de cette lecture du code.
Et là, d'un coup, on trouve tout
Le 27 janvier, OpenSSL a annoncé douze failles inconnues d'un seul coup. Toutes avaient été découvertes par le système d'une société spécialisée, au cours d'une seule campagne. Certaines dormaient dans le code depuis vingt-cinq à vingt-sept ans, alors qu'OpenSSL est l'un des programmes les plus relus de la planète. Vingt-sept ans. Le bug était plus vieux que la moitié de ses utilisateurs.
Ce n'est pas un simple coup de chance. Début août, une équipe de Palo Alto Networks a publié le bilan de deux mois d'analyse automatique : 3 915 programmes examinés, 14 090 défauts trouvés. Plus de neuf sur dix appartenaient à la catégorie invisible, celle qui ne fait jamais planter le programme. Environ un tiers étaient sérieux.
Quatorze mille défauts découverts en deux mois. Chacun représente un trou de moins dans un logiciel que tu utilises.
Le mouvement est général. Mozilla a écrit noir sur blanc que, depuis février, l'équipe de Firefox utilise ces outils sans relâche pour trouver et corriger d'anciens défauts. Chez Chrome, le nombre de failles corrigées et publiées a été multiplié par plus de six depuis le début de l'année. Chez GitHub, il a été multiplié par plus de cinq.
Personne ne s'est soudainement mis à coder plus mal en janvier. On a simplement commencé à regarder.
Cette semaine encore, le 14 août, un éditeur annonçait avoir trouvé plus de 2 400 défauts dans 269 programmes. L'un d'eux se cachait dans du code écrit il y a quarante ans. Ce sont les chiffres de l'éditeur et personne ne les a vérifiés, donc prudence. Mais la tendance, elle, ne fait plus vraiment débat.
Ce que ça veut dire pour toi
C'est là que je trouve cette histoire vraiment réjouissante. On en parle partout comme d'une catastrophe, alors que je crois que c'est exactement l'inverse.
Ces défauts ne viennent pas d'apparaître. Ils étaient déjà là hier et il y a dix ans, dans ta box comme dans ton navigateur. Le seul truc qui te protégeait, c'est que personne n'avait le temps de les chercher. Ce n'est pas de la sécurité, c'est de la chance. Maintenant, on les met au jour. Une fois découverts, ils peuvent être corrigés pour de bon.
Il existe d'ailleurs un précédent, et il a plutôt bien vieilli. En 2002, Microsoft a arrêté le développement de Windows pendant une dizaine de semaines pour faire relire tout son code par ses propres équipes. À l'époque, tout le monde a trouvé l'opération folle, coûteuse et humiliante. Pourtant, ce chantier a transformé un système qui attrapait un virus par semaine en quelque chose de fréquentable. Il a tout de même fallu une entreprise géante, des mois de travail et un seul produit. Cette fois, la même chose arrive à des milliers de programmes en même temps, pour le prix d'une facture d'électricité.
Concrètement, les logiciels de demain seront plus propres que ceux d'hier. Pas parfaits, personne ne t'a promis la perfection. Mais ta box, ton navigateur, ton téléphone et le petit boîtier qui pilote ton chauffage utilisent tous des morceaux de code qui passent leur premier contrôle technique. Dans deux ans, la même bibliothèque de code sera nettement plus solide qu'aujourd'hui. Et tu n'auras rien eu à faire.
Il reste une condition, toute simple : ton appareil doit encore recevoir des mises à jour. Un correctif qui n'est jamais installé ne sert à rien. Les vrais perdants sont donc l'imprimante de 2019 dont la marque a disparu et la caméra à 39 euros qui n'a plus rien reçu depuis trois ans. Pour tout le reste, garde les mises à jour automatiques activées et laisse faire.
Le revers, parce qu'il y en a un
Trouver un défaut est devenu presque gratuit. Le réparer, non. Et ça, ça n'a été multiplié par rien du tout.
Le type qui s'occupe de curl s'appelle Daniel Stenberg. Il reçoit maintenant tellement de signalements qu'il a pris une décision radicale cet été. Beaucoup de ces rapports sont de belles histoires rédigées par une machine, mais ne contiennent aucun véritable bug. Du 1er juillet au 3 août, il a donc fermé la boîte. Plus aucun signalement accepté, ni par formulaire ni par courriel. Rien.
La meilleure décision informatique de l'année tient sur un bout de carton.
Le bilan publié le 3 août est simple : un seul message est arrivé pendant tout le mois, et aucun incident n'a eu lieu. Daniel Stenberg raconte que, quelques jours après le début de la pause, toute l'équipe ressentait un soulagement. Une impression de vacances, avec un poids en moins sur la poitrine. Quand on sait que ce bout de code tourne dans presque tout ce qui possède une prise réseau sur cette planète, ça fait réfléchir.
Voilà le vrai chantier des prochaines années. Trouver les bugs, c'est presque réglé. Il faut maintenant aider les quelques personnes qui les réparent à ne pas se noyer.
Ce que j'en pense
Pendant vingt-cinq ans, l'excuse était toujours la même : personne n'a le temps de relire ce code. C'était vrai, et tout le monde s'en accommodait, moi le premier.
Cette excuse est morte. Et je trouve ça formidable. On entre dans une période où les vieux logiciels peuvent s'améliorer en vieillissant, au lieu de pourrir doucement dans leur coin. Un programme de 1998 passe à la révision générale, puis ressort propre, solide et débarrassé de ses défauts d'origine. C'est exactement le genre de nouvelle qu'on n'avait encore jamais eu en informatique.
Alors oui, il y a du bruit, des rapports bidons et des mainteneurs épuisés. C'est le prix de cette période, et ça se réglera. Mais dans cinq ans, ce qui tournera dans ta maison sera nettement plus solide que ce qui y tourne aujourd'hui. Ça faisait longtemps que je n'avais pas écrit une phrase pareille.






Rejoignez la conversation
Vous devez avoir un compte pour commenter cet article. La création est gratuite et prend moins d'une minute.
Aucun commentaire pour le moment.