Comme nous en avons discuté dans notre contenu précédent sur software supply chain securityNous avons exploré le concept d'attaques de la chaîne d'approvisionnement et leur impact potentiel sur les organisations. Ces attaques exploitent souvent des vulnérabilités tout au long du cycle de développement logiciel.SDLC), présentant des risques importants à chaque étape. Aujourd'hui, nous allons nous pencher sur les plus répandus. software supply chain security menaces qui surviennent au cours de la phase source.
Avant tout, il est crucial de définir une attaque contre la chaîne d'approvisionnement et les conséquences spécifiques. Software Supply Chain Security Menaces qui surviennent au stade de la source.
Définition de l’attaque de la chaîne d’approvisionnement logicielle
L'Institut national américain de Standards et technologie (NIST) définit une attaque de la chaîne d'approvisionnement logicielle « lorsqu'une attaque se produit lorsqu'un acteur de cybermenace infiltre le réseau d'un éditeur de logiciels et utilise un code malveillant pour compromettre le logiciel avant que l'éditeur ne l'envoie à ses clients. Le logiciel compromis compromet alors les données ou le système du client. Les logiciels nouvellement acquis peuvent être compromis dès le départ, ou une compromission peut survenir par d'autres moyens, comme un correctif ou un correctif. Dans ces cas, la compromission se produit toujours avant que le correctif ou le correctif n'entre dans le réseau du client. Ces types d'attaques affectent tous les utilisateurs du logiciel compromis et peuvent avoir des conséquences étendues pour les clients de logiciels gouvernementaux, d'infrastructures critiques et du secteur privé. »
Étape source Software Supply Chain Security Menaces
L'étape source du cycle de vie de la chaîne d'approvisionnement logicielle englobe les phases initiales du développement logiciel, de l'idéation à la création du code source. Cette étape implique la sélection des outils, des bibliothèques et des composants, ainsi que le développement et la mise en œuvre des fonctionnalités de base du logiciel.
Software supply chain security les menaces au stade source font référence à des vulnérabilités de sécurité qui peuvent être exploitées pour introduire des modifications non autorisées ou malveillantes dans le code source. Cela inclut la menace d'individus non autorisés et d'individus autorisés introduisant des modifications non autorisées.
Exemples de menaces sources
Soumettre un mauvais code
Soumettre un mauvais code fait référence à la pratique de committransférer du code vers un référentiel source contenant des défauts, des erreurs ou des vulnérabilités. Cela peut aller d’un code malveillant introduit intentionnellement pour compromettre l’intégrité ou la sécurité du logiciel, à un code involontaire introduisant des bogues ou des vulnérabilités dus à de mauvaises pratiques de codage ou à un manque de tests. Un exemple de cette attaque vectorielle était le Attaque du NMP. En 2022, un pirate informatique a infiltré le référentiel de code source d'une bibliothèque de logiciels open source populaire appelée npm. Le pirate informatique a inséré un code malveillant dans le code de la bibliothèque, ce qui lui a permis d'accéder sans autorisation aux systèmes des organisations qui ont installé la bibliothèque. Le code malveillant a permis au pirate informatique de voler les données des systèmes concernés, d'installer des logiciels malveillants et de perturber les opérations. L’attaque a touché un large éventail d’organisations, notamment des agences gouvernementales, des entreprises et des particuliers.
Dépôt de sources de compromis
Un adversaire obtient un accès non autorisé à un référentiel de code source (SCM) et introduit des modifications malveillantes ou supprime du code légitime. Cela peut être réalisé par diverses méthodes, comme l'exploitation de vulnérabilités dans le SCM, en compromettant les informations d'identification d'un développeur ayant accès au référentiel, ou en accédant à l'infrastructure sous-jacente hébergeant le SCM. Un exemple de cette attaque vectorielle était le Attaque PHP. Un attaquant a compromis le serveur Git auto-hébergé de PHP, qui est un référentiel sécurisé permettant de stocker et de gérer le code source du langage de programmation PHP. L'attaquant a pu injecter deux logiciels malveillants commits dans la base de code principale de PHP. Ces commitDes portes dérobées ont été ajoutées qui ont permis à l'attaquant d'obtenir un accès non autorisé aux installations PHP. Les portes dérobées permettaient à l'attaquant d'exécuter du code arbitraire sur n'importe quelle installation PHP, qui pourrait être utilisé pour voler des données, installer des logiciels malveillants ou perturber les opérations. L’attaque a également porté atteinte à la réputation de PHP, car elle a soulevé des inquiétudes quant à la sécurité du langage de programmation.
Construire à partir d'une source modifiée
Un adversaire obtient une copie du code source à partir d'une source autre que le référentiel de code source officiel et l'utilise pour créer et déployer le logiciel. Ce code source modifié peut contenir du code malveillant, des portes dérobées ou d'autres modifications nuisibles pouvant compromettre l'intégrité, la fonctionnalité ou la sécurité du logiciel. Un exemple de cette attaque vectorielle était le Webmin Attaque. Un attaquant a obtenu un accès non autorisé à l'infrastructure de build de Webmin, qui est responsable de la compilation et du packaging du logiciel Webmin. L'attaquant a modifié l'infrastructure de construction pour utiliser des fichiers sources qui n'étaient pas présents dans le référentiel source officiel de Webmin.
Écrire du code non sécurisé
Des pratiques de codage non sécurisées, intentionnelles ou non, peuvent introduire des vulnérabilités dans les logiciels. Ces vulnérabilités peuvent être exploitées par des attaquants pour obtenir un accès non autorisé, modifier ou voler des données, ou perturber les opérations. Un exemple de cette attaque vectorielle était le Attaque Apache Struts. En 2003, un pirate informatique a infiltré le référentiel de code source de la bibliothèque de logiciels open source appelée Apache Struts. Le pirate informatique a introduit une vulnérabilité dans la bibliothèque qui lui a permis d'accéder sans autorisation aux systèmes des organisations qui ont installé la bibliothèque. La vulnérabilité a permis au pirate informatique d'exécuter du code arbitraire sur les systèmes concernés, qui pourrait être utilisé pour voler des données, installer des logiciels malveillants et perturber les opérations. L’attaque a touché un large éventail d’organisations, notamment des agences gouvernementales, des entreprises et des particuliers.
Falsification de fichiers critiques
L'altération ou la modification de fichiers critiques au cours du cycle de vie du développement logiciel peut avoir de graves conséquences, notamment l'introduction de code malveillant, la compromission de données sensibles et la perturbation des opérations logicielles. Un exemple de cette attaque vectorielle de falsification était le Attaque Maven. En 2020, des pirates ont infiltré le référentiel de code source d’une bibliothèque de logiciels open source populaire appelée Maven. Les pirates ont inséré du code malveillant dans le fichier pom.xml de la bibliothèque, qui est utilisé pour configurer le processus de construction. Le code malveillant a permis aux pirates d'injecter leurs dépendances dans le processus de construction, qui ont ensuite été incluses dans le logiciel compilé. Ces dépendances contenaient des portes dérobées qui permettaient aux pirates d'accéder sans autorisation aux systèmes des organisations qui installaient le logiciel.
Ouvrir la voie : rationaliser les opérations avec une vision claire
Dépassez le domaine de la sécurité et vous constaterez que la visualisation de votre chaîne d'approvisionnement fait plus que protéger : c'est comme allumer une lumière dans une pièce sombre, révélant les chemins les plus rapides et les plus efficaces à travers vos opérations. Il donne aux équipes une vue d'ensemble de l'écosystème de développement, leur permettant d'identifier les actifs redondants et les éléments non maintenus. Cette clarté est particulièrement bénéfique dans les projets à grande échelle où plusieurs unités et composants s’entrelacent.
Remarques finales
En comprenant les différents types d'étape source software supply chain security menaces et en mettant en œuvre des mesures de sécurité appropriées, les organisations peuvent contribuer à se protéger contre ces attaques dévastatrices.
- Les attaques de la chaîne d'approvisionnement logicielle peuvent introduire du code malveillant dans les logiciels à n'importe quelle étape du cycle de vie de développement, y compris l'étape source.
- Les menaces au niveau source incluent la soumission de code incorrect, la compromission des référentiels sources, la création à partir de sources modifiées, l'écriture de code non sécurisé et la falsification de fichiers critiques.
- Les organisations doivent mettre en œuvre des mesures de sécurité complètes tout au long du cycle de vie du développement logiciel pour atténuer les risques d'attaques de la chaîne d'approvisionnement.
Vous voulez garder une longueur d'avance dans software supply chain security?
Restez à l'écoute de notre série de blogs à venir, où nous examinerons les attaques les plus répandues qui se produisent tout au long du cycle de vie du développement logiciel. Du étape de construction Du déploiement et au-delà, nous vous fournirons les connaissances et les stratégies nécessaires pour protéger votre organisation contre ces menaces insidieuses.
Ne manquez pas! Abonnez-vous à notre blog aujourd'hui et soyez le premier informé de nos dernières informations sur software supply chain security.
Ensemble, nous pouvons créer un écosystème logiciel plus résilient et plus sécurisé pour tous.
Regardez notre démo vidéo





