i

i
Log4Shell est une nouvelle de ces failles informatique qui touchent des milliards d’appareils, et qui permettent potentiellement à n’importe qui d’en prendre le contrôle. Elle est décrite comme « la plus grosse et la plus critique des failles unique de la décennie » (« the single biggest, most critical vulnerability of the last decade »). La CISA et la BSI (respectivement les ANSSI américaines et allemandes) l’ont qualifié de « extrêmement critique ». Le gouvernement Canadien a lui décidé de fermer tous ses sites du service publics en attendant que ça soit corrigé.

Cette faille peut affecter non seulement un ordinateur ou un SI d’entreprise, mais aussi votre téléphone, imprimante connectée, ou de plus en plus votre frigo, télé, voiture, porte de garage ou four à micro-ondes connecté.

Pour comprendre la faille, je vous renvoie à ce thread sur Twitter.

Si je devais résumer : cela concerne un module utilisé par les outils de gestion des journaux système d’une installation informatique (les « logs »).
Beaucoup de programmes utilisent les logs (tous en fait, plus ou moins). Certains peuvent alors y mettre des variables, comme ${date}, qui seront alors remplacés par l’outil qui gère le journal (en l’occurrence, ${date} sera remplacé par la date courante au moment de l’accès au journal).

Or il se trouve que certaines variables sont renvoyées en cascade vers d’autres modules qui peuvent y placer d’autres informations. En particulier, ici un module (JNDI) qui vient remplacer une des variables par des données arbitraires… Par exemple une URL au bout de laquelle n’importe qui peut placer du code malicieux.

Ce problème est signalé depuis 2016.

Le module, utilisé par toutes les big-tech (Microsoft, Apple, Google, Tesla…) est maintenu par… Trois gus qui font ça sur leur temps libre :

Les dépendances en informatique.
Le XKCD qui va bien (source) : « toute l’infrastructure informatique moderne » soutenue par « le petit projet maintenu gracieusement depuis 2003 par un inconnu au fin fond de nulle part ».

Ces trois personnes n’y sont pour rien : les erreurs arrivent et ils vont sûrement corriger ça très vite. Le problème que je vois surtout, c’est que des sociétés dont la valorisation cumulée doit bien dépasser 5 trillions de dollars, n’ont pas gratifié ces dév ne serait-ce que de 1 000 $ durant du tout ce temps.

Ce manque de reconnaissance est à vomir.

D’ailleurs je n’aurais qu’une chose à dire : si votre architecture fonctionne comme ça : soutenez ceux qui vous permettent de bosser ! C’est la moindre des choses.

Il ne fait pas beaucoup de doutes que quelqu’un qu’on paye pour s’occuper de quelque chose à temps plein sera plus efficace pour corriger les bugs que quelqu’un qu’on laisse bosser sur son seul temps libre de temps en temps.

Je vois deux choses à retenir ici :

  • en profitant du boulot des autres, on hérite aussi de leurs erreurs. Ce n’est pas grave, mais faut en être conscient : on est dépendant d’eux ;
  • en abusant des lib et outils sans prodiguer ne serait-ce qu’un simplement soutien ponctuel, faut pas s’étonner que le module reste du boulot fait irrégulièrement et sur du temps libre.

Qu’on soit clair : le boulot d’un amateur sur son temps libre peut être très bon. Ce que je veux dire en vrai, c’est que si l’on construit son empire sur ce boulot, il faut peut-être s’assurer que ce code « amateur » soit solide. Et en l’occurrence, ça passe par un soutien suffisant à celui qui s’occupe de ce code ou de son audit.

Les dév mangent aussi (je vous jure !), et le temps qu’ils passent à bosser ailleurs pour pouvoir manger, ils ne le passeront pas à corriger l’outil qui maintient votre empire en place. Tout simplement parce que votre empire, il s’en fout autant que vous vous foutez de lui en ne donnant pas ne serait-ce qu’un micro-pourcent de ce que vous distribuez aux actionnaires chaque année. Et c’est bien normal.

Or, n’importe quel appareil numérique aujourd’hui fonctionne grâce à des dizaines, des centaines de ces modules développées par des passionnés et des bénévoles. Ouvrez n’importe programme ou n’importe quelle application et allez dans les « crédits » ou les « à propos ». Vous y verrez le nom des personnes qui vous rendent la vie plus simple, chaque jour, y compris, si c’est fait correctement, les outils qui permettent à ces applications de fonctionner, et leurs auteurs.

Et les exemples où l’industrie se fiche de remercier ces gens et s’en retrouve à genoux également : on se souviendra de Heartbleed, la faille de 2014 qui avait fait un grand bruit parce qu’il touchait tous les sites sécurisés (SSL) et tous les outils, y compris ceux des Gafam, et avait mis en lumière le manque de moyens de la fondation OpenSSL qui s’occupe de ça. Quelques années après, OpenSSL ne tourne toujours qu’avec environ 50 000 $ par an…

ÉDIT : ah oui… Ceci est aussi à mettre en perspective avec cet article de ce journaleux qui demande aux dév d’arrêter de vouloir être payés un salaire à la hauteur de leur compétences.