What is Software Composition Analysis (SCA)?

La plupart des applications modernes s'appuient sur des composants tiers et des dépendances pour fonctionner. Si ce code source ouvert présente des avantages, il peut également introduire une vulnérabilité, des codes malveillants et d'autres risques de sécurité dans une application. L'analyse de la composition des logiciels (SCA) est un outil DevSecOps permettant d'identifier ces morceaux de code externe. Le SCA peut être utilisé pour suivre les composants open-source, trouver la vulnérabilité et gérer les licences des logiciels.

Demander une démo En savoir plus

What is Software Composition Analysis (SCA)?

Fonctionnement des solutions d'analyse de la composition des logiciels

Les solutions SCA sont conçues pour inspecter une base de code inconnue et documenter les composants open-source utilisés, leur vulnérabilité et d'autres informations. Pour ce faire, procédez comme suit :

  • Analyse : Un outil SCA commence par analyser une base de code afin d'identifier les bibliothèques et les dépendances utilisées par le code. Sur la base de cette analyse, l'outil peut générer une nomenclature logicielle (SBOM) qui répertorie tous les codes open-source utilisés par l'application.
  • Documentation : La version du logiciel, les informations sur les licences et l'utilisation d'une application sont autant d'informations précieuses. Après avoir identifié le code source ouvert dans une base de code, un scanner SCA enregistrera ces données.
  • Détection de la vulnérabilité : Les vulnérabilités connues sont enregistrées sous forme de vulnérabilités et d'expositions communes (CVE), avec les logiciels et les versions concernés. En connaissant les bibliothèques open-source utilisées et leurs numéros de version, les outils SCA peuvent identifier les vulnérabilités connues au sein de l'application.

A la fin de ce processus, l'outil SCA a généré un rapport qui contient des informations sur toutes les dépendances open-source utilisées par une application. Ces informations peuvent être communiquées au personnel chargé de la sécurité ou, en fonction des résultats et du niveau d'intégration dans les pipelines CI/CD, peuvent même bloquer l'ajout de nouvelles livraisons à la base de code si elles utilisent des composants obsolètes ou non sécurisés.

En intégrant le SCA dans les pipelines CI/CD, les équipes de développeurs peuvent déplacer la sécurité vers la gauche et réduire le risque que des vulnérabilités exploitables atteignent les systèmes de production.

Pourquoi c'est important

Les attaques contre la chaîne d'approvisionnement constituent une menace croissante pour la sécurité du site application. De nombreuses applications reposent sur des composants open-source qui contiennent du code vulnérable. Les cybercriminels s'efforcent également de développer des bibliothèques ou d'injecter des codes malveillants dans des bibliothèques légitimes afin de compromettre la sécurité de application.

L'ACS permet à une organisation d'avoir une visibilité sur le code tiers dont dépendent ses applications. Cette visibilité est essentielle pour identifier les vulnérabilités héritées et les autres problèmes pouvant résulter de l'utilisation de code source ouvert et de code tiers.

Cas d'utilisation de l'analyse de la composition des logiciels (SCA)

Le SCA offre une visibilité sur les dépendances open-source utilisées par les applications d'une organisation. Cette visibilité est essentielle pour la vulnérabilité et la gestion des licences.

Gestion de la vulnérabilité

Les bibliothèques open-source peuvent contenir des vulnérabilités exploitables ou du code malveillant. Si une application importe ces bibliothèques, elle peut être vulnérable à l'exploitation ou à l'exécution du code malveillant. Souvent, les entreprises ont du mal à garder une visibilité sur le code tiers qu'elles utilisent. C'est particulièrement vrai pour les dépendances indirectes, lorsqu'un composant open-source en importe un ou plusieurs autres. Les solutions SCA peuvent aider les entreprises à obtenir la visibilité dont elles ont besoin et à déterminer rapidement s'il existe des CVE pour les versions des bibliothèques utilisées par l'application.

Gestion des licences

L'utilisation d'un code tiers peut poser des problèmes de licence à une organisation, notamment en raison du large éventail d'exigences potentielles en matière de licence. À un extrême, les droits d'auteur peuvent empêcher une entreprise d'utiliser un composant ou exiger le paiement de redevances. D'autre part, les licences copyleft peuvent imposer que tout code utilisant un composant particulier soit également disponible gratuitement et en libre accès.

Sans visibilité sur les composants open-source utilisés par son application, une organisation est dans l'ignorance des règles de licence et peut être en danger sur le plan juridique. En recueillant des informations sur les licences de tous les composants open-source utilisés dans une base de code, une entreprise peut avoir une visibilité sur les problèmes potentiels liés aux licences et aux questions juridiques.

Comment le SCA aide à prévenir les attaques contre la chaîne d'approvisionnement

De plus en plus, les acteurs de la cybermenace effectuent des attaques de la chaîne d'approvisionnement, où des vulnérabilités ou des codes malveillants sont injectés dans des projets open source utilisés par d'autres applications. Le logiciel qui importe la bibliothèque exécutera le code malveillant ou héritera de vulnérabilités qui l'ouvriront à l'exploitation.

Le SCA peut contribuer à la protection contre les attaques de la chaîne d'approvisionnement en identifiant les vulnérabilités dans les dépendances d'une application. En outre, la connaissance des dépendances utilisées par une application peut aider à identifier les mauvaises bibliothèques connues qui ont été créées ou compromises par les cybercriminels pour ces attaques.

Défis de l'analyse de la composition des logiciels (SCA)

Le SCA est essentiel pour gérer les risques liés à la sécurité de la chaîne d'approvisionnement en logiciels d'une organisation. Toutefois, l'ACS est confrontée à des défis, notamment les suivants :

  • Dépendances indirectes : Les dépendances d'une application peuvent avoir leurs propres dépendances. Ces chaînes peuvent s'étendre sur plusieurs niveaux, ce qui rend difficile l'obtention d'une visibilité totale.
  • Identification des dépendances : Les langages de programmation et les écosystèmes gèrent différemment les dépendances. Les solutions SCA doivent comprendre toutes les façons dont le code source ouvert peut être importé dans une application.
  • Gestion de la vulnérabilité : De nouvelles vulnérabilités sont découvertes chaque jour, et les sources de gestion des vulnérabilités ne sont pas toujours à jour. En conséquence, le SCA peut manquer de vulnérabilité, et les équipes de développement peuvent avoir du mal à suivre le carnet de commandes.

Sécurité de la chaîne d'approvisionnement avec CloudGuard Spectral

Au fur et à mesure que les applications s'appuient sur un réseau complexe de dépendances open-source, la surveillance et la gestion de ces dépendances deviennent de plus en plus complexes. Le principal avantage du SCA est qu'il permet aux équipes de développement de générer rapidement un SBOM et d'utiliser ces informations pour identifier les vulnérabilités potentielles et les problèmes de licence dans leur logiciel.

Point de contrôle CloudGuard Spectral est une plateforme de sécurité conçue pour répondre aux principaux défis de sécurité auxquels sont confrontés les développeurs. Spectral peut, entre autres, effectuer une analyse de la vulnérabilité (SCA) pour aider à identifier les vulnérabilités dans les applications d'une organisation et à y remédier. Pour en savoir plus sur Spectral et sur la façon dont il peut rationaliser les pratiques de sécurité de votre organisation ( application ), inscrivez-vous dès aujourd'hui à une analyse de code gratuite.

×
  Commentaires
Ce site web utilise des cookies à des fins de fonctionnalité, d’analyse et de marketing. En continuant d’utiliser ce site web, vous acceptez l’utilisation des cookies. Pour plus d’informations, consultez notre Avis concernant les cookies.
OK