tadata
Retour à l'accueil

Sécurité de la Chaîne d'Approvisionnement Logicielle : Ne Faire Confiance à Rien que Vous n'Avez Pas Construit

#security#devops#ci-cd#supply-chain#compliance

SolarWinds. Log4Shell. Codecov. Les cinq dernières années ont démontré que la chaîne d'approvisionnement logicielle est la surface d'attaque la plus sous-protégée de l'ingénierie moderne. La sécuriser requiert un changement : passer de la confiance par défaut à la vérification de provenance à chaque étape.

Taxonomie des Vecteurs d'Attaque

Vecteurs d'Attaque de la Chaîne d'Approvisionnement
├── Code Source
│   ├── Compte développeur compromis
│   ├── Commit / pull request malveillant
│   ├── Confusion de dépendances (interne vs public)
│   └── Typosquatting (noms de paquets similaires)
├── Système de Build
│   ├── Pipeline CI/CD compromis
│   ├── Cache de build empoisonné
│   ├── Plugin / action de build malveillant
│   └── Exfiltration de secrets depuis l'env de build
├── Dépendances
│   ├── Paquet upstream malveillant
│   ├── Dépendance non maintenue avec CVEs connues
│   ├── Risque de dépendances transitives
│   └── Compromission du registre de paquets
├── Artefacts
│   ├── Image conteneur altérée
│   ├── Binaire non signé
│   └── Man-in-the-middle au téléchargement
└── Déploiement
    ├── IaC / Helm chart compromis
    ├── Déploiement non autorisé
    └── Configuration runtime non sécurisée

Niveaux du Framework SLSA

NiveauExigencesGarantie d'IntégritéExemple
SLSA 0Aucune garantieAucuneBuilds manuels sur le laptop du dev
SLSA 1Processus de build documentéLa provenance existeCI/CD génère des métadonnées de provenance
SLSA 2Build hébergé, provenance signéeFalsification après build détectableGitHub Actions avec attestations signées
SLSA 3Plateforme de build renforcéeFalsification pendant le build détectableEnvironnements de build isolés, éphémères

Comparaison des Formats SBOM

AspectSPDXCycloneDXSWID
Maintenu parLinux FoundationOWASPISO/IEC
FocusLicences + sécuritéSécurité + risque opérationnelIdentification logicielle
FormatJSON, RDF, YAMLJSON, XML, ProtobufXML
Support VEXOui (SPDX 2.3+)Oui (natif)Non
AdoptionMandat gouvernemental USFort dans l'outillage AppSecLegacy, en déclin

Recommandations Stratégiques

Commencez par les SBOMs. Générer un SBOM pour chaque build est un effort faible à haute valeur. Utilisez syft ou Trivy dans votre pipeline CI.

Signez tout. Cosign avec signature keyless (via Sigstore Fulcio et Rekor) élimine la charge de gestion des clés. Combinez avec des politiques d'admission Kyverno pour imposer "aucune image non signée en production."

Épinglez les dépendances agressivement. Les lock files sont nécessaires mais pas suffisants. Épinglez les GitHub Actions sur des SHA de commit. Épinglez les images de base sur des digests.

Adoptez SLSA incrémentalement. La plupart des organisations peuvent atteindre SLSA 2 en quelques semaines avec GitHub Actions et les attestations d'artefacts.

Ressources

:::

Nous utilisons des cookies analytiques pour améliorer votre expérience. Aucune donnée personnelle n'est collectée.