Google Cloud offre un ensemble complet et modulaire de fonctionnalités et d'outils dans ses Google Cloud produits que vos équipes de développement, DevOps et de sécurité peuvent utiliser pour améliorer la stratégie de sécurité de votre chaîne d'approvisionnement logicielle.
Chaînes d'approvisionnement logicielles
Une chaîne d'approvisionnement logicielle comprend l'ensemble du code, des personnes, des systèmes et des processus qui contribuent au développement et à la livraison de vos logiciels, à la fois au sein et en dehors de votre organisation. La plate-forme inclut :
- Le code que vous créez, ses dépendances, ainsi que les logiciels internes et externes que vous utilisez pour développer, compiler, empaqueter, installer et exécuter vos logiciels.
- Les processus et les règles d'accès au système, de test, d'examen, de surveillance et de commentaires, de communication et d'approbation.
- Les systèmes auxquels vous faites confiance pour développer, compiler, stocker et exécuter vos logiciels et leurs dépendances.
Compte tenu de la portée et de la complexité des chaînes d'approvisionnement logicielles, il existe de nombreuses façons d'introduire des modifications non autorisées dans les logiciels que vous fournissez à vos utilisateurs. Ces vecteurs d'attaque couvrent le cycle de vie des logiciels. Certaines attaques sont ciblées, comme celle qui a visé le SolarWinds, tandis que d'autres menaces sont indirectes ou pénètrent dans la chaîne d'approvisionnement en raison de faiblesses dans les processus ou de négligence.
Par exemple, une évaluation de la
faille Apache Log4j réalisée en décembre 2021 par l'équipe
Google Open Source Insights a révélé que plus de 17 000
packages étaient concernés dans Maven Central. La plupart de ces packages ne dépendaient pas directement du package log4j-core vulnérable, mais comportaient des dépendances qui nécessitaient le package.
Les pratiques et processus de développement ont également un impact sur les chaînes d'approvisionnement logicielles. Les lacunes dans les processus, telles que l'absence de revue de code ou de critères de sécurité pour le déploiement en production, peuvent permettre à du code malveillant de pénétrer involontairement dans la chaîne d'approvisionnement. De même, l'absence de gestion des dépendances augmente le risque de failles provenant de sources externes ou de packages logiciels que vous utilisez pour le développement, la compilation ou le déploiement.
Sécuriser les chaînes d'approvisionnement logicielles sur Google Cloud
Google Cloud fournit :
- Des produits et des fonctionnalités qui intègrent les bonnes pratiques de sécurité pour le développement, la compilation, les tests, le déploiement et l'application des règles.
- Des tableaux de bord dans la Google Cloud console qui fournissent des informations de sécurité sur la source, les compilations, les artefacts, les déploiements et les environnements d'exécution. Ces informations incluent les failles dans les artefacts de compilation, la provenance du build et les listes de dépendances de la nomenclature logicielle (SBOM).
- Des informations identifiant le niveau de maturité de la sécurité de votre chaîne d'approvisionnement logicielle à l'aide du framework SLSA (Supply-chain Levels for Software Artifacts).
Le schéma suivant illustre Google Cloud les services qui fonctionnent ensemble pour protéger la chaîne d'approvisionnement logicielle. Vous pouvez intégrer tout ou partie de ces composants à votre chaîne d'approvisionnement logicielle pour améliorer votre stratégie de sécurité.

