Dans un article intitulé On the Weaponisation of Open Source, Gerald Benischke examine comment l'invasion de l'Ukraine par la Russie s'est répercutée sur les domaines du développement logiciel, avec des conséquences inattendues. Benischke s'intéresse en particulier à la décision de MongoDB de couper ses services en Russie, au changement destructeur d'une bibliothèque de nœuds qui a supprimé des fichiers sur des IP russes, et même à un changement de code/licence dans un module terraform communautaire pour affirmer que Poutine est une « tête de nœud ».
MongoDB coupe les clients russes et déclare : « Nous avons le regret de vous informer qu'en raison des nouvelles sanctions américaines et internationales à l'encontre de la Russie et de la Biélorussie, votre atlas MongoDB, environnement......, sera résilié. Si vous avez des données importantes, nous vous conseillons de télécharger des sauvegardes immédiatement avant qu'elles ne deviennent définitivement irrécupérables », déclare MongoDB.
« Vous vous demandez à quoi pourrait ressembler votre système informatique si d'autres fournisseurs IaaS, PaaS et SaaS décidaient de vous fermer. Et si AWS décidait de fermer votre compte ? Dans quelle mesure votre dépendance à l'égard du cloud est-elle critique pour votre entreprise ? », interroge Oleg Brodt, Directeur de l'innovation, Cyber@Ben-Gurion University.
Notons que MongoDB est un système de gestion de bases de données orienté documents, répartissable sur un nombre quelconque d'ordinateurs et ne nécessitant pas de schéma prédéfini des données. Il permet de manipuler des objets structurés au format BSON (JSON binaire), sans schéma prédéterminé. Il est écrit en C++. Le serveur et les outils sont distribués sous licence SSPL.
Selon certains témoignages, MongoDB est une technologie qui change la vie de nombreux développeurs, leur permettant de créer des applications plus rapidement qu'avec des bases de données relationnelles. Cependant, MongoDB a abandonné ses racines Open Source, en changeant la licence en SSPL, ce qui le rend inutilisable pour de nombreux projets Open Source et commerciaux.
Selon le consultant en ingénierie logicielle Gerald Benischke, il y aurait un peu d'incohérence dans le secteur technologique pour savoir si une offre SaaS et le paiement d'un abonnement équivalent à une nouvelle vente, mais je pense que c'est dans l'esprit des sanctions, rendre difficile l'activité des entreprises russes.
Mongo est une entité commerciale et, en tant que telle, elle peut choisir à qui vendre ses produits. Bien que Benischke déclare son accord avec la décision de MongoDB de se couper des clients russes, le consultant indique que, « cela pose une question intéressante ». « Qu'arriverait-il à votre organisation si un fournisseur de services disparaissait ? Je ne pense pas que cela signifie que nous devions tous nous précipiter pour construire nos propres centres de données, écrire nos propres bases de données et exécuter tous nos propres services.
« La simplification et l'optimisation de l'utilisation du logiciel en tant que service ne doivent pas être négligées. Toutefois, il n'est pas inutile d'être prudent et de procéder à une évaluation des risques pour savoir ce qui se passerait si le service disparaissait. Encore une fois, je ne pense pas que cela doive être considéré comme une incitation à tout exécuter en multi-cloud, car je pense que l'augmentation globale de la complexité réduirait en fait la fiabilité. »
Le développeur à l'origine du populaire paquet npm node-ipc a expédié ce mois-ci une nouvelle version pour protester contre l'invasion de l'Ukraine par la Russie. Mais les changements ont introduit 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. Néanmoins, cet acte de sabotage a suscité de nouvelles inquiétudes quant à la sécurité de la chaîne d'approvisionnement des logiciels et des logiciels libres.
Notons que, node-ipc est un module Node.js pour « la communication interprocessus locale et distante » avec un support complet pour Linux, Mac et Windows. Il supporte également toutes les formes de communication par socket, des sockets bas niveau d'Unix et de Windows aux sockets UDP et sécurisés TLS et TCP. Avec plus de 1,1 million de téléchargements hebdomadaires, node-ipc est un paquet important utilisé par des bibliothèques majeures comme Vue.js CLI.
Cependant, le développeur de node-ipc, Brandon Nozaki Miller, a saboté le paquet pour nuire aux utilisateurs se trouvant en Russie ou en Biélorussie, en vue de militer contre l'invasion russe en Ukraine. Sous le nom de « protestware », la dépendance peacenotwar a été injectée dans des dépendances qui affectaient vuejs cli (et unreal unity selon certains rapports). peacenotwar vérifie l'adresse IP de l'ordinateur sur lequel il s'exécute et, s'il est considéré comme se trouvant en Russie, supprime tous les fichiers.
« Cette histoire est un peu plus sinistre », déclare Benischke. Maintenant, les attaques de la chaîne d'approvisionnement contre les modules de nœuds n'ont rien de nouveau. Il ne se passe pas beaucoup de mois sans que l'on entende parler parler d'un module de nœud détourné qui installe des portes dérobées ou des cryptomonnaies. « Je pense que l'on peut tous se mettre d’accord pour dire que ces attaques sont malveillantes et que les actions sont celles de criminels. Ces actions doivent être condamnées, d'autant plus que le fait de "supprimer des fichiers en fonction des adresses IP de géofencing" risque de provoquer des dommages collatéraux. »
« Je ne sais pas quelle est la part de vérité dans la question soulevée sur le dépôt peacenotwar selon laquelle une ONG américaine a perdu 30 000 fichiers documentant les crimes de guerre russes - mais il faut se rappeler que la géolocalisation n'est pas toujours juste », précise le consultant en ingénierie informatique.
Des preuves anecdotiques d'erreurs d'identification d'adresses IP font de cette arme une arme très aveugle. On pourrait réfléchir au fait que si les bombardements massifs de cibles civiles par les forces armées russes doivent être abhorrés, l'effacement global des fichiers dans la plage d'adresses IP de la Russie n'est pas exactement une action ciblée.
« Enfin, j'aimerais revenir sur une histoire selon laquelle les modules terraform de la communauté pour AWS ont été mis à jour pour inclure des déclarations politiques », déclare Benischke. Il y aurait d'abord eu une modification de la licence « Conditions d'utilisation supplémentaires pour les utilisateurs de Russie et du Belarus ».
En utilisant le code fourni dans ce dépôt, vous acceptez ce qui suit :
- La Russie a illégalement annexé la Crimée en 2014 et a apporté la guerre dans le Donbas suivie d'une invasion à grande échelle de l'Ukraine en 2022 ;
- La Russie a apporté de la tristesse et des dévastations à des millions d'Ukrainiens, tué des centaines d'innocents, endommagé des milliers de bâtiments et forcé plusieurs millions de personnes à fuir ;
- Poutine khuylo !
Code : | Sélectionner tout |
1 2 3 4 5 | variable "putin_khuylo" { description = "Do you agree that Putin doesn't respect Ukrainian sovereignty and territorial integrity? More info: https://en.wikipedia.org/wiki/Putin_khuylo!" type = bool default = true } |
En mettant la variable à false, le module de terraformation ne fonctionnerait pas. Selon Benischke, c'est problématique sur deux fronts :
- Cela ne devrait plus être classé désormais comme open source ;
La définition d'une licence Open Source est assez claire : « Je n'ai pas vraiment envie de devoir lire chacune de mes licences de dépendances et de dépendances transitives pour déterminer si j'accepte des termes discriminatoires en utilisant une bibliothèque. » « Je pense qu'il est tout à fait indésirable de politiser/armer l'open source de cette façon. Selon le type d'organisation avec laquelle vous travaillez, il pourrait être totalement inacceptable et hors de portée des permissions pour un ingénieur d'accepter ce genre de contrats. Je ne peux pas imaginer qu'une agence gouvernementale veuille découvrir que le logiciel qu'elle utilise lui impose une certaine position politique. »- Qu'en est-il d'une licence qui exige que vous vous absteniez de manger de la viande ou que vous la souteniez ?
- Qu'en est-il d'un permis qui exige que vous soyez pro-vie/pro-choix ?
- Qu'en est-il d'une licence qui exige que vous votiez démocrate/républicain ?
- Cela ne pourrait pas s'appliqué ;
Certains analystes soutiennent qu'il n'est pas pratique d'encoder la moralité dans les licences, car elle serait de toute façon soit ignorée, soit bifurquée. La licence JSON « Le logiciel doit être utilisé pour le bien et non pour le mal » est inapplicable, et les licences sont conçues avec la clause 6 à l'esprit : « Pas de discrimination contre les domaines d'activité » afin d'éviter les pièges des licences provenant de dépendances en aval.
Selon Gerald Benischke, le résultat du changement putin_khuylo est que ce module terraform AWS ne peut plus remplir aucune de ces clauses et ne peut donc plus être classé comme open source. L'auteur de la modification en aurait discuté sur Hacker News et a depuis changé la clause en « Informations supplémentaires » plutôt qu'en « Conditions générales supplémentaires » mais la modification du code putin_khuylo reste dans le module.
Selon Gerald Benischke, cela soulève des interrogations sur la « sécurité » de ces composants. Il semble que ces modifications aient été apportées directement dans la branche principale sans demande de révision, ce qui suggère un manque de processus de révision. Ces actions ont eu un impact négatif sur la confiance dans les mainteneurs. Et cela amène à se demander si l'utilisation de ces composants est sûre.
De plus, du point de vue des licences, certaines organisations ont des directives concernant les licences autorisées. Ainsi, si l'on peut démontrer que le code enfreint les clauses de la licence, est-il toujours possible de l'utiliser en toute sécurité ? Certaines histoires de guerre sur la suppression frénétique de bibliothèques sous GPL "infectieuses" font penser que les avocats pourraient avoir une journée de travail.
Imaginons une organisation où il y a des centaines d'équipes et des milliers de microservices. Et essayons de réfléchir à la manière dont on peut évaluer le risque de milliers de dépendances et de millions de lignes de code. « Sans confiance, le seul moyen d'y parvenir serait de forker toutes les librairies, d'empêcher l'open source et, plus généralement, de tuer toute agilité et toute vélocité », déclare Benischke.
La Russie est sur le coup de nombreuses sanctions : la chaîne d'information russe RT (Russia Today) a dû se retourner vers la plateforme de vidéo en ligne Rumble sur laquelle elle poursuivra ses diffusions. Google a procédé au blocage des applications mobiles liées à RT et Sputnik sur sa boutique d’applications Play en Europe, les spécialistes de la filière IT ne peuvent partir du pays ou subvenir à leurs besoins en raison des restrictions imposées par Visa et Mastercard, etc. Red Hat a allongé la liste et fait l’annonce de l’interruption de ses ventes et services en Russie et en Biélorussie. La Russie pour sa part envisage de légaliser le piratage de logiciels dans certains cas afin d’atténuer les sanctions.
Je [Paul Cormier - président et CEO de Red Hat] suis sûr de parler au nom de tous lorsque je dis que la guerre qui se déroule en Ukraine est déchirante. En tant qu'entreprise, nous sommes unis à toutes les personnes touchées par la violence et nous condamnons l'invasion de l'Ukraine par l'armée russe. Nous ajoutons nos voix à celles qui appellent à la paix et nous continuerons à travailler pour assurer la sécurité de nos associés touchés et de leurs familles de toutes les manières possibles.
Le géant des logiciels d'entreprise Oracle a déclaré qu'il avait suspendu toutes ses opérations en Russie, tandis que son rival SAP a annoncé plus tard qu'il suspendait toutes ses ventes dans le pays à la suite de l'invasion de l'Ukraine par Moscou. Les sanctions économiques contre la Russie sont un mécanisme important dans les efforts pour restaurer la paix. SAP est en échange constant avec les gouvernements du monde entier, « nous avons toute confiance en leurs conseils et nous soutenons pleinement les actions entreprises jusqu'à présent. Nous cessons toute activité en Russie alignée et en outre, nous interrompons toutes les ventes de services et de produits SAP en Russie ».
La Russie est aujourd'hui confrontée à une grave crise du stockage informatique après le retrait des fournisseurs occidentaux de services cloud, ce qui ne laisse à la Russie que deux mois avant d'être à court de stockage de données. Le gouvernement russe se prépare à cette pénurie de capacités informatiques, qui pourrait entraîner dans les prochains mois des problèmes de fonctionnement des systèmes d'information de l'État. Selon les médias russes, les autorités sont prêtes, si nécessaire, à racheter la capacité des centres de données commerciaux et à reprendre les ressources informatiques des entreprises qui ont annoncé leur retrait de la Fédération de Russie. Pour l'instant, le ministère du numérique a indiqué « qu'il analyse la situation ».
Les exploitants de centres de données soulignent qu'ils ont eux-mêmes besoin d'aide : les prix des systèmes de stockage et des serveurs ont explosé, les banques n'accordent pas de prêts et la chaîne logistique est perturbée. Si le gouvernement décide de pressurer le secteur privé, les experts estiment que les services de divertissement seront les premiers à en souffrir.
En début de semaine, la passerelle open source Scarf a commencé à limiter l'accès aux paquets open source pour les entités gouvernementales et militaires russes, via sa passerelle. Dans l'annonce de la société, le PDG et fondateur de Scarf, Avi Press, a écrit que « Scarf bloquera tous les téléchargements de paquets et de conteneurs provenant de sources gouvernementales russes jusqu'à nouvel ordre. »
L'entreprise n'est pas la seule à prendre une telle mesure cette semaine, Oracle ayant suspendu toutes ses opérations dans la Fédération de Russie, Hashicorp ayant interdit l'accès à ses produits et Apple ayant arrêté toutes ses ventes en Russie. Il y en a eu beaucoup d'autres, mais les actions de Scarf, MongoDB ou encore RPM se distinguent dans la mesure où la restriction s'applique ici aux logiciels libres, et non aux logiciels propriétaires.
En ce qui concerne les logiciels libres, la définition de l'Open Source Initiative est très claire : il ne doit y avoir « aucune discrimination à l'encontre de personnes ou de groupes et aucune discrimination à l'encontre de domaines d'activité ». Chacun de ces critères s'applique à la licence dudit logiciel open source, tandis que la distribution de ce même logiciel peut être une question totalement différente, fait valoir Avi Press.
« Je pense qu'il faut résister à la tentation d'utiliser les projets open source comme des armes contre la Russie car cela crée un dangereux précédent et peut finalement faire reculer le mouvement open source et pousser les organisations à chercher refuge dans les logiciels commerciaux avec toute leur opacité et leur obscurité » conclu Gerald Benischke.
Source : Article de Gérald Benischke
Et vous ?
Quel est votre avis sur le sujet ?
Gerald Benischke préconise de « résister à la tentation d'utiliser les projets open source comme des armes contre la Russie », qu’en pensez-vous ?
Voir aussi :
Un paquet npm compromis par l'auteur efface les fichiers sur les ordinateurs russes et biélorusses lors de l'installation, pour protester contre l'invasion de l'Ukraine par la Russie
Red Hat interrompt ses ventes et ses services en Russie et en Biélorussie dans un contexte où la Russie envisage de légaliser le piratage de logiciels dans certains cas, afin d'atténuer les sanctions
Plus que deux mois et la Russie se retrouvera sans stockage de données, le Pays est en passe d'être confrontée à une crise informatique
Les grandes entreprises technologiques se retirent de Russie, dont Google, Apple, Samsung, Netflix et Spotify, cela pourrait créer une opportunité pour les entreprises chinoises comme Xiaomi