Malicious Package: com.outsystems.plugins.fileviewer
Package malveillant : com.outsystems.plugins.fileviewer
Description
Les packages malveillants sont des composants logiciels intentionnellement conçus ou compromis pour effectuer des actions nuisibles sur un système où ils sont installés ou exécutés. Contrairement aux logiciels légitimes présentant des vulnérabilités non intentionnelles, ces packages abritent une intention malveillante.
Caractéristiques clés des packages malveillants :
- Intention : Conçus pour voler des données, obtenir un accès non autorisé, perturber les opérations ou causer d'autres dommages.
- Tromperie : Se font souvent passer pour des utilitaires utiles, des bibliothèques populaires (parfois via le typosquatting - en utilisant des noms très similaires à des packages légitimes), ou apparaissent comme des packages bénins non maintenus dont un attaquant prend le contrôle.
- Distribution : Communément distribués via des dépôts de logiciels publics (par exemple, npm, PyPI, Maven Central, RubyGems, NuGet), en s'appuyant sur les développeurs pour les inclure involontairement dans leurs projets. Ils peuvent également être injectés dans des packages légitimes si un attaquant prend le contrôle du compte du propriétaire du package ou de l'infrastructure de build.
- Charges utiles (Payloads) : Peuvent inclure divers types de logiciels malveillants tels que des spywares, des ransomwares, des voleurs d'identifiants, des crypto-mineurs, des backdoors ou du code qui facilite d'autres attaques.
Objectifs communs :
- Exfiltration de données : Vol d'informations sensibles telles que les identifiants d'utilisateurs, les clés d'API, les données financières, les informations d'identification personnelle (PII) ou la propriété intellectuelle.
- Compromission du système : Obtention d'un contrôle non autorisé sur les machines de développeurs, les serveurs de build ou les appareils des utilisateurs finaux.
- Abus de ressources : Utilisation des systèmes compromis pour des activités telles que le minage de crypto-monnaie ou la participation à des botnets DDoS.
- Mouvement latéral : Utilisation d'un point d'ancrage initial pour se déplacer plus profondément dans le réseau d'une organisation.
- Vol financier : Vol direct de fonds ou facilitation de fraude financière.
L'identification et l'atténuation de la menace posée par les packages malveillants constituent un aspect critique de la sécurité de la Software Supply Chain moderne.
Recommandation
Étapes de remédiation immédiates :
-
Isoler les systèmes affectés :
- Déconnectez du réseau toute machine (postes de travail de développeurs, serveurs de build) où ce package a été construit, installé ou exécuté afin d'empêcher toute propagation ultérieure ou exfiltration de données.
- S'il est déployé dans une application, évaluez l'étendue des appareils d'utilisateurs finaux affectés, si possible.
-
Supprimer le package malveillant :
- Identifiez tous les projets et applications qui incluent
com.outsystems.plugins.fileviewer. - Pour les projets Cordova, vérifiez
package.json,config.xml, et inspectezassets/www/cordova_plugins.jset les fichiers de build de plateforme associés (par exemple, dansplatforms/androidouplatforms/ios). - Supprimez la dépendance de la configuration de votre projet (
package.json,config.xml, etc.). - Reconstruisez votre application à partir d'un environnement propre et connu après vous être assuré que le package n'est plus présent.
- Nettoyez soigneusement les caches de build et les artefacts.
- Identifiez tous les projets et applications qui incluent
-
Rotation des identifiants (Critique) :
- À partir d'un ordinateur séparé et de confiance, effectuez une rotation de TOUS les secrets et clés qui étaient présents sur le(s) système(s) compromis ou accessibles depuis celui-ci/ceux-ci. Cela inclut :
- Mots de passe (utilisateur, administrateur, comptes de service)
- Clés d'API et tokens
- Clés SSH
- Clés de chiffrement
- Identifiants de base de données
- Identifiants de fournisseur cloud
- Identifiants de système de contrôle de version
- À partir d'un ordinateur séparé et de confiance, effectuez une rotation de TOUS les secrets et clés qui étaient présents sur le(s) système(s) compromis ou accessibles depuis celui-ci/ceux-ci. Cela inclut :
-
Investigation et nettoyage du système :
- Parce qu'un attaquant a pu obtenir un contrôle total, la simple suppression du package est souvent insuffisante.
- Menez une investigation forensique approfondie sur les systèmes affectés pour identifier l'étendue de la compromission, tous les mécanismes de persistance et autres outils malveillants qui auraient pu être installés.
- Envisagez de réimager les postes de travail de développeurs et les serveurs de build affectés à partir d'un état sain connu.
-
Informer les parties affectées :
- Si les données clients ou les appareils des utilisateurs finaux peuvent être affectés, suivez votre plan de réponse aux incidents pour les notifications.
Mesures préventives pour l'avenir :
-
Analyse des dépendances :
- Implémentez des outils d'analyse de composition logicielle (SCA) automatisés dans votre pipeline CI/CD pour analyser les vulnérabilités connues et les packages malveillants dans vos dépendances.
- Mettez régulièrement à jour les bases de données de ces outils.
-
Vérifier les dépendances :
- Avant d'ajouter une nouvelle dépendance, recherchez sa réputation, ses mainteneurs, ses statistiques de téléchargement et recherchez tout problème de sécurité signalé.
- Préférez les packages bien maintenus provenant de sources fiables.
-
Épingler les dépendances :
- Utilisez des fichiers de verrouillage (par exemple,
package-lock.json,yarn.lock) pour épingler les dépendances à des versions spécifiques et saines connues. Cela empêche les mises à niveau involontaires vers des versions plus récentes potentiellement malveillantes.
- Utilisez des fichiers de verrouillage (par exemple,
-
Utiliser des packages à portée (Scoped Packages) et des registres privés (le cas échéant) :
- Pour les packages internes, utilisez des noms à portée et des registres privés pour réduire le risque d'attaques par substitution (bien que ce problème spécifique concerne un package malveillant et non une substitution).
-
Principe du moindre privilège :
- Assurez-vous que les environnements de build et les postes de travail de développeurs fonctionnent avec les privilèges minimum nécessaires.
-
Formation des développeurs :
- Formez les développeurs aux risques liés aux attaques de la Software Supply Chain et aux meilleures pratiques en matière de gestion des dépendances.
En prenant ces mesures, les organisations peuvent répondre à la menace immédiate posée par MAL-2022-2047 et renforcer leurs défenses contre les futurs incidents liés aux packages malveillants.
Liens
Normes
- OWASP_MASVS_L1:
- MSTG_CODE_5
- MSTG_PLATFORM_2
- OWASP_MASVS_L2:
- MSTG_CODE_5
- MSTG_PLATFORM_2
- PCI_STANDARDS:
- REQ_2_2
- REQ_5_1
- REQ_5_2
- REQ_6_2
- REQ_6_3
- REQ_11_3
- OWASP_MASVS_v2_1:
- MASVS_CODE_3
- MASVS_RESILIENCE_1
- SOC2_CONTROLS:
- CC_2_1
- CC_4_1
- CC_4_2
- CC_7_1
- CC_7_2
- CC_7_4
- CC_8_1