SCA - Logiciel d'analyse de la composition CI/CD.

May 02 2023
Qu'est-ce que l'analyse de la composition logicielle ? SCA est un type d'analyse qui consiste à analyser le code et ses dépendances pour identifier tout composant open source ou tiers utilisé, et pour détecter toute vulnérabilité connue ou tout problème de conformité de licence associé à ces composants. Il existe plusieurs raisons pour lesquelles il est essentiel d'appliquer SCA tout au long du cycle de développement sécurisé.

Qu'est-ce que l'analyse de la composition logicielle ?

SCA est un type d'analyse qui consiste à analyser le code et ses dépendances pour identifier tout composant open source ou tiers utilisé, et pour détecter toute vulnérabilité connue ou tout problème de conformité de licence associé à ces composants.

Il existe plusieurs raisons pour lesquelles il est essentiel d'appliquer SCA tout au long du cycle de développement sécurisé.

Sécurité : Les composants open source et les bibliothèques tierces contiennent souvent des vulnérabilités qui peuvent être exploitées par des attaquants pour obtenir un accès non autorisé à une application ou à un système. SCA aide à identifier ces vulnérabilités au début du processus de développement, permettant aux développeurs de les corriger avant qu'elles ne puissent être exploitées dans l'environnement de production.

Conformité : de nombreux composants open source sont concédés sous licence selon des termes et conditions spécifiques qui peuvent avoir des implications juridiques s'ils ne sont pas correctement gérés. SCA peut aider à identifier tout problème de conformité de licence dès le début du processus de développement, permettant aux développeurs de les résoudre avant qu'ils ne deviennent une responsabilité légale.

Efficacité : les composants open source et les bibliothèques tierces peuvent être une ressource précieuse pour les développeurs, car ils peuvent aider à accélérer le processus de développement et à réduire le besoin d'écrire du code à partir de zéro, ce qui permet d'économiser du temps et des efforts dans le processus de développement.

Maintenabilité : à mesure que les logiciels évoluent et que de nouveaux composants sont ajoutés ou mis à jour, il peut devenir difficile de suivre toutes les dépendances et leurs vulnérabilités ou problèmes de conformité associés. SCA peut aider à garder une trace de ces dépendances et s'assurer qu'elles sont correctement gérées tout au long du cycle de vie du développement logiciel.

Il existe plusieurs outils d'analyse de la composition logicielle (SCA) :

  • Sonatype Nexus IQ
  • Canard noir
  • Snyk
  • Source blanche
  • Vérification des dépendances OWASP
  • FOSSE

En 2020 a été découvert, l'attaque de la chaîne d'approvisionnement de SolarWinds. L'attaque a touché plusieurs agences gouvernementales américaines, ainsi que de nombreuses entreprises privées.

Les attaquants ont inséré des logiciels malveillants dans les mises à jour d'un produit logiciel appelé Orion, développé par SolarWinds, une société informatique basée au Texas. Les mises à jour ont ensuite été distribuées aux clients de SolarWinds, y compris plusieurs agences gouvernementales américaines et des entreprises du Fortune 500.

Pour intégrer OWASP Dependency-Check à GitLab CI/CD, vous pouvez suivre ces étapes générales :

  1. Installez et configurez le plugin Dependency-Check dans GitLab. Vous pouvez trouver le plugin sur le marché GitLab.
  2. Dans votre pipeline GitLab CI/CD, ajoutez une nouvelle étape pour l'analyse des dépendances à l'aide de Dependency-Check. Par exemple, vous pouvez ajouter l'étape suivante à votre .gitlab-ci.ymlfichier :

De plus, il est important de mettre régulièrement à jour votre outil SCA et de rester informé des nouvelles vulnérabilités et des mises à jour des dépendances tierces pour vous assurer que votre code est sécurisé et conforme.