La sécurité de la chaîne d'approvisionnement logicielle est plus large que SolarWinds et Log4J

SolarWinds et Log4j ont fait des problèmes de sécurité de la chaîne d’approvisionnement des logiciels un sujet d’intérêt et d’examen intense pour les entreprises et les gouvernements.

SolarWinds était un exemple terrifiant de ce qui peut mal tourner avec l’intégrité des systèmes de construction de logiciels : les services de renseignement russes ont piraté le système de construction de logiciels pour le logiciel SolarWinds, ajoutant subrepticement une porte dérobée à un logiciel et faisant du stop dans les réseaux informatiques de milliers de clients. Log4J incarne le problème d’entrée et de sortie des ordures des logiciels open source : si vous récupérez du code sans garantie sur Internet, il y aura des bogues, et certains de ces bogues seront exploitables.

Ce dont on parle moins, cependant, c’est que ces attaques ne représentent qu’une fraction des différents types de compromis possibles de la chaîne d’approvisionnement logicielle.

Examinons quelques-uns des types d’attaques de la chaîne d’approvisionnement logicielle les moins connus, mais non moins graves.

Commits non autorisés

Cette classe d’attaques décrit un utilisateur non autorisé compromettant un ordinateur portable de développeur ou un système de gestion de code source (par exemple, GitHub), puis poussant du code.

Un exemple particulièrement célèbre s’est produit lorsqu’un attaquant a compromis le serveur hébergeant le langage de programmation PHP et a inséré un code malveillant dans le langage de programmation lui-même. Bien que découvert rapidement, le code, s’il n’avait pas été corrigé, aurait permis un accès non autorisé généralisé sur de larges pans d’Internet.

Le paysage des fournisseurs de sécurité vend un rêve chimérique selon lequel les «scanners» et les produits «d’analyse de la composition logicielle» peuvent détecter toutes les vulnérabilités critiques au niveau des artefacts logiciels. Ils ne le font pas.

Heureusement, des outils récemment développés comme Sigstore et gitsign réduisent la probabilité de ce type d’attaque et les dommages si une telle attaque se produit.

Compromis du serveur de publication

Récemment, un attaquant, potentiellement les services de renseignement chinois, a piraté les serveurs qui distribuent l’application de messagerie chinoise MiMi, remplaçant l’application de chat normale par une version malveillante. Le logiciel malveillant a permis aux attaquants de surveiller et de contrôler le logiciel de chat à distance.

Cette attaque découle du fait que l’industrie du logiciel n’a pas traité les points critiques de la chaîne d’approvisionnement logicielle (comme les serveurs de publication ou les systèmes de construction) avec le même soin que les environnements de production et les périmètres de réseau.

Attaques de référentiel de packages open source

Du Python Package Index, qui héberge les packages Python, à npm, le logiciel mondial dépend désormais littéralement de vastes magasins de packages logiciels, l’équivalent de l’App Store d’Apple pour les programmeurs de logiciels open source.

A lire également