Il y a deux ans, un compte nommé « shanhai666 » a mis en ligne neuf packages NuGet malveillants. Cela a déclenché une attaque complexe ciblant la chaîne d'approvisionnement logicielle.
Selon Socket, une entreprise spécialisée dans la sécurité des chaînes d'approvisionnement, ces paquets ont été téléchargés au total 9 488 fois. Par ailleurs, des déclencheurs spécifiques sont prévus pour août 2027 et novembre 2028.
Kush Pandya, membre de l'équipe Socket, a découvert l'auteur de la campagne malveillante ayant diffusé un total de 12 paquets. Neuf de ces paquets contiennent des routines malveillantes, tandis que trois sont des implémentations pleinement fonctionnelles dissimulant les autres sous une apparence « crédible ».
Pandya pense que le pirate a utilisé des bibliothèques légitimes en parallèle des bibliothèques malveillantes pour inciter les développeurs à installer les packages sans détecter d'anomalies lors des tests de routine.
« Les fonctionnalités légitimes masquent la charge utile malveillante d’une vingtaine de lignes enfouie dans des milliers de lignes de code légitime, et retardent sa découverte car, même après activation, les plantages apparaissent comme des bugs aléatoires plutôt que comme des attaquesmatic », a-t-il écrit dans un rapport du 6 novembre.
9 menaces cachées dans du code légitime avec NuGet
Les neuf identifiés dent la fabrication et l’automatisation des processus.
Les recherches de Socket ont démontré que la base de données pourrait être vulnérable à une attaque à double objectif ciblant la chaîne d'approvisionnement, menaçant le développement logiciel et les opérations d'infrastructures critiques.
Pandya a qualifié le package Sharp7Extend de plus dangereux des packages malveillants , car il s'agit d'un typosquat de l'implémentation légitime de la bibliothèque Sharp7 .NET pour communiquer avec les automates programmables Siemens S7.
Évaluation du pack Sharp7Extend. Source : Socket
L'ajout de « Extend » au nom de confiance pourrait permettre au package malveillant « accidentally » d'installer du code par l'intermédiaire d'ingénieurs en automatisation recherchant des améliorations pour Sharp7. Ce package contient la bibliothèque Sharp7 complète non modifiée ainsi que sa charge utile malveillante. Lors des tests, la communication standard avec l'automate programmable peut sembler fonctionner correctement, mais le logiciel malveillant intégré est masqué.
« Sharp7Extend cible les automates programmables industriels grâce à deux mécanismes de sabotage : l'arrêt aléatoire immédiat des processus et des défaillances d'écriture silencieuses qui commencent 30 à 90 minutes après l'installation », a déclaré le chercheur en sécurité.
Les packages malveillants utilisent des méthodes d'extension C# pour ajouter du code dangereux aux opérations de base de données et d'automate programmable sans modifier le code d'origine. Pour les packages de base de données, une méthode `.Exec()` est ajoutée aux types de commandes, tandis que Sharp7Extend ajoute une méthode `.BeginTran()` aux objets S7Client.
Les extensions s'exécutentmaticà chaque action ou requête d'une application sur un automate programmable. Après la date de déclenchement, le logiciel malveillant génère un nombre aléatoire entre 1 et 100.
Si ce nombre dépasse 80 (ce qui a 20 % de chances de se produire), le package interrompt immédiatement le processus en cours via `Process.GetCurrentProcess().Kill()`. L'arrêt est alors brutal et ne génère aucun avertissement ni entrée de journalisation pouvant être confondue avec une instabilité réseau, une panne matérielle ou toute autre erreur système non alarmante.
Sharp7Extend implémente également une protection contre la corruption d'écriture différée via un minuteur qui définit un délai de grâce de 30 à 90 minutes. Passé ce délai, une méthode de filtrage appelée ResFliter.fliter() commence à bloquer silencieusement les opérations d'écriture dans 80 % des cas.
Les méthodes concernées sont WriteDBSingleByte, WriteDBSingleInt et WriteDBSingleDInt. Les opérations semblent réussies alors que les données ne sont en réalité pas écrites dans l'automate.
Minuteur réglé d'août 2027 à novembre 2028
Selon un rapport de Socket Security, certains packages axés sur les bases de données, notamment MCDbRepository, devraient exécuter leur charge utile le 8 août 2027. SqlUnicornCore et SqlUnicornCoreTest pourraient quant à eux devenir actifs le 29 novembre 2028.
« Cette approche progressive donne au pirate une fenêtre plus longue pour collecter des victimes avant le déclenchement du logiciel malveillant à activation différée, tout en perturbant immédiatement les systèmes de contrôle industriels », a expliqué Pandya.
L'enquête de Socket a révélé que le nom « shanhai666 » et certaines parties du code source sont d'origine chinoise.
En septembre, des analystes en cybersécurité ont découvert sur les serveurs Microsoft Internet Information Services (IIS) un code qui exploitait des vulnérabilités depuis 2003. L'opération implique des modules IIS malveillants utilisés pour l'exécution de commandes à distance et la fraude à l'optimisation pour les moteurs de recherche (SEO).
Réclamez votre place gratuite dans une communauté exclusive de trading de crypto-monnaies - limitée à 1 000 membres.



