La sécurité de la chaîne d'approvisionnement des logiciels, qu'est-ce que c'est ?

Copier l'URL

La sécurité de la chaîne d'approvisionnement des logiciels réunit les meilleures pratiques en matière de gestion des risques et de cybersécurité pour renforcer la protection contre les vulnérabilités potentielles. La chaîne d'approvisionnement des logiciels englobe l'ensemble des éléments et acteurs qui interviennent au niveau du code au cours du cycle de développement logiciel, du développement de l'application au pipeline de CI/CD, en passant par le déploiement. 

La chaîne d'approvisionnement comprend des réseaux d'informations sur les logiciels, notamment les composants (infrastructure, matériel, systèmes d'exploitation, services cloud, etc.), leurs auteurs et leurs sources, telles que les registres, les référentiels GitHub, les codes bases ou d'autres projets Open Source. Elle englobe également toutes les vulnérabilités susceptibles d'affecter la sécurité des logiciels. C'est là qu'entre en jeu la sécurité de la chaîne d'approvisionnement des logiciels.  

 

Télécharger le livre numérique sur la sécurité de la chaîne d'approvisionnement

De nos jours, la plupart des logiciels ne sont pas écrits à partir de zéro. Ils résultent généralement d'une combinaison d'artéfacts logiciels qui contiennent des logiciels Open Source. Toutefois, ces artéfacts logiciels sont sujets aux vulnérabilités, et les équipes de développement ont moins de maîtrise sur le code source provenant d'un tiers ou sur les modifications apportées à un artéfact logiciel au fil du temps. Il est important de noter que les logiciels non corrigés sont plus sensibles aux problèmes de sécurité. Les logiciels sont indispensables aux activités quotidiennes d'une entreprise. La sécurité de la chaîne d'approvisionnement est donc une responsabilité essentielle pour chaque entreprise et chaque équipe de sécurité.

L'entreprise de logiciels SolarWinds a subi une cyberattaque en 2020, lorsque des cybercriminels ont introduit du code malveillant via son logiciel de surveillance et de gestion informatique Orion, une plateforme utilisée par de grandes entreprises et des agences gouvernementales. En attaquant la chaîne d'approvisionnement, les pirates ont infiltré non seulement SolarWinds, mais aussi ses clients. Log4j est un logiciel Open Source couramment utilisé, mais très vulnérable, qui a laissé de nombreux utilisateurs et entreprises à la merci de fuites de données et d'attaques. En 2021, le président des États-Unis a mis l'accent sur l'importance des chaînes d'approvisionnement des logiciels et de la sécurité avec deux ordonnances présidentielles : l'une sur les chaînes d'approvisionnement et l'autre sur la cybersécurité.

Préparer les systèmes pour respecter les normes gouvernementales

Ressources Red Hat

Tout risque pour un composant de la chaîne d'approvisionnement des logiciels représente un risque pour chaque artéfact logiciel qui dépend de ce composant. Les pirates en profitent pour insérer un logiciel malveillant, une porte dérobée ou tout autre code malveillant afin de compromettre des composants et leurs chaînes d'approvisionnement associées. Souvent motivées par des raisons financières ou étatiques, les attaques visant les chaînes d'approvisionnement des logiciels sont en augmentation et peuvent avoir des conséquences considérables dans le monde physique et numérique. Elles sont généralement regroupées dans l'un des quatre types de risques suivants :

  • Vulnérabilités : il s'agit de failles dans le code des logiciels qui pourraient être exploitées pour causer une violation de données. Il convient d'appliquer des correctifs et de mettre à jour les artéfacts logiciels pour réduire ce risque.
  • Licences accordées : elles constituent un risque juridique qui pourrait contraindre à n'utiliser que des artéfacts logiciels Open Source et à annuler les droits de brevet. Des spécialistes juridiques peuvent apporter leur aide dans ce domaine.
  • Dépendances tierces : il s'agit de toute dépendance vis-à-vis d'une entreprise tierce dans le cadre de la chaîne d'approvisionnement des logiciels. Elles sont difficiles à identifier. Il faut analyser tout le code tiers et demander aux fournisseurs quelles mesures de protection ils appliquent.
  • Processus et politiques : leur absence pose problème. Les équipes de développement et les processus (ou playbooks) ont besoin de politiques afin de réagir à une vulnérabilité.

Les vecteurs d'attaque les plus courants sont le détournement de mises à jour, la violation de la signature de code et la compromission du code Open Source. 

Réduire les risques grâce à Linux®

Le DevSecOps est une approche de la culture, de l'automatisation et de la conception des logiciels qui intègre la sécurité en tant que responsabilité partagée tout au long du cycle de vie informatique. L'approche DevSecOps implique de réfléchir à la sécurité des applications et de l'infrastructure dès le départ, et d'automatiser certaines passerelles de sécurité afin d'éviter tout ralentissement des workflows DevOps. Pour atteindre ces objectifs, il faut commencer par sélectionner les outils capables d'assurer l'intégration continue de la sécurité, par exemple avec un environnement de développement intégré commun qui offre des fonctions de sécurité.

La solution Red Hat Advanced Cluster Security for Kubernetes intègre des contrôles de sécurité dans la chaîne d'approvisionnement des logiciels et les workflows de développement afin de détecter et corriger les problèmes de sécurité importants. En ajoutant un contexte de sécurité aux workflows de développement, elle automatise également la sécurité des pratiques DevOps. 

En savoir plus sur l'intégration de mesures de sécurité avec Red Hat® Advanced Cluster Security for Kubernetes

Si la chaîne d'approvisionnement des logiciels englobe l'ensemble des éléments et acteurs qui interviennent au niveau du code, la sécurité des applications protège le code contre les attaques et vulnérabilités. À l'instar de la sécurité de la chaîne d'approvisionnement des logiciels, la sécurité des applications doit s'appliquer à chaque étape du développement. 

La sécurisation des applications commence dès le début du cycle de développement logiciel et s'étend tout au long du cycle de vie d'une application, avec pour objectifs d'empêcher tout accès non autorisé au système et de protéger les données propriétaires. Le renforcement de l'intégrité de la chaîne d'approvisionnement permet d'améliorer la sécurité des applications. Pour empêcher les pirates de compromettre les applications, il est possible de renforcer les configurations, de réduire les surfaces d'attaque, de restreindre les autorisations, de signer les logiciels et de distribuer des versions dans différentes parties du système.

La sécurité de la chaîne d'approvisionnement des logiciels est primordiale pour une entreprise, ses clients et toute structure qui repose sur des contributions Open Source. Si aucune entreprise ne souhaite faire l'objet d'une violation, elle ne veut pas non plus être responsable d'un événement similaire au sein d'une autre entreprise. Il est donc essentiel de mettre en place des défenses pour la chaîne d'approvisionnement des logiciels.  

Voici quelques-unes des meilleures pratiques que devraient suivre les équipes de sécurité :

  • Adopter le principe du moindre privilège pour accorder l'accès aux ressources de la chaîne d'approvisionnement (par exemple, outils de développement, référentiels de code source et autres systèmes logiciels), activer l'authentification à plusieurs facteurs et utiliser des mots de passe complexes
  • Organiser régulièrement des formations sur la sécurité pour les équipes
  • Renforcer la sécurité de tous les appareils connectés et des données sensibles
  • S'informer sur les fournisseurs et les partenaires commerciaux, en commençant par les fournisseurs directs Mener des évaluations des risques pour connaître la posture de chaque fournisseur en matière de cybersécurité ainsi que les politiques publiques relatives aux vulnérabilités
  • Analyser régulièrement les systèmes vulnérables et leur appliquer des correctifs

Il existe également des pratiques de codage sécurisé pour les équipes de développement, notamment l'utilisation de fichiers de verrouillage et d'autres initiatives axées sur la sécurité :

  • Validation des sommes de contrôle
  • Prise en compte des dépendances vis-à-vis de fournisseurs dans le contrôle des sources
  • Publication et consommation de la nomenclature logicielle
  • Adoption de niveaux de chaîne d'approvisionnement pour les artéfacts logiciels, qui comprennent :
    • la possibilité de signer numériquement les artéfacts logiciels pour en authentifier la provenance ;
    • la mise à profit de l'automatisation pour les processus et politiques.
  • Analyse des logiciels à l'aide d'outils de test de sécurité automatisés, tels que l'analyse de la composition logicielle, les tests statiques de la sécurité des applications et les tests dynamiques de la sécurité des applications

Découvrir les tendances mondiales en matière de sécurité pour les chaînes d'approvisionnement des logiciels

Face au besoin de sécurisation des éléments et dépendances des logiciels dès le début du cycle de développement, nous suivons des pratiques DevSecOps afin d'automatiser l'intégration de la sécurité à chaque étape.  Nous nous chargeons de comprendre la chaîne d'approvisionnement en amont et de proposer un produit fiable avec une assistance continue.  Avec nos partenaires, nous offrons une expertise et un écosystème DevSecOps complet et aidons les entreprises à mettre en œuvre la sécurité pour la chaîne d'approvisionnement des logiciels tout au long du cycle de développement.

En savoir plus sur Red Hat® Advanced Developer Suite

Hub

Le blog officiel de Red Hat

Découvrez les dernières informations concernant notre écosystème de clients, partenaires et communautés.

Tous les essais de produits Red Hat

Profitez de nos essais gratuits de produits pour renforcer votre expérience pratique, préparer une certification ou évaluer l'adéquation d'un produit avec les besoins de votre entreprise.

En savoir plus

L'informatique confidentielle, qu'est-ce que c'est ?

L'informatique confidentielle s'appuie sur le matériel pour protéger les données lorsqu'elles ne sont pas au repos ou en transit, c'est-à-dire pendant leur utilisation.

SPIFFE et SPIRE, qu'est-ce que c'est ?

SPIFFE et SPIRE sont deux projets Open Source qui permettent de gérer les identités dans des environnements informatiques variés et dynamiques. Ensemble, ils résolvent de nombreux problèmes de sécurité.

Le modèle Zero Trust, qu'est-ce que c'est ?

Apprenez-en plus sur le modèle Zero Trust, une approche de la conception des architectures de sécurité basée sur le principe qu'aucune interaction n'est fiable par défaut.

Sécurité : ressources recommandées

Articles associés