{"id":445,"date":"2026-03-24T08:44:10","date_gmt":"2026-03-24T07:44:10","guid":{"rendered":"https:\/\/secure-pipelines.com\/?p=445"},"modified":"2026-03-24T08:48:10","modified_gmt":"2026-03-24T07:48:10","slug":"software-supply-chain-security-comprehensive-guide","status":"publish","type":"post","link":"https:\/\/secure-pipelines.com\/fr\/software-supply-chain\/software-supply-chain-security-comprehensive-guide\/","title":{"rendered":"S\u00e9curit\u00e9 de la Cha\u00eene d&rsquo;Approvisionnement Logicielle : Guide Complet pour les \u00c9quipes d&rsquo;Ing\u00e9nierie"},"content":{"rendered":"<h2>Introduction : Pourquoi la s\u00e9curit\u00e9 de la cha\u00eene d&rsquo;approvisionnement logicielle est essentielle<\/h2>\n<p>En d\u00e9cembre 2020, le monde a d\u00e9couvert que <strong>SolarWinds<\/strong> \u2014 une plateforme de gestion informatique largement reconnue \u2014 avait \u00e9t\u00e9 compromise. Des attaquants ont inject\u00e9 du code malveillant dans le processus de build du logiciel Orion, distribuant une mise \u00e0 jour corrompue \u00e0 environ 18 000 organisations, dont des agences gouvernementales am\u00e9ricaines et des entreprises du Fortune 500. L&rsquo;attaque ne visait pas directement le d\u00e9p\u00f4t de code source de SolarWinds, mais son <em>pipeline de build<\/em>. Cet incident unique a red\u00e9fini la mani\u00e8re dont l&rsquo;industrie con\u00e7oit la s\u00e9curit\u00e9 logicielle.<\/p>\n<p>Puis est arriv\u00e9 <strong>Log4Shell<\/strong> fin 2021. Une vuln\u00e9rabilit\u00e9 critique d&rsquo;ex\u00e9cution de code \u00e0 distance dans Apache Log4j \u2014 une biblioth\u00e8que de journalisation Java omnipr\u00e9sente \u2014 a expos\u00e9 pratiquement toutes les entreprises de la plan\u00e8te. Les organisations se sont pr\u00e9cipit\u00e9es pour d\u00e9terminer si elles <em>utilisaient<\/em> m\u00eame Log4j, r\u00e9v\u00e9lant un manque fondamental de visibilit\u00e9 sur les d\u00e9pendances logicielles. La le\u00e7on \u00e9tait claire : on ne peut pas s\u00e9curiser ce que l&rsquo;on ne peut pas voir.<\/p>\n<p>Plus r\u00e9cemment, la <strong>backdoor XZ Utils<\/strong> (CVE-2024-3094) d\u00e9but 2024 a d\u00e9montr\u00e9 un vecteur d&rsquo;attaque encore plus insidieux. Une campagne patiente d&rsquo;ing\u00e9nierie sociale \u00e0 long terme a permis \u00e0 un contributeur malveillant d&rsquo;ins\u00e9rer une porte d\u00e9rob\u00e9e dans une biblioth\u00e8que de compression critique utilis\u00e9e dans presque toutes les distributions Linux. L&rsquo;attaque ciblait sp\u00e9cifiquement le syst\u00e8me de build, ne s&rsquo;activant que sous certaines conditions de compilation \u2014 une attaque de la supply chain d&rsquo;une sophistication extraordinaire.<\/p>\n<p>Ces incidents partagent un fil conducteur commun : <strong>les attaquants ne ciblent plus seulement votre code applicatif \u2014 ils ciblent l&rsquo;ensemble de la cha\u00eene d&rsquo;outils, de d\u00e9pendances, de processus et d&rsquo;infrastructures qui livre le logiciel en production.<\/strong> C&rsquo;est la cha\u00eene d&rsquo;approvisionnement logicielle, et la s\u00e9curiser est devenu l&rsquo;un des d\u00e9fis les plus critiques de l&rsquo;ing\u00e9nierie moderne.<\/p>\n<p>Ce guide complet couvre toutes les dimensions de la s\u00e9curit\u00e9 de la supply chain logicielle \u2014 de la gestion des d\u00e9pendances \u00e0 l&rsquo;int\u00e9grit\u00e9 des builds, en passant par la signature des artefacts, la provenance, les SBOMs et les cadres de conformit\u00e9. Que vous soyez ing\u00e9nieur DevOps, architecte s\u00e9curit\u00e9 ou responsable technique, ce guide fournit une feuille de route pratique et de bout en bout pour renforcer votre cha\u00eene d&rsquo;approvisionnement logicielle.<\/p>\n<h2>Comprendre le mod\u00e8le de la cha\u00eene d&rsquo;approvisionnement logicielle<\/h2>\n<p>Avant de pouvoir s\u00e9curiser la supply chain, nous devons en comprendre les composants. Une cha\u00eene d&rsquo;approvisionnement logicielle moderne se compose de cinq \u00e9tapes interconnect\u00e9es :<\/p>\n<h3>1. Code source<\/h3>\n<p>C&rsquo;est l\u00e0 que les d\u00e9veloppeurs \u00e9crivent, r\u00e9visent et commitent le code. L&rsquo;\u00e9tape du source inclut les syst\u00e8mes de contr\u00f4le de version (Git), les processus de revue de code, les r\u00e8gles de protection de branches et la signature des commits. Les menaces \u00e0 ce stade incluent les comptes d\u00e9veloppeurs compromis, les commits malveillants et les modifications non autoris\u00e9es des fichiers de configuration CI\/CD (empoisonnement de pipeline).<\/p>\n<h3>2. D\u00e9pendances<\/h3>\n<p>Les applications modernes d\u00e9pendent fortement de biblioth\u00e8ques et packages tiers. Une application Node.js typique peut importer des centaines, voire des milliers de d\u00e9pendances transitives. L&rsquo;\u00e9tape des d\u00e9pendances englobe les registres de packages (npm, PyPI, Maven Central), les fichiers de verrouillage (lockfiles), la r\u00e9solution de versions et l&rsquo;analyse de vuln\u00e9rabilit\u00e9s. C&rsquo;est l&rsquo;une des \u00e9tapes de la supply chain les plus fr\u00e9quemment exploit\u00e9es.<\/p>\n<h3>3. Build<\/h3>\n<p>L&rsquo;\u00e9tape de build transforme le code source et les d\u00e9pendances en artefacts d\u00e9ployables. Cela inclut la compilation, le bundling, la construction d&rsquo;images de conteneurs et l&rsquo;ex\u00e9cution des tests. Les syst\u00e8mes de build \u2014 qu&rsquo;il s&rsquo;agisse de Jenkins, GitHub Actions, GitLab CI ou d&rsquo;autres \u2014 sont des cibles de haute valeur car compromettre un processus de build peut injecter du code malveillant dans chaque artefact produit.<\/p>\n<h3>4. Artefacts<\/h3>\n<p>Les sorties de build \u2014 images de conteneurs, binaires, packages \u2014 sont stock\u00e9es dans des registres d&rsquo;artefacts (Docker Hub, Amazon ECR, Artifactory, etc.). L&rsquo;\u00e9tape des artefacts implique la signature, la v\u00e9rification, l&rsquo;attachement de m\u00e9tadonn\u00e9es et le contr\u00f4le d&rsquo;acc\u00e8s. Sans contr\u00f4les d&rsquo;int\u00e9grit\u00e9 appropri\u00e9s, les artefacts peuvent \u00eatre alt\u00e9r\u00e9s apr\u00e8s le build.<\/p>\n<h3>5. D\u00e9ploiement<\/h3>\n<p>La derni\u00e8re \u00e9tape livre les artefacts aux environnements de production. Le d\u00e9ploiement implique les plateformes d&rsquo;orchestration (Kubernetes), les contr\u00f4leurs d&rsquo;admission, l&rsquo;application des politiques et la v\u00e9rification en temps r\u00e9el. C&rsquo;est la derni\u00e8re ligne de d\u00e9fense \u2014 le point o\u00f9 vous v\u00e9rifiez que ce que vous d\u00e9ployez est exactement ce qui a \u00e9t\u00e9 construit.<\/p>\n<p>Chaque \u00e9tape pr\u00e9sente des surfaces d&rsquo;attaque uniques et n\u00e9cessite des mesures d\u00e9fensives sp\u00e9cifiques. Le reste de ce guide d\u00e9taille chacune d&rsquo;entre elles.<\/p>\n<h2>Risques et d\u00e9fenses li\u00e9s aux d\u00e9pendances<\/h2>\n<p>Les d\u00e9pendances sont sans doute le composant le plus vuln\u00e9rable de la cha\u00eene d&rsquo;approvisionnement logicielle. Les \u00e9tudes montrent syst\u00e9matiquement que plus de 80 % du code des applications modernes provient de d\u00e9pendances open source. Cela cr\u00e9e une surface d&rsquo;attaque \u00e9norme, difficile \u00e0 surveiller et \u00e0 contr\u00f4ler.<\/p>\n<h3>Attaques courantes sur les d\u00e9pendances<\/h3>\n<p><strong>La confusion de d\u00e9pendances<\/strong> (aussi appel\u00e9e confusion d&rsquo;espace de noms) exploite la mani\u00e8re dont les gestionnaires de packages r\u00e9solvent les d\u00e9pendances. Lorsqu&rsquo;une organisation utilise des packages internes dont les noms n&rsquo;existent pas sur les registres publics, un attaquant peut publier un package malveillant portant le m\u00eame nom sur le registre public. Si le gestionnaire de packages est mal configur\u00e9, il peut r\u00e9cup\u00e9rer le package de l&rsquo;attaquant au lieu du package interne. Ce vecteur d&rsquo;attaque a \u00e9t\u00e9 rendu c\u00e9l\u00e8bre par le chercheur en s\u00e9curit\u00e9 Alex Birsan en 2021, affectant Apple, Microsoft et d&rsquo;autres grandes entreprises.<\/p>\n<p><strong>Le typosquatting<\/strong> cible les d\u00e9veloppeurs qui commettent des erreurs typographiques en sp\u00e9cifiant les noms de packages. Les attaquants publient des packages malveillants dont les noms ressemblent \u00e9troitement \u00e0 des biblioth\u00e8ques populaires \u2014 par exemple, <code>reqeusts<\/code> au lieu de <code>requests<\/code>, ou <code>lodash-utils<\/code> imitant <code>lodash<\/code>. Ces packages contiennent souvent du code d&rsquo;exfiltration de donn\u00e9es ou de minage de cryptomonnaies.<\/p>\n<p><strong>Les comptes mainteneurs compromis<\/strong> permettent aux attaquants de publier des mises \u00e0 jour malveillantes sur des packages l\u00e9gitimes et largement utilis\u00e9s. L&rsquo;incident <code>event-stream<\/code> en 2018 et la compromission de <code>ua-parser-js<\/code> en 2021 en sont des exemples notables. Parce que les packages sont l\u00e9gitimes et de confiance, le code malveillant se propage rapidement.<\/p>\n<p>Pour une analyse approfondie de ces vecteurs d&rsquo;attaque et des d\u00e9fenses pratiques, consultez notre guide d\u00e9taill\u00e9 : <a href=\"https:\/\/secure-pipelines.com\/fr\/non-categorise\/dependency-confusion-artifact-poisoning-attacks-defenses\/\">Confusion de d\u00e9pendances et empoisonnement d&rsquo;artefacts : attaques et d\u00e9fenses<\/a>.<\/p>\n<h3>Strat\u00e9gies d\u00e9fensives<\/h3>\n<p><strong>Fichiers de verrouillage et \u00e9pinglage de versions :<\/strong> Commitez toujours les lockfiles (<code>package-lock.json<\/code>, <code>Pipfile.lock<\/code>, <code>go.sum<\/code>, <code>Cargo.lock<\/code>) dans le contr\u00f4le de version. Les lockfiles enregistrent les versions exactes et les hachages d&rsquo;int\u00e9grit\u00e9 de chaque d\u00e9pendance, garantissant des installations reproductibles. \u00c9pinglez les d\u00e9pendances \u00e0 des versions exactes plut\u00f4t que d&rsquo;utiliser des plages de versions pour \u00e9viter les mises \u00e0 jour inattendues.<\/p>\n<p><strong>Configuration du registre priv\u00e9 :<\/strong> Configurez les gestionnaires de packages pour r\u00e9soudre les packages internes exclusivement depuis votre registre priv\u00e9. Utilisez des packages scop\u00e9s (par ex., <code>@votreentreprise\/nom-du-package<\/code>) et configurez les mappages de registres pour pr\u00e9venir les attaques par confusion de d\u00e9pendances. Des outils comme Artifactory et Nexus peuvent servir de proxy pour les registres publics tout en fournissant une couche suppl\u00e9mentaire d&rsquo;analyse et de contr\u00f4le.<\/p>\n<p><strong>Analyse de vuln\u00e9rabilit\u00e9s :<\/strong> Int\u00e9grez des outils d&rsquo;analyse de composition logicielle (SCA) dans votre pipeline CI\/CD. Des outils comme <code>Trivy<\/code>, <code>Grype<\/code>, <code>Snyk<\/code> et <code>Dependabot<\/code> analysent les d\u00e9pendances par rapport aux bases de donn\u00e9es de vuln\u00e9rabilit\u00e9s (NVD, OSV, GitHub Advisory Database) et peuvent bloquer les builds qui introduisent des vuln\u00e9rabilit\u00e9s connues. Pour une comparaison des outils d&rsquo;analyse disponibles, consultez nos <a href=\"\/fr\/ci-cd-security\/\">guides comparatifs des outils de s\u00e9curit\u00e9 CI\/CD<\/a>.<\/p>\n<p><strong>Revue des d\u00e9pendances et liste d&rsquo;autorisation :<\/strong> \u00c9tablissez un processus de revue pour les nouvelles d\u00e9pendances. \u00c9valuez les packages en fonction de l&rsquo;activit\u00e9 de maintenance, du nombre de contributeurs, des statistiques de t\u00e9l\u00e9chargement et des vuln\u00e9rabilit\u00e9s connues. Certaines organisations maintiennent une liste de packages approuv\u00e9s et exigent une revue de s\u00e9curit\u00e9 avant d&rsquo;en ajouter de nouveaux.<\/p>\n<h2>Int\u00e9grit\u00e9 du build : builds reproductibles et herm\u00e9tiques<\/h2>\n<p>L&rsquo;\u00e9tape de build est celle o\u00f9 le code source et les d\u00e9pendances sont transform\u00e9s en artefacts d\u00e9ployables. Si un attaquant peut compromettre le processus de build, il peut injecter du code malveillant dans la sortie sans modifier le code source \u2014 exactement comme cela s&rsquo;est produit lors de l&rsquo;attaque SolarWinds. L&rsquo;int\u00e9grit\u00e9 du build garantit que le processus de build lui-m\u00eame est digne de confiance.<\/p>\n<h3>Builds reproductibles<\/h3>\n<p>Un <strong>build reproductible<\/strong> est un build qui produit une sortie identique \u00e0 partir du m\u00eame code source, des m\u00eames d\u00e9pendances, du m\u00eame environnement de build et des m\u00eames instructions de build. La reproductibilit\u00e9 est une propri\u00e9t\u00e9 de s\u00e9curit\u00e9 puissante car elle permet une v\u00e9rification ind\u00e9pendante : n&rsquo;importe qui peut reconstruire \u00e0 partir des m\u00eames entr\u00e9es et confirmer que la sortie correspond. Si la sortie diff\u00e8re, cela indique une alt\u00e9ration.<\/p>\n<p>Obtenir des builds reproductibles n\u00e9cessite d&rsquo;\u00e9liminer les sources de non-d\u00e9terminisme :<\/p>\n<ul>\n<li><strong>Horodatages :<\/strong> Les horodatages int\u00e9gr\u00e9s font varier les sorties de build entre les ex\u00e9cutions. Utilisez <code>SOURCE_DATE_EPOCH<\/code> pour normaliser les horodatages.<\/li>\n<li><strong>Ordre des fichiers :<\/strong> L&rsquo;ordre d&rsquo;\u00e9num\u00e9ration du syst\u00e8me de fichiers peut varier. Assurez un ordre d\u00e9terministe des fichiers dans les archives et les couches de syst\u00e8mes de fichiers.<\/li>\n<li><strong>Al\u00e9atoire :<\/strong> Certains outils int\u00e8grent des valeurs al\u00e9atoires (UUIDs, nonces) dans la sortie. Utilisez des graines d\u00e9terministes ou supprimez les \u00e9l\u00e9ments al\u00e9atoires.<\/li>\n<li><strong>D\u00e9pendances flottantes :<\/strong> Assurez-vous que toutes les d\u00e9pendances sont \u00e9pingl\u00e9es \u00e0 des versions exactes avec des hachages d&rsquo;int\u00e9grit\u00e9 v\u00e9rifi\u00e9s lors de l&rsquo;installation.<\/li>\n<\/ul>\n<h3>Builds herm\u00e9tiques<\/h3>\n<p>Un <strong>build herm\u00e9tique<\/strong> est isol\u00e9 de l&rsquo;environnement h\u00f4te et du r\u00e9seau. Il ne peut acc\u00e9der qu&rsquo;aux entr\u00e9es explicitement d\u00e9clar\u00e9es \u2014 pas d&rsquo;appels r\u00e9seau, pas d&rsquo;acc\u00e8s aux chemins du syst\u00e8me de fichiers h\u00f4te en dehors du bac \u00e0 sable de build, pas de d\u00e9pendance \u00e0 des outils pr\u00e9install\u00e9s. Les builds herm\u00e9tiques garantissent que la sortie du build ne d\u00e9pend que des entr\u00e9es d\u00e9clar\u00e9es, rendant impossible pour un attaquant d&rsquo;injecter des d\u00e9pendances ou des outils suppl\u00e9mentaires pendant le processus de build.<\/p>\n<p>Les syst\u00e8mes de build comme <strong>Bazel<\/strong>, <strong>Buck2<\/strong> et <strong>Pants<\/strong> sont con\u00e7us pour les builds herm\u00e9tiques d\u00e8s leur conception. Pour les builds de conteneurs, des outils comme <strong>BuildKit<\/strong> avec isolation r\u00e9seau et <strong>ko<\/strong> pour les applications Go offrent des capacit\u00e9s de build herm\u00e9tique.<\/p>\n<p>Pour un guide complet sur l&rsquo;impl\u00e9mentation de builds reproductibles et herm\u00e9tiques dans votre pipeline CI\/CD, consultez : <a href=\"https:\/\/secure-pipelines.com\/fr\/non-categorise\/build-integrity-reproducible-builds-ci-cd\/\">Int\u00e9grit\u00e9 du build : builds reproductibles en CI\/CD<\/a>.<\/p>\n<h3>S\u00e9curit\u00e9 de la plateforme de build<\/h3>\n<p>Au-del\u00e0 du processus de build lui-m\u00eame, la plateforme de build n\u00e9cessite un renforcement :<\/p>\n<ul>\n<li><strong>Environnements de build \u00e9ph\u00e9m\u00e8res :<\/strong> Utilisez des runners frais et \u00e9ph\u00e9m\u00e8res pour chaque build afin de pr\u00e9venir les attaques bas\u00e9es sur la persistance. Ne r\u00e9utilisez jamais les environnements de build entre les jobs.<\/li>\n<li><strong>Identifiants \u00e0 moindre privil\u00e8ge :<\/strong> Les jobs de build ne devraient avoir que les permissions minimales n\u00e9cessaires. Utilisez des jetons \u00e0 courte dur\u00e9e de vie et \u00e0 port\u00e9e limit\u00e9e plut\u00f4t que des secrets \u00e0 longue dur\u00e9e de vie.<\/li>\n<li><strong>Protection du pipeline-as-code :<\/strong> Les fichiers de configuration CI\/CD (<code>.github\/workflows\/<\/code>, <code>.gitlab-ci.yml<\/code>, <code>Jenkinsfile<\/code>) devraient \u00eatre prot\u00e9g\u00e9s par des r\u00e8gles de protection de branches et n\u00e9cessiter une revue de code pour les modifications.<\/li>\n<li><strong>Audit des logs de build :<\/strong> Maintenez des logs de build immuables qui capturent toutes les entr\u00e9es, sorties et d\u00e9tails de l&rsquo;environnement pour l&rsquo;analyse forensique.<\/li>\n<\/ul>\n<h2>Signature et v\u00e9rification des artefacts avec Sigstore et Cosign<\/h2>\n<p>Une fois qu&rsquo;un build produit un artefact \u2014 une image de conteneur, un binaire, un package \u2014 comment s&rsquo;assurer qu&rsquo;il n&rsquo;a pas \u00e9t\u00e9 alt\u00e9r\u00e9 avant le d\u00e9ploiement ? La <strong>signature d&rsquo;artefacts<\/strong> fournit une preuve cryptographique qu&rsquo;un artefact a \u00e9t\u00e9 produit par un processus de build de confiance et n&rsquo;a pas \u00e9t\u00e9 modifi\u00e9 depuis.<\/p>\n<h3>Le d\u00e9fi de la signature traditionnelle<\/h3>\n<p>La signature de code traditionnelle repose sur des cl\u00e9s cryptographiques \u00e0 longue dur\u00e9e de vie. Cela cr\u00e9e des d\u00e9fis op\u00e9rationnels significatifs : g\u00e9n\u00e9ration de cl\u00e9s, stockage s\u00e9curis\u00e9, rotation, r\u00e9vocation et distribution. Si une cl\u00e9 de signature est compromise, chaque artefact sign\u00e9 avec cette cl\u00e9 est suspect. La gestion des cl\u00e9s a historiquement \u00e9t\u00e9 si contraignante que de nombreuses \u00e9quipes renoncent tout simplement \u00e0 la signature.<\/p>\n<h3>Sigstore : signature sans cl\u00e9 pour la supply chain logicielle<\/h3>\n<p><strong>Sigstore<\/strong> est un projet open source qui simplifie fondamentalement la signature d&rsquo;artefacts en \u00e9liminant le besoin de cl\u00e9s \u00e0 longue dur\u00e9e de vie. Sigstore se compose de plusieurs composants :<\/p>\n<ul>\n<li><strong>Cosign :<\/strong> Un outil pour signer et v\u00e9rifier les images de conteneurs et autres artefacts OCI. Cosign prend en charge les workflows de signature avec cl\u00e9 et sans cl\u00e9 (keyless).<\/li>\n<li><strong>Fulcio :<\/strong> Une autorit\u00e9 de certification qui \u00e9met des certificats de signature \u00e0 courte dur\u00e9e de vie bas\u00e9s sur des jetons d&rsquo;identit\u00e9 OpenID Connect (OIDC). Au lieu de g\u00e9rer des cl\u00e9s, vous vous authentifiez aupr\u00e8s de votre fournisseur d&rsquo;identit\u00e9 (GitHub, Google, etc.) et recevez un certificat temporaire.<\/li>\n<li><strong>Rekor :<\/strong> Un journal de transparence inviolable qui enregistre tous les \u00e9v\u00e9nements de signature. Rekor fournit un enregistrement permanent et auditable de chaque signature d&rsquo;artefact, permettant la v\u00e9rification m\u00eame apr\u00e8s l&rsquo;expiration du certificat \u00e0 courte dur\u00e9e de vie.<\/li>\n<\/ul>\n<h3>Signature keyless en CI\/CD<\/h3>\n<p>Dans un pipeline CI\/CD, la signature keyless avec Sigstore fonctionne comme suit :<\/p>\n<ol>\n<li>Le syst\u00e8me de build termine et produit un artefact (par ex., une image de conteneur).<\/li>\n<li>Cosign demande un certificat de signature \u00e0 Fulcio, en s&rsquo;authentifiant avec le jeton OIDC de la plateforme CI\/CD (par ex., le jeton OIDC de GitHub Actions).<\/li>\n<li>Fulcio v\u00e9rifie l&rsquo;identit\u00e9 et \u00e9met un certificat \u00e0 courte dur\u00e9e de vie qui int\u00e8gre les claims d&rsquo;identit\u00e9 (d\u00e9p\u00f4t, workflow, SHA du commit).<\/li>\n<li>Cosign signe l&rsquo;artefact avec la cl\u00e9 \u00e9ph\u00e9m\u00e8re et enregistre la signature dans Rekor.<\/li>\n<li>La cl\u00e9 \u00e9ph\u00e9m\u00e8re est d\u00e9truite \u2014 aucun secret \u00e0 longue dur\u00e9e de vie \u00e0 g\u00e9rer.<\/li>\n<\/ol>\n<p>Au moment du d\u00e9ploiement, vous v\u00e9rifiez la signature en consultant le journal de transparence Rekor et en validant que l&rsquo;identit\u00e9 du signataire correspond \u00e0 votre workflow CI\/CD attendu.<\/p>\n<p>Pour un tutoriel pratique sur l&rsquo;impl\u00e9mentation de Sigstore et Cosign dans votre pipeline, consultez : <a href=\"https:\/\/secure-pipelines.com\/fr\/non-categorise\/signing-verifying-container-images-sigstore-cosign\/\">Signer et v\u00e9rifier les images de conteneurs avec Sigstore et Cosign<\/a>.<\/p>\n<h2>Provenance et attestations : SLSA et in-toto<\/h2>\n<p>La signature vous dit <em>qui<\/em> a produit un artefact, mais ne vous dit pas <em>comment<\/em> il a \u00e9t\u00e9 produit. La <strong>provenance<\/strong> r\u00e9pond aux questions critiques : quel code source a \u00e9t\u00e9 utilis\u00e9 ? Quel processus de build a \u00e9t\u00e9 ex\u00e9cut\u00e9 ? Quelles d\u00e9pendances ont \u00e9t\u00e9 incluses ? Quel builder a \u00e9t\u00e9 utilis\u00e9 ? La provenance fournit un enregistrement v\u00e9rifiable de l&rsquo;origine et du processus de build de l&rsquo;artefact.<\/p>\n<h3>Provenance SLSA<\/h3>\n<p><strong>SLSA<\/strong> (Supply-chain Levels for Software Artifacts, prononc\u00e9 \u00ab salsa \u00bb) est un framework d\u00e9velopp\u00e9 par Google et l&rsquo;OpenSSF qui d\u00e9finit des niveaux croissants de s\u00e9curit\u00e9 de la supply chain. \u00c0 son c\u0153ur, SLSA sp\u00e9cifie un format de provenance standard qui capture :<\/p>\n<ul>\n<li><strong>Identit\u00e9 du builder :<\/strong> Quelle plateforme de build a produit l&rsquo;artefact.<\/li>\n<li><strong>R\u00e9f\u00e9rence source :<\/strong> Le d\u00e9p\u00f4t source exact, la branche et le commit.<\/li>\n<li><strong>Recette de build :<\/strong> La configuration de build (fichier de workflow, commande de build).<\/li>\n<li><strong>Mat\u00e9riaux :<\/strong> Toutes les entr\u00e9es du build (d\u00e9pendances, images de base).<\/li>\n<li><strong>M\u00e9tadonn\u00e9es :<\/strong> Horodatages, informations de reproductibilit\u00e9 et version du builder.<\/li>\n<\/ul>\n<p>La provenance SLSA est g\u00e9n\u00e9r\u00e9e par la plateforme de build (et non par le script de build), ce qui est crucial \u2014 cela signifie qu&rsquo;un script de build compromis ne peut pas falsifier sa propre provenance. Des plateformes comme GitHub Actions et Google Cloud Build disposent de g\u00e9n\u00e9rateurs de provenance SLSA natifs.<\/p>\n<h3>Attestations in-toto<\/h3>\n<p><strong>in-toto<\/strong> est un framework pour s\u00e9curiser l&rsquo;int\u00e9grit\u00e9 de l&rsquo;ensemble de la cha\u00eene d&rsquo;approvisionnement logicielle. Alors que SLSA se concentre principalement sur la provenance du build, in-toto fournit un cadre d&rsquo;attestation plus g\u00e9n\u00e9ral qui peut capturer n&rsquo;importe quelle \u00e9tape de la supply chain \u2014 revue de code, tests, analyse, approbation et d\u00e9ploiement.<\/p>\n<p>Une attestation in-toto suit le format <strong>DSSE (Dead Simple Signing Envelope)<\/strong> et se compose de :<\/p>\n<ul>\n<li><strong>Sujet :<\/strong> Le ou les artefacts auxquels l&rsquo;attestation se r\u00e9f\u00e8re (identifi\u00e9s par leur digest).<\/li>\n<li><strong>Type de pr\u00e9dicat :<\/strong> Le type d&rsquo;attestation (provenance SLSA, r\u00e9sultat d&rsquo;analyse de vuln\u00e9rabilit\u00e9s, SBOM, etc.).<\/li>\n<li><strong>Pr\u00e9dicat :<\/strong> Les donn\u00e9es r\u00e9elles de l&rsquo;attestation.<\/li>\n<\/ul>\n<p>Plusieurs attestations peuvent \u00eatre attach\u00e9es \u00e0 un seul artefact, cr\u00e9ant un ensemble riche de m\u00e9tadonn\u00e9es que les moteurs de politiques peuvent \u00e9valuer au moment du d\u00e9ploiement.<\/p>\n<p>Pour un guide d\u00e9taill\u00e9 sur la g\u00e9n\u00e9ration et la v\u00e9rification de la provenance et des attestations, consultez : <a href=\"https:\/\/secure-pipelines.com\/fr\/?p=474\">Provenance des artefacts et attestations : SLSA et in-toto<\/a>.<\/p>\n<h2>Nomenclatures logicielles (SBOMs)<\/h2>\n<p>Un <strong>SBOM<\/strong> (Software Bill of Materials) est un inventaire exhaustif de tous les composants, biblioth\u00e8ques et d\u00e9pendances d&rsquo;un artefact logiciel. Consid\u00e9rez-le comme une \u00e9tiquette nutritionnelle pour le logiciel \u2014 il indique aux consommateurs exactement ce qu&rsquo;il contient. Les SBOMs sont devenus une exigence r\u00e9glementaire dans de nombreux contextes et sont essentiels pour la gestion des vuln\u00e9rabilit\u00e9s et la r\u00e9ponse aux incidents.<\/p>\n<h3>Pourquoi les SBOMs sont importants<\/h3>\n<p>Lorsque Log4Shell a frapp\u00e9 en d\u00e9cembre 2021, les organisations capables de d\u00e9terminer rapidement si elles utilisaient Log4j \u2014 et o\u00f9 \u2014 ont pu r\u00e9agir en quelques heures. Les organisations sans cette visibilit\u00e9 ont mis des semaines ou des mois. Les SBOMs fournissent cette visibilit\u00e9 de mani\u00e8re proactive, avant qu&rsquo;un incident ne survienne.<\/p>\n<p>Les SBOMs servent plusieurs objectifs :<\/p>\n<ul>\n<li><strong>Gestion des vuln\u00e9rabilit\u00e9s :<\/strong> Surveillance continue des composants par rapport aux bases de donn\u00e9es de vuln\u00e9rabilit\u00e9s. Lorsqu&rsquo;un nouveau CVE est publi\u00e9, identification imm\u00e9diate des artefacts affect\u00e9s.<\/li>\n<li><strong>Conformit\u00e9 des licences :<\/strong> Suivi des licences de tous les composants inclus pour garantir la conformit\u00e9 avec les politiques organisationnelles et les exigences l\u00e9gales.<\/li>\n<li><strong>Conformit\u00e9 r\u00e9glementaire :<\/strong> L&rsquo;Executive Order 14028 et diverses r\u00e9glementations sectorielles exigent d\u00e9sormais des SBOMs pour les logiciels vendus au gouvernement am\u00e9ricain.<\/li>\n<li><strong>R\u00e9ponse aux incidents :<\/strong> D\u00e9termination rapide du rayon d&rsquo;impact d&rsquo;une vuln\u00e9rabilit\u00e9 nouvellement d\u00e9couverte dans l&rsquo;ensemble de votre portefeuille logiciel.<\/li>\n<\/ul>\n<h3>Formats de SBOM<\/h3>\n<p>Deux formats principaux de SBOM dominent le secteur :<\/p>\n<ul>\n<li><strong>SPDX (Software Package Data Exchange) :<\/strong> Un standard ISO\/IEC (ISO\/IEC 5962:2021) maintenu par la Linux Foundation. SPDX prend en charge plusieurs formats de s\u00e9rialisation (JSON, RDF, tag-value, YAML) et est largement utilis\u00e9 pour la conformit\u00e9 des licences.<\/li>\n<li><strong>CycloneDX :<\/strong> Un projet OWASP con\u00e7u sp\u00e9cifiquement pour les cas d&rsquo;usage li\u00e9s \u00e0 la s\u00e9curit\u00e9. CycloneDX prend en charge les inventaires de composants, les r\u00e9f\u00e9rences de vuln\u00e9rabilit\u00e9s, les d\u00e9finitions de services et les relations de composition. Il est disponible aux formats JSON et XML.<\/li>\n<\/ul>\n<h3>G\u00e9n\u00e9ration de SBOM<\/h3>\n<p>Les SBOMs doivent \u00eatre g\u00e9n\u00e9r\u00e9s dans le cadre du pipeline CI\/CD, aussi pr\u00e8s que possible de l&rsquo;\u00e9tape de build. Les outils courants pour la g\u00e9n\u00e9ration de SBOMs incluent :<\/p>\n<ul>\n<li><strong>Syft :<\/strong> Un outil open source d&rsquo;Anchore qui g\u00e9n\u00e8re des SBOMs \u00e0 partir d&rsquo;images de conteneurs, de syst\u00e8mes de fichiers et d&rsquo;archives. Prend en charge les formats SPDX et CycloneDX.<\/li>\n<li><strong>Trivy :<\/strong> Le scanner complet d&rsquo;Aqua Security peut g\u00e9n\u00e9rer des SBOMs en plus de l&rsquo;analyse de vuln\u00e9rabilit\u00e9s, fournissant un outil unifi\u00e9 pour les deux fonctions.<\/li>\n<li><strong>cdxgen :<\/strong> Un g\u00e9n\u00e9rateur CycloneDX qui prend en charge une large gamme de langages et de gestionnaires de packages.<\/li>\n<\/ul>\n<h3>Attestation de SBOM<\/h3>\n<p>G\u00e9n\u00e9rer un SBOM n&rsquo;est que la premi\u00e8re \u00e9tape. Pour rendre les SBOMs dignes de confiance, ils doivent \u00eatre sign\u00e9s et attach\u00e9s aux artefacts en tant qu&rsquo;attestations. En utilisant Cosign, vous pouvez attester un SBOM \u00e0 une image de conteneur :<\/p>\n<pre><code>cosign attest --predicate sbom.spdx.json --type spdxjson &lt;image&gt;<\/code><\/pre>\n<p>Cela cr\u00e9e une attestation sign\u00e9e qui lie le SBOM \u00e0 un digest d&rsquo;artefact sp\u00e9cifique, garantissant que le SBOM ne peut pas \u00eatre s\u00e9par\u00e9 de l&rsquo;artefact qu&rsquo;il d\u00e9crit ni falsifi\u00e9. Les consommateurs peuvent alors v\u00e9rifier \u00e0 la fois la signature de l&rsquo;artefact et l&rsquo;attestation du SBOM avant le d\u00e9ploiement.<\/p>\n<p>Pour un atelier pratique sur la g\u00e9n\u00e9ration, l&rsquo;analyse et l&rsquo;attestation de SBOMs, consultez notre <a href=\"\/fr\/ci-cd-security\/\">atelier SBOM dans la s\u00e9rie S\u00e9curit\u00e9 CI\/CD<\/a>.<\/p>\n<h2>Cadres et standards<\/h2>\n<p>Plusieurs cadres et standards proposent des approches structur\u00e9es de la s\u00e9curit\u00e9 de la supply chain. Comprendre ces cadres aide les organisations \u00e0 prioriser les investissements et \u00e0 d\u00e9montrer leur conformit\u00e9.<\/p>\n<h3>SLSA (Supply-chain Levels for Software Artifacts)<\/h3>\n<p>SLSA d\u00e9finit quatre niveaux de maturit\u00e9 croissante en mati\u00e8re de s\u00e9curit\u00e9 de la supply chain :<\/p>\n<ul>\n<li><strong>SLSA Niveau 1 \u2014 La provenance existe :<\/strong> Le processus de build g\u00e9n\u00e8re une provenance d\u00e9crivant comment l&rsquo;artefact a \u00e9t\u00e9 construit. C&rsquo;est le niveau de base \u2014 le simple fait d&rsquo;avoir une provenance est une am\u00e9lioration significative par rapport \u00e0 l&rsquo;absence totale.<\/li>\n<li><strong>SLSA Niveau 2 \u2014 Build h\u00e9berg\u00e9, provenance sign\u00e9e :<\/strong> Le build s&rsquo;ex\u00e9cute sur un service de build h\u00e9berg\u00e9, et la provenance est sign\u00e9e par la plateforme de build. Cela emp\u00eache les d\u00e9veloppeurs de falsifier la provenance sur leurs machines locales.<\/li>\n<li><strong>SLSA Niveau 3 \u2014 Builds renforc\u00e9s :<\/strong> La plateforme de build fournit une isolation forte entre les jobs de build, des environnements \u00e9ph\u00e9m\u00e8res et une g\u00e9n\u00e9ration de provenance inviolable. C&rsquo;est le niveau qui pr\u00e9vient la plupart des attaques pratiques de la supply chain.<\/li>\n<li><strong>SLSA Niveau 4 \u2014 Herm\u00e9tique, reproductible :<\/strong> Le build est enti\u00e8rement herm\u00e9tique (pas d&rsquo;acc\u00e8s r\u00e9seau, pas d&rsquo;entr\u00e9es non d\u00e9clar\u00e9es) et id\u00e9alement reproductible. C&rsquo;est le standard d&rsquo;excellence, offrant le plus haut niveau d&rsquo;assurance.<\/li>\n<\/ul>\n<p>Pour une checklist de conformit\u00e9 pratique et des conseils d&rsquo;impl\u00e9mentation pour chaque niveau SLSA, consultez : <a href=\"https:\/\/secure-pipelines.com\/fr\/ci-cd-security\/slsa-levels-explained-practical-compliance-checklist\/\">Les niveaux SLSA expliqu\u00e9s : checklist de conformit\u00e9 pratique<\/a>.<\/p>\n<h3>NIST SSDF (Secure Software Development Framework)<\/h3>\n<p>Le <strong>SSDF<\/strong> (SP 800-218) fournit un ensemble de pratiques de haut niveau, ind\u00e9pendantes des technologies, pour le d\u00e9veloppement logiciel s\u00e9curis\u00e9. Il est organis\u00e9 en quatre groupes :<\/p>\n<ul>\n<li><strong>Pr\u00e9parer l&rsquo;organisation (PO) :<\/strong> \u00c9tablir les politiques de s\u00e9curit\u00e9, les r\u00f4les et la formation.<\/li>\n<li><strong>Prot\u00e9ger le logiciel (PS) :<\/strong> Prot\u00e9ger le code source, les environnements de build et les artefacts contre les acc\u00e8s non autoris\u00e9s et l&rsquo;alt\u00e9ration.<\/li>\n<li><strong>Produire un logiciel bien s\u00e9curis\u00e9 (PW) :<\/strong> Concevoir, impl\u00e9menter et tester le logiciel en int\u00e9grant la s\u00e9curit\u00e9.<\/li>\n<li><strong>R\u00e9pondre aux vuln\u00e9rabilit\u00e9s (RV) :<\/strong> Identifier, analyser et rem\u00e9dier aux vuln\u00e9rabilit\u00e9s dans les logiciels publi\u00e9s.<\/li>\n<\/ul>\n<p>Le SSDF est particuli\u00e8rement pertinent pour les organisations qui fournissent des logiciels au gouvernement f\u00e9d\u00e9ral am\u00e9ricain, car il est r\u00e9f\u00e9renc\u00e9 par l&rsquo;Executive Order 14028 et les m\u00e9morandums OMB associ\u00e9s.<\/p>\n<h3>OWASP Software Component Verification Standard (SCVS)<\/h3>\n<p>Le <strong>OWASP SCVS<\/strong> fournit un cadre sp\u00e9cifiquement ax\u00e9 sur l&rsquo;analyse des composants logiciels et la gestion des risques de la supply chain. Il d\u00e9finit des exigences de v\u00e9rification dans six cat\u00e9gories : BOM, identit\u00e9 logicielle, provenance, int\u00e9grit\u00e9 des packages, analyse des composants et lign\u00e9e. Le SCVS est utile comme checklist d\u00e9taill\u00e9e pour \u00e9valuer les pratiques de s\u00e9curit\u00e9 de la supply chain de votre organisation.<\/p>\n<h3>OpenSSF Scorecard<\/h3>\n<p>Le projet <strong>OpenSSF Scorecard<\/strong> \u00e9value automatiquement les projets open source selon un ensemble d&rsquo;heuristiques de s\u00e9curit\u00e9 \u2014 protection de branches, \u00e9pinglage des d\u00e9pendances, releases sign\u00e9es, tests CI, et plus encore. Ex\u00e9cuter Scorecard sur vos d\u00e9pendances vous aide \u00e0 \u00e9valuer leur posture de s\u00e9curit\u00e9 et \u00e0 identifier les risques. Int\u00e9grer Scorecard dans votre processus de revue des d\u00e9pendances ajoute une couche de d\u00e9fense suppl\u00e9mentaire.<\/p>\n<h2>Feuille de route d&rsquo;impl\u00e9mentation<\/h2>\n<p>S\u00e9curiser une cha\u00eene d&rsquo;approvisionnement logicielle est un parcours, pas un projet unique. La feuille de route phas\u00e9e suivante fournit un chemin pratique, de l&rsquo;hygi\u00e8ne fondamentale aux postures de s\u00e9curit\u00e9 avanc\u00e9es.<\/p>\n<h3>Phase 1 : Fondations (Semaines 1-4)<\/h3>\n<p>Se concentrer sur la visibilit\u00e9 et les contr\u00f4les de base :<\/p>\n<ul>\n<li><strong>Inventorier votre supply chain :<\/strong> Cartographier tous les d\u00e9p\u00f4ts, syst\u00e8mes de build, registres d&rsquo;artefacts et cibles de d\u00e9ploiement. Identifier toutes les d\u00e9pendances tierces de vos projets.<\/li>\n<li><strong>Activer l&rsquo;analyse des d\u00e9pendances :<\/strong> Int\u00e9grer Trivy, Grype ou Dependabot dans tous les pipelines CI\/CD. Configurer des alertes automatis\u00e9es pour les vuln\u00e9rabilit\u00e9s critiques et de haute s\u00e9v\u00e9rit\u00e9.<\/li>\n<li><strong>Commiter les lockfiles :<\/strong> S&rsquo;assurer que tous les projets utilisent et commitent des lockfiles. \u00c9pingler les d\u00e9pendances \u00e0 des versions exactes.<\/li>\n<li><strong>Appliquer la protection de branches :<\/strong> Exiger la revue de code et les v\u00e9rifications de statut pour toutes les fusions vers les branches principales. Prot\u00e9ger les fichiers de configuration CI\/CD.<\/li>\n<li><strong>G\u00e9n\u00e9rer des SBOMs :<\/strong> Ajouter la g\u00e9n\u00e9ration de SBOMs \u00e0 vos pipelines de build. Stocker les SBOMs aux c\u00f4t\u00e9s des artefacts dans votre registre.<\/li>\n<\/ul>\n<h3>Phase 2 : Int\u00e9grit\u00e9 (Semaines 5-12)<\/h3>\n<p>Ajouter des contr\u00f4les d&rsquo;int\u00e9grit\u00e9 cryptographiques :<\/p>\n<ul>\n<li><strong>Impl\u00e9menter la signature d&rsquo;artefacts :<\/strong> D\u00e9ployer Cosign avec la signature keyless en utilisant l&rsquo;identit\u00e9 OIDC de votre plateforme CI\/CD. Signer toutes les images de conteneurs et les artefacts critiques.<\/li>\n<li><strong>G\u00e9n\u00e9rer la provenance de build :<\/strong> Activer la g\u00e9n\u00e9ration de provenance SLSA dans vos pipelines de build. Les utilisateurs de GitHub Actions peuvent utiliser les workflows r\u00e9utilisables <code>slsa-github-generator<\/code>.<\/li>\n<li><strong>Configurer les registres priv\u00e9s :<\/strong> Mettre en place Artifactory ou Nexus comme proxy pour les registres publics. Configurer les gestionnaires de packages pour r\u00e9soudre d&rsquo;abord depuis les registres priv\u00e9s afin de pr\u00e9venir la confusion de d\u00e9pendances.<\/li>\n<li><strong>Atteindre SLSA Niveau 2 :<\/strong> Avec des builds h\u00e9berg\u00e9s et une provenance sign\u00e9e, la plupart des \u00e9quipes peuvent atteindre SLSA Niveau 2 \u00e0 la fin de cette phase.<\/li>\n<\/ul>\n<h3>Phase 3 : V\u00e9rification (Semaines 13-20)<\/h3>\n<p>Appliquer les politiques au moment du d\u00e9ploiement :<\/p>\n<ul>\n<li><strong>D\u00e9ployer des contr\u00f4leurs d&rsquo;admission :<\/strong> Utiliser les contr\u00f4leurs d&rsquo;admission Kubernetes (Kyverno, OPA Gatekeeper, Sigstore Policy Controller) pour appliquer la v\u00e9rification des signatures et de la provenance avant le d\u00e9ploiement.<\/li>\n<li><strong>Attester les SBOMs :<\/strong> Signer les SBOMs et les attacher aux artefacts en tant qu&rsquo;attestations in-toto. V\u00e9rifier les attestations de SBOM dans le cadre des politiques de d\u00e9ploiement.<\/li>\n<li><strong>Renforcer les environnements de build :<\/strong> Passer \u00e0 des runners de build \u00e9ph\u00e9m\u00e8res et isol\u00e9s. Minimiser les privil\u00e8ges de l&rsquo;environnement de build. Atteindre SLSA Niveau 3.<\/li>\n<li><strong>Automatiser la conformit\u00e9 :<\/strong> Utiliser des outils de policy-as-code pour v\u00e9rifier en continu la conformit\u00e9 avec SLSA, le SSDF et les politiques de s\u00e9curit\u00e9 organisationnelles.<\/li>\n<\/ul>\n<h3>Phase 4 : Avanc\u00e9 (En continu)<\/h3>\n<p>Poursuivre la d\u00e9fense en profondeur et l&rsquo;am\u00e9lioration continue :<\/p>\n<ul>\n<li><strong>Builds herm\u00e9tiques :<\/strong> \u00c9tudier Bazel, Buck2 ou d&rsquo;autres syst\u00e8mes de build prenant en charge les builds enti\u00e8rement herm\u00e9tiques sans acc\u00e8s r\u00e9seau.<\/li>\n<li><strong>Builds reproductibles :<\/strong> Travailler vers la reproductibilit\u00e9 des builds pour les artefacts critiques. La v\u00e9rification ind\u00e9pendante des builds offre le plus haut niveau d&rsquo;assurance.<\/li>\n<li><strong>Mod\u00e9lisation des menaces de la supply chain :<\/strong> Conduire des exercices r\u00e9guliers de mod\u00e9lisation des menaces ax\u00e9s sp\u00e9cifiquement sur les vecteurs d&rsquo;attaque de la supply chain.<\/li>\n<li><strong>Planification de la r\u00e9ponse aux incidents :<\/strong> D\u00e9velopper et r\u00e9p\u00e9ter les proc\u00e9dures de r\u00e9ponse aux incidents pour les compromissions de la supply chain, y compris les compromissions de d\u00e9pendances, les violations de syst\u00e8mes de build et l&rsquo;alt\u00e9ration d&rsquo;artefacts.<\/li>\n<\/ul>\n<h2>Ateliers pratiques<\/h2>\n<p>La th\u00e9orie est importante, mais la pratique est essentielle. Les ateliers suivants fournissent une exp\u00e9rience pratique avec les outils et techniques abord\u00e9s dans ce guide :<\/p>\n<ul>\n<li><a href=\"https:\/\/secure-pipelines.com\/fr\/non-categorise\/dependency-confusion-artifact-poisoning-attacks-defenses\/\"><strong>Atelier : Confusion de d\u00e9pendances et empoisonnement d&rsquo;artefacts<\/strong><\/a> \u2014 Simuler des attaques par confusion de d\u00e9pendances et impl\u00e9menter des d\u00e9fenses incluant les packages scop\u00e9s, la configuration de registres et la v\u00e9rification d&rsquo;int\u00e9grit\u00e9.<\/li>\n<li><a href=\"https:\/\/secure-pipelines.com\/fr\/non-categorise\/build-integrity-reproducible-builds-ci-cd\/\"><strong>Atelier : Int\u00e9grit\u00e9 du build et builds reproductibles<\/strong><\/a> \u2014 Configurer des builds de conteneurs reproductibles, \u00e9liminer le non-d\u00e9terminisme et v\u00e9rifier les sorties de build entre les environnements.<\/li>\n<li><a href=\"https:\/\/secure-pipelines.com\/fr\/non-categorise\/signing-verifying-container-images-sigstore-cosign\/\"><strong>Atelier : Signature et v\u00e9rification des images de conteneurs avec Sigstore<\/strong><\/a> \u2014 Impl\u00e9menter la signature keyless avec Cosign et Fulcio, enregistrer les signatures dans Rekor et v\u00e9rifier les signatures au moment du d\u00e9ploiement.<\/li>\n<li><a href=\"https:\/\/secure-pipelines.com\/fr\/?p=474\"><strong>Atelier : Provenance des artefacts et attestations<\/strong><\/a> \u2014 G\u00e9n\u00e9rer la provenance SLSA avec GitHub Actions, cr\u00e9er des attestations in-toto et v\u00e9rifier la provenance avant le d\u00e9ploiement.<\/li>\n<li><a href=\"https:\/\/secure-pipelines.com\/fr\/ci-cd-security\/slsa-levels-explained-practical-compliance-checklist\/\"><strong>Atelier : Checklist de conformit\u00e9 SLSA<\/strong><\/a> \u2014 Parcourir les exigences SLSA \u00e0 chaque niveau et les impl\u00e9menter dans un pipeline CI\/CD r\u00e9el.<\/li>\n<li><a href=\"\/fr\/ci-cd-security\/\"><strong>Atelier : G\u00e9n\u00e9ration de SBOM et analyse de vuln\u00e9rabilit\u00e9s<\/strong><\/a> \u2014 G\u00e9n\u00e9rer des SBOMs avec Syft, analyser les vuln\u00e9rabilit\u00e9s avec Grype et attester les SBOMs aux images de conteneurs.<\/li>\n<\/ul>\n<h2>Outils et comparaisons<\/h2>\n<p>Choisir les bons outils est essentiel pour une s\u00e9curit\u00e9 de la supply chain efficace. Les guides comparatifs suivants vous aident \u00e0 \u00e9valuer les options dans les cat\u00e9gories cl\u00e9s :<\/p>\n<table>\n<thead>\n<tr>\n<th>Cat\u00e9gorie<\/th>\n<th>Outils<\/th>\n<th>Cas d&rsquo;usage<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td><strong>Scanners de vuln\u00e9rabilit\u00e9s<\/strong><\/td>\n<td>Trivy, Grype, Snyk, Clair<\/td>\n<td>Analyse des d\u00e9pendances et des images de conteneurs pour les vuln\u00e9rabilit\u00e9s connues<\/td>\n<\/tr>\n<tr>\n<td><strong>Signature d&rsquo;artefacts<\/strong><\/td>\n<td>Cosign, Notation, GPG<\/td>\n<td>Signature cryptographique des artefacts pour garantir l&rsquo;int\u00e9grit\u00e9 et l&rsquo;authenticit\u00e9<\/td>\n<\/tr>\n<tr>\n<td><strong>G\u00e9n\u00e9ration de SBOM<\/strong><\/td>\n<td>Syft, Trivy, cdxgen, CycloneDX CLI<\/td>\n<td>Cr\u00e9ation d&rsquo;inventaires de composants logiciels au format SPDX ou CycloneDX<\/td>\n<\/tr>\n<tr>\n<td><strong>Provenance<\/strong><\/td>\n<td>SLSA GitHub Generator, Witness, in-toto<\/td>\n<td>G\u00e9n\u00e9ration de provenance de build et d&rsquo;attestations v\u00e9rifiables<\/td>\n<\/tr>\n<tr>\n<td><strong>Application des politiques<\/strong><\/td>\n<td>Kyverno, OPA Gatekeeper, Sigstore Policy Controller<\/td>\n<td>Application des politiques de supply chain au moment du d\u00e9ploiement via l&rsquo;admission Kubernetes<\/td>\n<\/tr>\n<tr>\n<td><strong>Gestion des d\u00e9pendances<\/strong><\/td>\n<td>Dependabot, Renovate, Socket.dev<\/td>\n<td>Mises \u00e0 jour automatis\u00e9es des d\u00e9pendances, surveillance et d\u00e9tection de packages malveillants<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Pour des comparaisons d\u00e9taill\u00e9es de ces outils, incluant des matrices de fonctionnalit\u00e9s et des recommandations, consultez notre <a href=\"\/fr\/ci-cd-security\/\">s\u00e9rie d&rsquo;outils et comparaisons de s\u00e9curit\u00e9 CI\/CD<\/a>.<\/p>\n<h2>Conclusion<\/h2>\n<p>La s\u00e9curit\u00e9 de la cha\u00eene d&rsquo;approvisionnement logicielle n&rsquo;est plus optionnelle \u2014 c&rsquo;est une exigence fondamentale pour toute organisation qui construit et d\u00e9ploie des logiciels. Les attaques contre SolarWinds, Log4j et XZ Utils ont d\u00e9montr\u00e9 que la s\u00e9curit\u00e9 p\u00e9rim\u00e9trique traditionnelle est insuffisante lorsque la supply chain elle-m\u00eame est le vecteur d&rsquo;attaque.<\/p>\n<p>La bonne nouvelle est que l&rsquo;\u00e9cosyst\u00e8me d&rsquo;outils et de standards a rapidement m\u00fbri. Sigstore a rendu la signature d&rsquo;artefacts accessible \u00e0 toutes les \u00e9quipes. SLSA fournit un cadre de maturit\u00e9 clair et incr\u00e9mental. Les SBOMs deviennent une pratique standard. Les moteurs de politiques peuvent appliquer automatiquement les exigences de la supply chain au moment du d\u00e9ploiement.<\/p>\n<p>Les principes cl\u00e9s \u00e0 retenir :<\/p>\n<ul>\n<li><strong>V\u00e9rifier, ne pas faire confiance :<\/strong> V\u00e9rifiez cryptographiquement chaque artefact, d\u00e9pendance et sortie de build. Partez du principe que tout composant non v\u00e9rifi\u00e9 peut \u00eatre compromis.<\/li>\n<li><strong>Tout automatiser :<\/strong> Les contr\u00f4les de s\u00e9curit\u00e9 de la supply chain doivent \u00eatre automatis\u00e9s et appliqu\u00e9s dans le pipeline. Les processus manuels ne passent pas \u00e0 l&rsquo;\u00e9chelle et sont facilement contourn\u00e9s.<\/li>\n<li><strong>D\u00e9fense en profondeur :<\/strong> Aucun contr\u00f4le unique n&rsquo;est suffisant. Superposez les d\u00e9fenses \u00e0 chaque \u00e9tape de la supply chain \u2014 source, d\u00e9pendances, build, artefact et d\u00e9ploiement.<\/li>\n<li><strong>Commencer l\u00e0 o\u00f9 vous en \u00eates :<\/strong> Vous n&rsquo;avez pas besoin d&rsquo;atteindre SLSA Niveau 4 du jour au lendemain. Commencez par l&rsquo;analyse des d\u00e9pendances et les lockfiles, puis ajoutez progressivement la signature, la provenance, les SBOMs et l&rsquo;application des politiques.<\/li>\n<li><strong>Maintenir la visibilit\u00e9 :<\/strong> On ne peut pas s\u00e9curiser ce que l&rsquo;on ne peut pas voir. Les SBOMs, la provenance et les journaux d&rsquo;audit fournissent la visibilit\u00e9 n\u00e9cessaire pour une s\u00e9curit\u00e9 efficace et une r\u00e9ponse aux incidents.<\/li>\n<\/ul>\n<p>Commencez par la <a href=\"#feuille-de-route-dimplementation\">feuille de route d&rsquo;impl\u00e9mentation<\/a> ci-dessus, r\u00e9alisez les <a href=\"#ateliers-pratiques\">ateliers pratiques<\/a>, et renforcez progressivement votre supply chain. Le chemin de z\u00e9ro \u00e0 une s\u00e9curit\u00e9 compl\u00e8te de la supply chain est incr\u00e9mental \u2014 et chaque \u00e9tape rend votre logiciel significativement plus s\u00fbr.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Introduction : Pourquoi la s\u00e9curit\u00e9 de la cha\u00eene d&rsquo;approvisionnement logicielle est essentielle En d\u00e9cembre 2020, le monde a d\u00e9couvert que SolarWinds \u2014 une plateforme de gestion informatique largement reconnue \u2014 avait \u00e9t\u00e9 compromise. Des attaquants ont inject\u00e9 du code malveillant dans le processus de build du logiciel Orion, distribuant une mise \u00e0 jour corrompue \u00e0 &#8230; <a title=\"S\u00e9curit\u00e9 de la Cha\u00eene d&rsquo;Approvisionnement Logicielle : Guide Complet pour les \u00c9quipes d&rsquo;Ing\u00e9nierie\" class=\"read-more\" href=\"https:\/\/secure-pipelines.com\/fr\/software-supply-chain\/software-supply-chain-security-comprehensive-guide\/\" aria-label=\"En savoir plus sur S\u00e9curit\u00e9 de la Cha\u00eene d&rsquo;Approvisionnement Logicielle : Guide Complet pour les \u00c9quipes d&rsquo;Ing\u00e9nierie\">Lire la suite<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[50],"tags":[],"post_folder":[],"class_list":["post-445","post","type-post","status-publish","format-standard","hentry","category-software-supply-chain"],"_links":{"self":[{"href":"https:\/\/secure-pipelines.com\/fr\/wp-json\/wp\/v2\/posts\/445","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/secure-pipelines.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/secure-pipelines.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/secure-pipelines.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/secure-pipelines.com\/fr\/wp-json\/wp\/v2\/comments?post=445"}],"version-history":[{"count":2,"href":"https:\/\/secure-pipelines.com\/fr\/wp-json\/wp\/v2\/posts\/445\/revisions"}],"predecessor-version":[{"id":471,"href":"https:\/\/secure-pipelines.com\/fr\/wp-json\/wp\/v2\/posts\/445\/revisions\/471"}],"wp:attachment":[{"href":"https:\/\/secure-pipelines.com\/fr\/wp-json\/wp\/v2\/media?parent=445"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/secure-pipelines.com\/fr\/wp-json\/wp\/v2\/categories?post=445"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/secure-pipelines.com\/fr\/wp-json\/wp\/v2\/tags?post=445"},{"taxonomy":"post_folder","embeddable":true,"href":"https:\/\/secure-pipelines.com\/fr\/wp-json\/wp\/v2\/post_folder?post=445"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}