La conversation
En mars 2022, l’auteur de nœud-ipcune bibliothèque de logiciels avec plus d’un million de téléchargements hebdomadairesdélibérément a brisé leur code.

Si le code découvre qu’il s’exécute en Russie ou en Biélorussie, il tente de remplacer le contenu de chaque fichier sur l’ordinateur de l’utilisateur par un emoji en forme de cœur.

Une bibliothèque de logiciels est une collection de code que d’autres programmeurs peuvent utiliser à leurs fins. La bibliothèque node-ipc est utilisée par Vue.jsun cadre qui alimente des millions de sites Web pour des entreprises telles que Google, Facebook et Netflix.

Cette faille de sécurité critique n’est qu’un exemple d’un tendance croissante de programmeurs auto-sabotant leur propre code à des fins politiques. Lorsque les programmeurs protestent par le biais de leur code – un phénomène connu sous le nom de « protestware » – cela peut avoir des conséquences pour les personnes et les entreprises qui s’appuient sur le code qu’ils créent.

Différentes formes de protestation

Mon collègue Raula Gaïkovina Kula et moi ont identifié trois principaux types de protestware.

Protestware malin est un logiciel qui endommage intentionnellement ou prend le contrôle de l’appareil d’un utilisateur à son insu ou sans son consentement.

Protestware bénin est un logiciel créé pour sensibiliser à un problème social ou politique, mais qui n’endommage ni ne prend le contrôle de l’appareil d’un utilisateur.

Sanctions des développeurs y a-t-il des exemples de comptes de programmeurs suspendu par le service d’hébergement internet qui leur fournit un espace pour stocker leur code et collaborer avec d’autres.

Les systèmes logiciels modernes sont sujets aux vulnérabilités car ils s’appuient sur des bibliothèques tierces. Ces bibliothèques sont constituées de code qui exécute des fonctions particulières, créées par quelqu’un d’autre. L’utilisation de ce code permet aux programmeurs d’ajouter des fonctions existantes dans leur propre logiciel sans avoir à « réinventer la roue”.

L’utilisation de bibliothèques tierces est commun parmi les programmeurs – cela accélère le processus de développement et réduit les coûts. Par exemple, les bibliothèques répertoriées dans le populaire Registre du MNPqui contient plus d’un million de bibliothèques, s’appuie en moyenne sur cinq à six d’autres bibliothèques du même écosystème. C’est comme un constructeur automobile qui utilise des pièces d’autres fabricants pour compléter ses véhicules.

Ces bibliothèques sont généralement gérées par un ou une poignée de bénévoles et mises gratuitement à la disposition d’autres programmeurs sous une licence de logiciel open source.

Le succès d’une bibliothèque tierce repose sur sa réputation auprès des programmeurs. Une bibliothèque construit sa réputation au fil du temps, car les programmeurs gagnent en confiance dans ses capacités et la réactivité de ses mainteneurs aux défauts signalés et aux demandes de fonctionnalités.

Si les faiblesses de la bibliothèque tierce sont exploitées, cela pourrait donner aux attaquants l’accès à un système logiciel. Par exemple, un faille de sécurité critique a été récemment découvert dans le populaire Log4j bibliothèque. Cette faille pourrait permettre à un attaquant distant d’accéder à des informations sensibles enregistrées par des applications utilisant Log4j, telles que des mots de passe ou d’autres données sensibles.

Et si les vulnérabilités n’étaient pas créées par un attaquant à la recherche de mots de passe, mais par le programmeur lui-même avec l’intention de sensibiliser les utilisateurs de sa bibliothèque à une opinion politique ? L’émergence du protestware suscite de telles questions, et les réponses sont mitigées.

Les questions éthiques ne manquent pas

UN article de blog sur le Site de l’Initiative Open Source répond à la montée des logiciels de protestation déclarant que « la protestation est un élément important de la liberté d’expression qui doit être protégé » mais conclut par un avertissement :

« Les inconvénients du vandalisme des projets open source l’emportent de loin sur tout avantage possible, et le contrecoup finira par endommager les projets et les contributeurs responsables. »

Quelle est la principale question éthique derrière le protestware ? Est-il éthique d’aggraver quelque chose pour faire valoir un point ? La réponse à cette question dépend en grande partie des croyances éthiques personnelles de l’individu.

Certaines personnes peuvent voir l’impact du logiciel sur ses utilisateurs et affirmer que les logiciels de protestation sont contraires à l’éthique s’ils sont conçus pour leur rendre la vie plus difficile. D’autres peuvent faire valoir que si le logiciel est conçu pour faire valoir un point ou sensibiliser à un problème, il peut être considéré comme plus acceptable sur le plan éthique.

D’un point de vue utilitaire, on pourrait soutenir que si une forme de protestware est efficace pour apporter un plus grand bien (comme un changement politique), alors elle peut être moralement justifiée.

D’un point de vue technique, nous développons des moyens de détecter et de contrer automatiquement les logiciels de protestation. Protestware serait un inhabituel ou surprenant événement dans l’historique des modifications d’une bibliothèque tierce. L’atténuation est possible grâce à des redondances – par exemple, un code similaire ou identique à un autre code dans la même bibliothèque ou dans des bibliothèques différentes.

La montée des protestwares est le symptôme d’un problème social plus vaste. Lorsque les gens sentent qu’ils ne sont pas entendus, ils peuvent recourir à différentes mesures pour faire passer leur message. Dans le cas des programmeurs, ils ont la capacité unique de protester à travers leur code.

Bien que les logiciels de protestation soient un phénomène nouveau, ils sont susceptibles de rester. Nous devons être conscients des implications éthiques de cette tendance et prendre des mesures pour garantir que le développement de logiciels reste un domaine stable et sécurisé.

Nous comptons sur les logiciels pour gérer nos entreprises et nos vies. Mais chaque fois que nous utilisons un logiciel, nous accordons notre confiance aux personnes qui l’ont écrit. L’émergence du protestware menace de déstabiliser cette confiance si nous n’agissons pas.

A lire également