Exemple de commandes tournant dans Bash. Wikimedia Commons / licence Libre

Les failles de sécurité informatiques sont un problème courant, mais la dernière en date, baptisée « Shellshock », est loin d'être anodine. Rendue publique le 26 septembre, elle a été trouvée dans le programme Bash, une pièce maîtresse de Unix, lui-même à la base du système d'exploitation libre et gratuit GNU/Linux, qui équipe près de 70 % des serveurs Internet dans le monde. Plus précisément, Bash est un shell, une interface qui traduit les lignes de commande tapées sur le clavier en un langage compréhensible par le système d'exploitation.

La première version de Bash fut créée vers 1988, entre Boston et la Californie, par des pionniers du logiciel libre. Peu après, sa maintenance fut prise en charge par un bénévole solitaire, Chet Ramey, âgé aujourd'hui de 49 ans, informaticien à l'université Case Western Reserve de Cleveland (Ohio).

Depuis lors, Bash a été révisé régulièrement, et quelques vulnérabilités mineures ont été détectées, mais, pendant plus de vingt ans, Shellshock est passé complètement inaperçue – sans doute le record mondial de longévité pour un bug informatique. Or il s'agit une faille sérieuse, qui peut permettre à un pirate expérimenté de prendre le contrôle à distance des centaines de milliers de machines, d'effectuer toutes sortes d'actes de piratage et de perturber le fonctionnement général d'Internet.

L'affaire illustre un problème plus général. En théorie, la grande force des logiciels libres est que leur code peut être examiné intégralement, à tout moment, par des experts du monde entier. En réalité, ces audits représentent un travail long et ardu, qui ne rapporte ni argent, ni gloire, ni même un remerciement. Les volontaires sont peu nombreux, et les vérifications en profondeur des logiciels considérés comme des « grands classiques » sont rares – une situation paradoxale, car ils sont utilisés par les sociétés Internet les plus puissantes et les plus riches du monde.

Une faille découverte « sur une intuition »

Shellshock fut découverte au début de septembre par Stéphane Chazelas, un Français de 38 ans installé à Edimbourg, directeur informatique dans une société de robotique. M. Chazelas est aussi un membre actif de la communauté des passionnés du logiciel libre, spécialiste des shells. Il affirme avoir repéré Shellshock « presque par hasard, sur une intuition ». En juillet 2014, il découvre un défaut d'implémentation dans une autre composante d'Unix – plus précisément dans une fonction assurant la communication entre différents types de programmes. Cette faille est peu dangereuse, car très difficile à exploiter.

Puis il se demande si cette imperfection ne se répète pas dans d'autres parties d'Unix par exemple dans Bash. Il redoute que la même fonction ait, là encore, été implémentée « de façon simple et naïve » : « Mes soupçons ont vite été confirmés. J'ai ensuite pris conscience de l'ampleur du problème, en découvrant qu'il y avait des moyens très simples de l'exploiter. » Pour un hacker, la principale difficulté serait d'identifier les serveurs vulnérables puis d'activer Bash. Ensuite le piratage serait aisé, y compris avec des outils préexistants.

Aussitôt, Stéphane Chazelas décide d'agir – avec prudence : « Ce genre d'information s'apparente à une cyberarme très puissante. Il ne faut surtout pas la faire connaître aux gouvernements (du moins à certains d'entre eux), ni à des criminels, avant qu'elle ne soit corrigée. » Pour appliquer un patch, logiciel venant colmater la faille, il contacte discrètement les principaux éditeurs de distributions Linux : Debian, Ubuntu, Red Hat, ainsi que le français Mandriva – « pour que ce ne soient pas uniquement des acteurs américains ». Il entre aussi en relation avec Chet Ramey, l'actuel bénévole chargé de la maintenance de Bash. M. Ramey est probablement l'auteur du code défectueux, mais personne ne lui en tient rigueur – tout ça s'est passé y a plus de vingt ans et, depuis, son travail a été très méritoire.

Mises à jour multiples

L'équipe se met au travail, et le patch est prêt en moins de deux semaines. Il est alors temps de publier simultanément la vulnérabilité et son antidote. Pour baptiser sa découverte, Stéphane Chazelas suggère « Bashdoor », mais sur Twitter, quelqu'un lance le nom « Shellshock », qui est aussitôt adopté par les médias.

Cela dit, le plus dur reste à faire – informer les innombrables administrateurs de serveurs vulnérables, et les convaincre d'appliquer le patch : « Parfois, la mise à jour de Bash sera compliquée, estime Stéphane Chazelas, parce que ce type d'opération n'est pas prévue, parce que ceux qui pourraient le faire manquent de compétence ou de motivation, ou parce qu'il n'y a personne pour leur fournir le correctif. »

En revanche, l'annonce de l'existence de Shellshock n'a pas échappé aux hackers. Dès le lendemain, plusieurs sociétés de sécurité européennes et américaines remarquent que des pirates se sont précipités pour l'exploiter avant que les administrateurs de serveurs n'aient eu le temps d'installer le correctif. Les experts affirment avoir déjà détecté une série d'attaques utilisant spécifiquement la faille Shellshock :

scannage des réseaux du département de la défense américain pour repérer des serveurs vulnérables

apparition d'un nouveau worm (« ver », soit un virus capable de s'autopropager)

création de botnets (réseaux clandestins d'ordinateurs contrôlés à distance à l'insu de leurs propriétaires) destinés à diffuser du spam

tentative de blocage des serveurs du distributeur Akamai

La société de sécurité russe Kaspersky affirme que le danger de piratage ne se limite pas au Web : « Les pires problèmes ne pourront pas être réparés – notamment sur les appareils de l'Internet des objets, dont les logiciels sont installés une fois pour toutes, sans possibilité de mises à jour ni d'introduction de patchs. » Même chose pour les appareils de connexion intégrés au réseau, par exemple les routeurs wifi domestiques.