Table des Matières
Les applications cloud natives, composées de divers composants indépendants appelés microservices, sont créées à l'aide de l'approche de développement logiciel agile appelée DevSecOps, qui met l'accent sur la collaboration et la sécurité tout au long du processus.
Un aspect crucial du développement d'applications cloud natives est l'utilisation de l'intégration continue/livraison continue (CI/CD) pipelines. Ces pipelineElles permettent aux développeurs d'intégrer facilement les nouvelles modifications de code et de fournir des mises à jour continues à l'application. Cependant, des études récentes ont souligné l'importance de prendre en compte l'ensemble du cycle de développement logiciel (SDLC), connue sous le nom de chaîne d'approvisionnement logicielle (SSC), en matière de sécurité.
Dans le paysage en constante évolution du développement et de la sécurité des logiciels, il est crucial de garder une longueur d'avance sur les menaces potentielles. C'est pourquoi l'Institut national de Standards and Technology (NIST) a franchi une étape importante en publiant NIST SP 800-204D, incorporant software supply chain security (SSCS) mesures en CI/CD pipelines. Ce document s'appuie sur les bases du Secure Software Development Framework (SSDF), également publié par le NIST.
Pour les organisations cherchant à améliorer la sécurité de leur chaîne d'approvisionnement, cette nouvelle ressource de NIST constitue un atout précieux et opportun. Ces dernières années, nous avons été témoins de nombreuses tentatives sophistiquées visant à compromettre les chaînes d’approvisionnement en logiciels, soulignant le besoin urgent d’améliorer les mesures de sécurité. Un nombre stupéfiant de 82 % des DSI ont exprimé leurs inquiétudes quant à la vulnérabilité de leur chaîne d'approvisionnement logicielle face à des attaques potentielles.
Si la sécurité de votre chaîne d'approvisionnement vous préoccupe, sachez que de nombreuses organisations partagent ces préoccupations et cherchent des moyens de limiter les risques et de renforcer leur chaîne d'approvisionnement logicielle. Examinons de plus près les stratégies et les considérations à prendre en compte pour l'intégrer. SSCS des mesures dans vos opérations quotidiennes DevOps.
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.
SSCS CI/CD Pipelines : Le cœur de DevSecOps
Intégration continue et déploiement continu (CI/CD) Pipelines ont révolutionné le processus de développement logiciel, agissant comme l'épine dorsale du paradigme agile DevSecOps. Ces pipelineLes s sont des systèmes complexes qui gèrent du code provenant de diverses sources, y compris des référentiels internes de première partie et des référentiels tiers open source ou commerciaux.
Le processus de construction au sein de ces pipelines est une danse complexe de dépendances basées sur la logique des applications, générant des builds à partir de nombreux artefacts de code source individuels. Une fois ces artefacts créés, ils sont stockés dans des référentiels de build dédiés, soumis à des tests rigoureux avant d'être empaquetés. Ces packages sont stockés dans des référentiels spécifiques, analysés pour détecter les vulnérabilités et enfin déployés dans des environnements de test ou de production. Des plates-formes telles que les workflows GitHub Actions, GitLab Runners et Buildcloud ont pris en charge ces workflows.
Pour la sécurité de SSC au sein de ces flux de travail, la génération de données de provenance détaillées est primordiale. Ces données assurent la traçabilité et la responsabilisation tout au long du processus. pipeline, agissant comme un phare de transparence. Il est essentiel d'aborder à la fois les pratiques de sécurité internes de SSC pour les logiciels propriétaires et les pratiques de sécurité concernant les modules logiciels tiers. Les objectifs primordiaux sont doubles :
- Mettez en œuvre des mesures défensives pour empêcher toute altération des processus de production de logiciels et dissuader l’introduction de mises à jour de logiciels malveillants.
- Maintenir l'intégrité de CI/CD pipeline artefacts et activités en définissant les rôles et les autorisations de tous les acteurs impliqués dans le pipeline.
Infrastructure DevOps : la base de CI/CD
Les outils et technologies qui sous-tendent les opérations DevOps sont les véritables bêtes de somme de l'intégration continue. Leur configuration et leur maintenance sont primordiales pour la sécurité et l'intégrité de l'ensemble. CI/CD processus. Des audits et des mises à jour réguliers de ces outils ne sont pas négociables pour garantir que les vulnérabilités sont traitées de manière proactive.
Les scanners de vulnérabilités automatisés sont devenus de précieux alliés dans cette entreprise. En surveillant en permanence les outils et les configurations DevOps, ils peuvent identifier les vulnérabilités potentielles ou les erreurs de configuration en temps réel. Cette approche proactive fournit des informations sur l’état de sécurité global de l’environnement DevOps, permettant une correction rapide.
De plus, le choix de plugins dans la chaîne d’outils DevOps peut avoir un impact significatif sur la sécurité. Bien que les plugins améliorent les fonctionnalités, ils peuvent également introduire des vulnérabilités s’ils ne sont pas correctement vérifiés. Il est crucial d'évaluer les plugins en fonction de leur réputation, de leurs antécédents en matière de sécurité et du soutien de la communauté. Des révisions et mises à jour régulières de ces plugins peuvent renforcer davantage le paysage de la sécurité.
Sécurité dans CI/CD Pipelines : Un non négociable
Chaque étape de la CI/CD pipeline, de la construction du code à la gestion du code commits et les opérations pull-push, exigent des mesures de sécurité rigoureuses. Code de sécurité commits constituent le fondement de ces pipelines. L'application des révisions de code, la détection des codes malveillants et le respect des directives de sécurité peuvent réduire considérablement les vulnérabilités.
Les opérations pull-push, qui impliquent des modifications de code, doivent être renforcées par des mécanismes d'authentification sécurisés, tels que l'authentification multifacteur (MFA), pour empêcher tout accès non autorisé. Les processus de construction au sein du pipelineLes opérations doivent être menées dans des environnements isolés et sécurisés. L’utilisation d’agents de build sécurisés, la mise à jour régulière des outils de build et des dépendances et la garantie de l’intégrité du processus de build sont autant d’étapes cruciales dans cette direction.
En outre, l’intégrité des attestations et des preuves dans les systèmes de mise à jour des logiciels est cruciale. La vérification de l'authenticité et de l'intégrité des mises à jour logicielles garantit qu'elles restent intactes pendant le processus de déploiement.
Build Attestations: Le Gardien du CI/CD Processus
Les attestations sont les héros méconnus de la sécurisation de la chaîne d’approvisionnement en logiciels. Ces collections de métadonnées authentifiées, générées par des processus spécifiques, peuvent être vérifiées par les consommateurs, offrant ainsi un niveau de confiance et de transparence. Alors que les organisations donnent la priorité à la sécurisation de leur chaîne d’approvisionnement logicielle, la collecte de métadonnées liées au processus de développement et à la création d’applications devient primordiale.
Les métadonnées autour du processus de build offrent des informations sur les outils, les versions, les configurations et les dépendances utilisés, agissant comme un modèle pour la build. De même, les métadonnées sur la création d'applications fournissent un instantané des cadres de développement, des bibliothèques et des dépendances tierces utilisées. Cette collecte de données complète offre une visibilité inégalée sur l’origine et l’intégrité de la base de code.
En tirant parti des attestations et en collectant avec diligence des métadonnées, les organisations peuvent améliorer considérablement leur software supply chain security. Cette approche offre non seulement transparence et vérifiabilité, mais jette également les bases d'une surveillance, d'un audit et d'une analyse de sécurité efficaces tout au long du cycle de vie du développement logiciel.
Remarques finales et prochaines étapes
Des analyses récentes des vulnérabilités et des attaques logicielles ont mis en lumière une préoccupation urgente pour les entreprises développant des logiciels sous le paradigme agile DevSecOps qui s'appuie sur l'intégration continue/la livraison continue (CI/CD) pipelines. Les organisations gouvernementales et privées se concentrent désormais sur les activités couvrant l'ensemble du SDLC, collectivement appelées chaîne d'approvisionnement logicielle (SSC).
L'intégrité de chaque opération au sein du SSC est primordiale pour sa sécurité globale. Des menaces à cette intégrité peuvent provenir d'acteurs malveillants exploitant des vulnérabilités ou d'oublis ou de manquements à la diligence raisonnable pendant l'exécution. SDLCReconnaissant la gravité de ce problème, des initiatives telles que le décret exécutif (EO) 14028, le Secure Software Development Framework (SSDF) du NIST et divers forums industriels se sont penchés sur la sécurité du SSC, dans le but de renforcer la sécurité de tous les logiciels déployés.
Cette attention accrue souligne la nécessité de mesures concrètes pour intégrer l’assurance de sécurité SSC dans CI/CD pipelines de manière transparente. Une telle intégration est essentielle pour que les organisations gèrent efficacement la sécurité SSC lors du développement et du déploiement d'applications cloud natives. La construction d'une infrastructure de sécurité SSC performante exige l'intégration de divers éléments, notamment une nomenclature logicielle (SBOM) et des cadres d'attestation des composants logiciels. Alors que ces spécifications et exigences continuent d'évoluer grâce aux efforts collaboratifs des instances gouvernementales et industrielles, elles demeurent essentielles pour façonner l'avenir de la sécurité des SSC.
Prêt à explorer les subtilités de l'intégration SSCS Comment intégrer des mesures DevOps ? Téléchargez dès aujourd'hui le document complet de Xygeni. Découvrez des analyses détaillées, des bonnes pratiques et des stratégies concrètes pour renforcer vos processus DevOps. Dotez votre équipe des connaissances nécessaires pour les adopter. SSCS mesures de manière transparente et montrer la voie software supply chain security. Ne manquez pas cette occasion...Téléchargez.