Protéger l'environnement de développement
Cloud Workstations fournit des environnements de développement entièrement gérés sur Google Cloud. Les administrateurs informatiques et de sécurité peuvent provisionner, faire évoluer, gérer et protéger leurs environnements de développement. Les développeurs peuvent accéder à des environnements de développement avec des configurations cohérentes et des outils personnalisables.
Cloud Workstations déplace la sécurité vers la gauche en améliorant la stratégie de sécurité de vos environnements de développement d'applications. Les fonctionnalités de sécurité incluent VPC Service Controls, les entrées et sorties privées, la mise à jour forcée des images, ainsi que les règles d'accès Identity and Access Management. Cloud Workstations offre des fonctionnalités supplémentaires de protection contre la perte de données lorsqu'il est associé à Chrome Enterprise Premium.
Protéger l'approvisionnement logiciel
La sécurisation de l'approvisionnement logiciel (artefacts de compilation et dépendances d'application) est une étape essentielle pour améliorer la sécurité de votre chaîne d'approvisionnement logicielle. L'utilisation généralisée de logiciels Open Source rend ce problème particulièrement difficile.
Assured Open Source Software fournit des packages Open Source que Google a vérifiés et testés. Ces packages sont créés à l'aide des pipelines sécurisés de Google. Ils sont régulièrement analysés et testés afin de détecter les failles.
Artifact Registry est un gestionnaire de packages universel pour tous vos artefacts et dépendances de compilation. En centralisant tous vos artefacts et dépendances, vous bénéficiez d'une meilleure visibilité et d'un meilleur contrôle sur le code de votre chaîne d'approvisionnement logicielle.
- Les dépôts distants stockent les artefacts provenant de sources externes prédéfinies telles que Docker Hub, Maven Central, le Python Package Index (PyPI), Debian ou CentOS, ainsi que des sources définies par l'utilisateur pour les formats compatibles. La mise en cache des artefacts dans les dépôts distants réduit le temps de téléchargement, améliore la disponibilité des packages et inclut l'analyse des failles si elle est activée.
- Les dépôts virtuels consolident les dépôts du même format derrière un seul point de terminaison et vous permettent de contrôler l'ordre de recherche dans les dépôts en amont Vous pouvez hiérarchiser vos packages privés, ce qui réduit le risque de confusion de dépendances
- Vous pouvez également protéger les artefacts en configurant des fonctionnalités de sécurité telles que le contrôle des accès, les périmètres de service VPC Service Controls, les règles d'administration et d'autres fonctionnalités de sécurité. Pour en savoir plus, consultez la documentation Artifact Registry.
Artifact Analysis détecte de manière proactive les failles des artefacts dans Artifact Registry.
- Analyse intégrée à la demande ou automatisée des images de conteneurs de base et des packages de langages dans les conteneurs.
- Possibilité de générer une nomenclature logicielle (SBOM) et d'importer des instructions VEX (Vulnerability Exploitability eXchange) pour les images dans Artifact Registry.
Protéger le pipeline CI/CD
Les acteurs malveillants peuvent attaquer les chaînes d'approvisionnement logicielles en compromettant les pipelines CI/CD. Les produits suivants vous aident à sécuriser votre pipeline CI/CD :
Cloud Build exécute vos compilations sur Google Cloud l'infrastructure. Les fonctionnalités de sécurité incluent des autorisations IAM précises, VPC Service Controls et des environnements de compilation isolés et éphémères. Les fonctionnalités spécifiques à la sécurité de la chaîne d'approvisionnement logicielle incluent :
- La compatibilité avec les builds SLSA de niveau 3 pour les images de conteneurs.
- La possibilité de générer une provenance de build authentifiée et non falsifiable pour les applications conteneurisées.
Les insights sur la sécurité pour les applications compilées. Notre offre comprend :
- Le niveau de build SLSA, qui identifie le niveau de maturité de votre processus de compilation logicielle selon la spécification SLSA.
- Les failles dans les artefacts de compilation.
- La provenance du build, qui est une collection de métadonnées vérifiables concernant un build. Elle inclut des détails tels que les condensés des images compilées, les emplacements de la source d'entrée, la chaîne d'outils de compilation, les étapes de compilation et la durée de compilation.
Pour savoir comment afficher les insights sur la sécurité des applications compilées, consultez Créer une application et afficher les insights sur la sécurité.
Cloud Deploy automatise la diffusion de vos applications dans une série d'environnements cibles selon une séquence définie. Il prend en charge la livraison continue directement dans Google Kubernetes Engine, GKE Enterprise et Cloud Run, avec des approbations et des rollbacks en un clic, la sécurité et l'audit d'entreprise, ainsi que des métriques de livraison intégrées. Il affiche également des informations de sécurité pour les applications déployées.
Protéger les applications en production
Google Kubernetes Engine (GKE) et Cloud Run contribuent à sécuriser la stratégie de sécurité de vos environnements d'exécution. Ils sont tous deux dotés de fonctionnalités de sécurité pour protéger vos applications au moment de l'exécution.
GKE peut évaluer la stratégie de sécurité de vos conteneurs et vous fournir activement des conseils concernant les paramètres de cluster, la configuration des charges de travail et les failles. GKE inclut un tableau de bord de stratégie de sécurité qui fournit des recommandations concrètes et avisées pour améliorer votre stratégie de sécurité. Pour savoir comment afficher les insights sur la sécurité dans le tableau de bord de stratégie de sécurité GKE, consultez Déployer sur GKE et afficher les insights sur la sécurité.
Cloud Run inclut un panneau de sécurité qui affiche des insights sur la sécurité de la chaîne d'approvisionnement logicielle, tels que les informations de conformité au niveau de build SLSA, la provenance du build et les failles détectées dans les services en cours d'exécution. Pour savoir comment afficher les insights sur la sécurité dans le panneau d'insights sur la sécurité Cloud Run, consultez Déployer sur Cloud Run et afficher les insights sur la sécurité.
Établir une chaîne de confiance grâce à des règles
L'autorisation binaire vous aide à établir, maintenir et vérifier une chaîne de confiance tout au long de votre chaîne d'approvisionnement logicielle en collectant des attestations, qui sont des documents numériques certifiant les images.
Une attestation signifie que l'image associée a été créée en exécutant un processus spécifique et obligatoire. Grâce à ces attestations collectées, l'autorisation binaire permet de définir, de valider et d'appliquer des règles basées sur la confiance. Elle s'assure que l'image n'est déployée que lorsque les attestations respectent les règles de votre organisation. Vous pouvez configurer l'autorisation binaire pour qu'elle vous avertisse si elle détecte des non-respects des règles.
Par exemple, les attestations peuvent indiquer qu'une image :
- A été créée par Cloud Build.
- Ne contient pas de failles dont la gravité est supérieure à un niveau spécifié. Si certaines failles ne s'appliquent pas à vos applications, vous pouvez les ajouter à une liste d'autorisation.
Vous pouvez utiliser l'autorisation binaire avec GKE et Cloud Run.
Tarifs
Chaque Google Cloud service a sa propre tarification. Pour en savoir plus, consultez la documentation sur les tarifs des services qui vous intéressent.
- Cloud Workstations
- Cloud Code : disponible sans frais pour tous les Google Cloud clients et sans frais.
- Assured OSS : contactez l'équipe commerciale pour obtenir des informations sur les tarifs.
- Artifact Registry
- Artifact Analysis
- Cloud Build
- Cloud Deploy
- Cloud Run
- GKE
- Autorisation binaire
Étape suivante
- Découvrez les menaces qui pèsent sur les chaînes d'approvisionnement logicielles.
- Évaluez votre stratégie de sécurité existante afin d'identifier les moyens de la renforcer.
- Découvrez les pratiques permettant de protéger votre chaîne d'approvisionnement logicielle et comment Google Cloud les produits prennent en charge ces pratiques.