Avez-vous entendu parler de l'application de portefeuille de crypto-monnaie très répandue qui a attiré l'attention en facilitant la gestion des monnaies numériques ?
L'application, alimentée par un fournisseur de portefeuilles matériels de confiance, offrait une expérience sécurisée et conviviale, permettant aux utilisateurs d'échanger des crypto-monnaies. Cependant, à l'insu de l'équipe de développement, une mise à jour apparemment routinière a introduit un code malveillant via une version compromise d'une bibliothèque JavaScript tierce intégrée à l'application.
Peu après la mise à jour, les utilisateurs ont commencé à signaler des activités suspectes : transactions non autorisées, disparition de fonds et vidage inattendu du portefeuille. Après enquête, l'équipe de développement a découvert que son application communiquait sans le savoir avec des serveurs non autorisés contrôlés par des pirates.
La cause principale a été identifiée comme étant une version compromise de la bibliothèque de connexion web3 de l'application, qui a été infiltrée par des attaquants par le biais d'un compte NPM tiers violé. Cela a permis d'injecter un code malveillant dans l'application, compromettant à la fois les portefeuilles des utilisateurs et la confiance dans l'application elle-même.
Cette attaque est un exemple de vulnérabilité de la chaîne d'approvisionnement vulnérabilité de la chaîne d'approvisionnement en logicielsoù des acteurs malveillants exploitent les faiblesses du code logiciel et de l'écosystème connecté. En insérant un code malveillant dans une bibliothèque populaire, les infiltrés ont pu accéder aux données sensibles des utilisateurs et exécuter des commandes non autorisées sans être détectés.
La bibliothèque compromise a depuis été remplacée, mais l'incident rappelle clairement les risques liés à l'utilisation de logiciels tiers..
L'attaque de la chaîne d'approvisionnement en logiciels démystifiée
Une attaque de la chaîne d'approvisionnement en logiciels vise les victimes les moins méfiantes : les développeurs de logiciels qui s'appuient sur des bibliothèques, des cadres ou des outils externes pour créer leurs applications. Ces attaques exploitent les vulnérabilités du processus de développement des logiciels. Mais comment ?
Imaginez que vous développiez une application et que vous utilisiez des composants provenant de sources tierces pour accélérer les choses. Dans un exemple, un pirate introduit un code malveillant dans une bibliothèque open-source populaire. Dans un premier temps, ce code malveillant peut ne causer aucun dommage - agissant comme un espace réservé, ou "stub" - mais une fois que l'application est installée sur les appareils des utilisateurs, elle se connecte discrètement aux serveurs distants de l'acteur malveillant, connus sous le nom de serveurs de commande et de contrôle (C2). De là, l'application télécharge des logiciels plus dangereux.
L'application semble normale pour les utilisateurs, mais derrière leur dos, leurs données privées sont consultées et, dans certains cas, volées, et leur appareil est maintenant sous le contrôle du pirate.
Ces types de cyberattaques sont dangereux car ils exploitent des composants de confiance dans le processus de développement des applications, ce qui rend leur détection difficile tant pour les développeurs que pour les utilisateurs.
Origines des attaques de la chaîne d'approvisionnement en logiciels
Les attaques contre la chaîne d'approvisionnement des logiciels peuvent provenir de plusieurs sources : fournisseurs de logiciels malveillants, bibliothèques open-source compromises, ou même dépendances du code quotidien.
Les acteurs malveillants ciblent souvent les applications qui s'appuient sur ces bibliothèques externes parce qu'elles offrent un point d'entrée facile pour l'introduction de codes malveillants. Comme de plus en plus d'organisations utilisent du code source ouvert et/ou des dépendances de tiers, les attaques contre la chaîne d'approvisionnement sont en augmentation.
Les attaques de la chaîne d'approvisionnement des logiciels peuvent passer inaperçues jusqu'à ce qu'une application ait été déployée et utilisée, ce qui les rend particulièrement inquiétantes. Les organisations qui distribuent sans le savoir des applications compromises à leurs clients mettent en danger des données sensibles.
Une attaque réussie peut nuire à la réputation de l'entreprise, l'exposer à des responsabilités ou à des sanctions réglementaires, etc.
Attaques contre la chaîne d'approvisionnement en logiciels : évolution
Les attaques contre la chaîne d'approvisionnement en logiciels sont passées du stade d'incidents ponctuels à celui d'entreprises sophistiquées à l'échelle industrielle. Des acteurs malveillants, y compris des États-nations et des familles criminelles organisées bien financées, exploitent les chaînes d'approvisionnement en logiciels.
Voici quelques exemples de méthodes d'attaque :
- Repo jacking: Les attaquants prennent le contrôle d'un dépôt (repo) utilisé par de nombreux développeurs.
- Empoisonnement par repo: Un code dangereux est injecté dans un dépôt légitime par l'intermédiaire d'un contributeur compromis.
- Typo squatting: Des bibliothèques malveillantes sont créées avec des noms similaires à ceux de bibliothèques populaires, dans l'espoir que les développeurs soient incités à les installer.
- Confusion de dépendance: Des paquets malveillants sont ajoutés aux dépôts publics, en exploitant la façon dont les logiciels tirent leurs dépendances des sources.
Les attaques contre la chaîne d'approvisionnement en logiciels peuvent viser des organismes gouvernementaux, des hôpitaux et des écoles de grande importance, mais aussi des entreprises ordinaires. Les motivations peuvent varier, allant de l'espionnage et du vol de propriété intellectuelle à des attaques par ransomware de type prise d'otage, facilitées par l'utilisation de crypto-monnaies comme méthode de paiement préférée.
Réponse des gouvernements et du secteur privé
La menace croissante des attaques contre la chaîne d'approvisionnement en logiciels a contraint les gouvernements et le secteur privé à réagir par une pléthore de nouvelles réglementations et de cadres de développement pour se protéger contre les dommages.
Par exemple, en Europe, la Cyber Resilience Act a été mis en œuvre pour améliorer la sécurité des produits numériques, tandis qu'aux États-Unis, le Software Bill of Materials (SBOM) vise à donner aux organisations une plus grande visibilité sur les composants qu'elles utilisent. Il est à espérer que le fait de savoir de quoi est composé votre code, l'augmentation des tests et une meilleure surveillance des menaces peuvent contribuer à réduire le risque d'attaques de la chaîne d'approvisionnement en logiciels.
Selon Gartner, le marché mondial de la sécurité de l'information en 2024 est estimé à 200 milliards de dollars, avec une croissance de 15 % en 2025, ce qui prouve que les problèmes de cybersécurité ne sont pas près de disparaître.
C'est pourquoi les entreprises doivent aller au-delà des mesures de conformité et devenir plus proactives dans leurs activités.
Défense contre les attaques de la chaîne d'approvisionnement
Que peuvent faire les chefs d'entreprise d'aujourd'hui pour se défendre contre les attaques de la chaîne d'approvisionnement en logiciels ?
- Blindage de l'application
Blindage multicouche blindage de l'application utilise plusieurs techniques avancées, telles que l'obscurcissement du code et la technologie anti-sabotageafin de rendre la lecture du code et l'ingénierie inverse quasiment impossibles, ce qui garantit que les données et la logique sensibles d'une application restent à l'abri de toute altération.
- Contrôle continu
Les vulnérabilités de la chaîne d'approvisionnement passent souvent inaperçues parce qu'elles sont introduites bien avant la mise en service de l'application. Des outils tels que Verimatrix XTD's Supply Chain Defender™ de Verimatrix XTD de Verimatrix XTD peuvent surveiller les instances d'applications pour détecter toute activité de porte dérobée en temps réel, garantissant ainsi que les communications non autorisées sont signalées avant qu'elles ne deviennent un problème grave.
- Liste blanche de connexions
En établissant une liste blanche des connexions sortantes légitimes, les entreprises peuvent empêcher les serveurs non autorisés de communiquer avec l'application, coupant ainsi le contrôle de l'application par l'attaquant.
- Pen testing
L'intégration de tests manuels ou de tests automatisés à la recherche de vulnérabilités connues dans des composants tiers peut aider à détecter les problèmes à un stade précoce, avant qu'ils ne prennent de l'ampleur. Il s'agit notamment d'utiliser des outils qui vérifient si les bibliothèques ont été altérées ou si elles contiennent du code malveillant.
- Mises à jour et correctifs réguliers
Le fait de maintenir tous les composants logiciels à jour réduit le risque que des vulnérabilités connues soient exploitées par des attaquants. L'application régulière de correctifs devrait faire partie du cycle de développement des logiciels de chaque organisation.
Conclusion
Les attaques contre la chaîne d'approvisionnement en logiciels ne sont pas en voie de disparition ; elles sont en augmentation et ont plus d'impact que jamais.
En adoptant une attitude plus proactive en matière de cybersécurité, avec des mesures de prévention et de protection, une surveillance continue, des tests d'intrusion, l'établissement de listes blanches de connexions, l'examen minutieux des bibliothèques de la chaîne d'approvisionnement en logiciels, ainsi que la détection et la réponse aux menaces en temps réel, les entreprises peuvent élever leur niveau de jeu face aux pirates informatiques.
Des solutions comme Verimatrix XTD sont prêtes à aider les développeurs, les ingénieurs logiciels, les équipes SOC et les RSSI à protéger leurs applications contre ces puissants dangers cachés.