Raccourcis

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 CI/CD, en passant par le déploiement. 

La chaîne d'approvisionnement regroupe des réseaux d'informations sur les logiciels, comme les composants (infrastructure, matériel, systèmes d'exploitation, services cloud, etc.), les programmeurs et les sources, notamment les registres, les référentiels GitHub, les codes bases ou d'autres projets Open Source. Elle comprend également toutes les vulnérabilités qui peuvent nuire à la sécurité des logiciels : c'est là que la sécurité de la chaîne d'approvisionnement des logiciels intervient.  

 

Tout maillon de la chaîne d'approvisionnement des logiciels potentiellement vulnérable représente un risque pour chacun des artéfacts logiciels qui en dépendent. Il offre aux pirates la possibilité d'introduire un logiciel malveillant, une porte dérobée ou tout autre code malveillant visant à compromettre des composants et leurs chaînes d'approvisionnement correspondantes. En constante augmentation, les attaques dirigées contre la chaîne d'approvisionnement des logiciels, généralement menées dans un but lucratif ou politique, peuvent avoir d'énormes conséquences tant sur le plan numérique que physique. Il existe quatre principales catégories de risques :

  • Vulnérabilités : failles dans le code du logiciel qui pourraient être exploitées et aboutir à une violation. Appliquez des correctifs et mettez à jour vos artéfacts logiciels pour atténuer ce risque.
  • Octroi de licences : risque de nature juridique qui pourrait vous obliger à rendre tout artéfact logiciel concerné Open Source et à annuler les droits de propriété. Consultez des experts juridiques dans ce domaine.
  • Dépendances vis-à-vis de tiers : toute dépendance vis-à-vis d'une entreprise extérieure dans le cadre de la chaîne d'approvisionnement des logiciels, dont il est difficile de connaître l'existence. Analysez tous les codes tiers et discutez avec vos fournisseurs de la manière dont ils vous protègent.
  • Processus et politiques : indispensables pour éviter les problèmes de sécurité. Établissez des politiques pour vos équipes de développement et des processus (ou playbooks) de manière à pouvoir réagir en cas de vulnérabilité.

Les principaux vecteurs d'attaque sont le piratage des mises à jour, l'affaiblissement de la signature du code et la compromission du code Open Source. 

Le modè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. 

La chaîne d'approvisionnement des logiciels englobe l'ensemble des éléments et des acteurs qui interviennent au niveau du code, tandis que la sécurité des applications protège le code lui-même contre les attaques et les vulnérabilités. À l'instar de la sécurité de la chaîne d'approvisionnement des logiciels, la sécurité des applications doit être mise en œuvre à chaque étape du développement. 

La sécurité des applications intervient dès le cycle de développement des logiciels et pendant tout le cycle de vie des applications. Elle vise à empêcher tout accès non autorisé au système et à protéger les données propriétaires. En renforçant l'intégrité de votre chaîne d'approvisionnement, vous pouvez également accroître la sécurité de vos applications. Le renforcement des configurations, la réduction des surfaces d'attaque, la limitation des autorisations, la signature des logiciels et la distribution des versions dans différentes parties de votre système sont autant de moyens d'empêcher les pirates de compromettre vos applications. 

La sécurité de la chaîne d'approvisionnement des logiciels est primordiale pour votre entreprise, vos clients et toute structure qui s'appuie sur des contributions Open Source. Aucune entreprise ne souhaite faire l'objet d'une violation ni être responsable d'un événement similaire au sein d'une autre entreprise. Il est essentiel de mettre en place des défenses pour votre chaîne d'approvisionnement des logiciels.  

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

  • Adoptez le principe du moindre privilège pour accorder l'accès aux ressources de la chaîne d'approvisionnement (par exemple, les outils de développement, les référentiels de code source et autres systèmes logiciels), activez l'authentification à plusieurs facteurs et utilisez des mots de passe forts.
  • Organisez régulièrement des formations sur la sécurité pour tout le personnel.
  • Renforcez la sécurité de tous vos appareils connectés et de vos données sensibles.
  • Renseignez-vous sur vos fournisseurs et sur les tiers avec qui vous traitez, en commençant par les plus importants d'entre eux. Réalisez 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.
  • Analysez et corrigez régulièrement les systèmes vulnérables.

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

  • Validation des sommes de contrôle
  • Intégration des dépendances des fournisseurs dans le contrôle source
  • 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, notamment les outils SCA, SAST et DAST

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.Laissez-nous comprendre la chaîne d'approvisionnement en amont et vous proposer un produit sur lequel vous pouvez compter à tout moment. Avec nos partenaires, nous offrons une expertise et un écosystème DevSecOps complet, et nous aidons les entreprises à mettre en œuvre la sécurité de la chaîne d'approvisionnement des logiciels tout au long du cycle de développement.

Keep reading

ARTICLE

Le DevSecOps, qu'est-ce que c'est ?

Si vous souhaitez tirer pleinement parti de l'agilité et de la réactivité d'une approche DevOps, vous devez également intégrer la sécurité informatique au cycle de vie complet de vos applications.

ARTICLE

Quelles sont les spécificités de la sécurité dans le cloud ?

Les préoccupations en matière de sécurité de haut niveau affectent les systèmes informatiques traditionnels et cloud. Découvrez quelles sont les différences.

ARTICLE

Le SOAR, qu'est-ce que c'est ?

Le SOAR fait référence à trois capacités logicielles clés qu'utilisent les équipes de sécurité : la gestion des cas et des workflows, l'automatisation des tâches et la centralisation de l'accès, de l'interrogation et du partage des renseignements sur les menaces.

En savoir plus sur la sécurité

Produits

Structure de sécurité qui gère les identités des utilisateurs et préserve la confidentialité des communications.

Solution de sécurisation des conteneurs native pour Kubernetes et adaptée aux entreprises, qui permet de créer, de déployer et d'exécuter des applications cloud-native de manière sécurisée.

Service d'analyses prédictives qui aide à identifier et à écarter les menaces qui compromettent la sécurité, les performances et la disponibilité de votre infrastructure Red Hat.

Console unique pour le contrôle des clusters et applications Kubernetes, avec des politiques de sécurité intégrées.

Ressources