Et ravive le débat sur la sécurité de la chaîne d’approvisionnement des logiciels open source
Les développeurs expriment de plus en plus leurs opinions par le biais de leurs projets open source utilisés de façon active par des milliers d’applications logicielles et d’organisations. Pour ce faire, un mainteneur ajoute des messages de protestation ou des fonctionnalités nuisibles non souhaitées dans les dernières versions de son projet sans le documenter au préalable. Lorsqu’une application existante récupère la dernière version du projet, le code nouvellement ajouté est intégré et fonctionne de façon erratique. Le tableau soulève des questionnements : que penser de la sécurité de la chaîne d’approvisionnement des logiciels libres et open source ? Doit-on mélanger développement de logiciels et prises de positions politiques ?
Ces questionnements prennent un coup de neuf avec la récente sortie (via son projet open source) du développeur du paquetage npm ‘event-source-polyfill‘. Un changement introduit dans la version 1.0.26 dudit paquetage implique que les applications conçues avec ce dernier vont afficher un message de protestation aux utilisateurs basés en Russie après 15 secondes de lancement. Les paquetages Polyfill sont conçus pour mettre en œuvre des fonctionnalités JavaScript existantes sur des navigateurs Web qui ne les prennent peut-être pas en charge. Ainsi, le paquetage en question étend les API “EventSource” de Mozilla à d’autres navigateurs qui ne supportent pas ce concept. Résultat : ledit paquetage est utilisé par plus de 135 000 dépôts GitHub et téléchargé plus de 600 000 fois par semaine sur npm.
Ce cas vient allonger une liste de modules de protestation open source qui ne cesse d’aller croissant depuis le début de l’opération militaire russe en Ukraine. En effet, le développeur à l’origine du populaire paquet npm “node-ipc” a lui aussi sorti une nouvelle version pour protester contre l’opération militaire russe en Ukraine. Les changements introduisent un comportement indésirable qui cible les utilisateurs avec des adresses IP situées en Russie ou en Biélorussie et efface tous leurs fichiers lors de l’installation pour les remplacer par un émoji de cœur.
L’avis de l’Open Source Initiative sur la situation est que :
« Le nouveau développement est que des mainteneurs en colère ont commencé à ajouter du code à un petit nombre de dépôts de logiciels libres pour protester contre la guerre. Une fois déployé, ce logiciel open source de protestation exprime l’opposition du mainteneur à l’invasion de l’Ukraine par le gouvernement russe. La plupart des logiciels de protestation affichent simplement des messages anti-guerre ou pro-ukrainiens lorsqu’ils sont exécutés. Il s’agit d’une forme de protestation non violente et créative qui peut être efficace.
Mais, dans au moins un cas – le module peacenotwar du paquet node-ipc – une mise à jour sabote les développeurs de npm avec un code destiné à effacer les données stockées en Russie et au Belarus. Dans un billet de blog du 16 mars sur le code malveillant, Liran Tal, de Snyk, a déclaré : ” Cet incident de sécurité implique des actes destructeurs de corruption de fichiers sur le disque par un mainteneur et ses tentatives de cacher et de reformuler ce sabotage délibéré sous différentes formes. “
La “militarisation de l’open source”, comme l’appelle Gerald Benischke dans son billet de blog du 16 mars, se fait sans discernement et les dommages collatéraux qu’elle provoque portent atteinte au travail des développeurs et des opérateurs uniquement parce qu’ils ont une adresse IP attribuée par la Russie. Elle nuit aux pacifistes autant qu’aux bellicistes – même les hackers éthiques utilisant un VPN pour travailler contre l’invasion peuvent subir des dommages.
Il est compréhensible que cette situation ait suscité l’indignation. Nous partageons cette indignation. La protestation est un élément important de la liberté d’expression qui doit être protégé. L’ouverture et l’inclusion sont les pierres angulaires de la culture de l’open source et les outils des communautés open source sont conçus pour un accès et une participation à l’échelle mondiale. Collectivement, la culture et les outils mêmes de l’open source – suivi des questions, systèmes de messagerie, dépôts – offrent un canal de signalisation unique qui peut contourner la censure imposée par les tyrans pour conserver leur pouvoir.
Au lieu de logiciels malveillants, une meilleure approche de la liberté d’expression serait d’utiliser les messages dans les journaux de commit pour envoyer des messages anti-propagande et de publier des trackers pour partager des informations précises à l’intérieur de la Russie sur ce qui se passe réellement en Ukraine aux mains de l’armée russe, pour citer deux possibilités évidentes. Il y a tellement de possibilités pour les communautés open source d’être créatives sans nuire à tous ceux qui chargent la mise à jour.
Nous encourageons les membres de la communauté à utiliser les libertés et les outils de l’open source de manière innovante et judicieuse pour informer les citoyens russes de la réalité des préjudices imposés aux citoyens ukrainiens et pour soutenir les efforts humanitaires et d’assistance en Ukraine et en faveur de ce pays.
À plus long terme, il est probable que cette militarisation de l’open source revienne à cracher dans le vent : les inconvénients du vandalisme des projets open source dépassent de loin les avantages possibles et le retour de flamme finira par nuire aux projets et aux contributeurs responsables. Par extension, c’est tout l’open source qui en pâtit. Utilisez votre pouvoir, oui, mais utilisez-le à bon escient »
Seulement, l’expérience enseigne que même les contenus textuels sont de nature à mettre à mal le mouvement open source. Cela s’est vu avec le cas Notepad++ 7.8.1 qui a opposé des internautes chinois et des intervenants occidentaux sur la question de la gestion de la communauté Ouïghour par la Chine. Résultat : des élans de nationalisme font surface autour de l’open source. La Chine a officialisé une alternative à GitHub – le service web américain d’hébergement et de gestion de logiciels – au cours de l’année 2020. Gitee compte 9 ans d’existence en Chine. Une sortie d’un responsable de Huawei en lien avec ce développement en dit long sur l’objectif : « Si la Chine ne dispose pas de sa propre communauté open source pour maintenir et gérer les projets, notre industrie nationale du logiciel sera très vulnérable à des facteurs incontrôlables. » L’intervention de Wang Chenglu pointait du doigt les sanctions à répétition des autorités américaines.
source : developpez