Le nouveau guide Gartner met en lumière l’importance de l’analyse de la composition logicielle (SCA)
1 septembre 2020
0 minutes de lectureLe guide Gartner 2020 sur l’analyse de la composition logicielle (SCA) vient d’être publié. Il souligne l’importance croissante de la sécurité des logiciels open source et de leur sécurisation, et formule des recommandations pour gérer et atténuer efficacement les risques.
Selon le guide, plus de 90 % des organisations s’appuient sur des logiciels open source. Plusieurs avantages expliquent cette dépendance, mais surtout, l’open source permet aux développeurs de gagner en productivité et de livrer du code plus rapidement.
Cette dépendance entraîne des risques de sécurité considérables. Gartner a constaté que les vulnérabilités de sécurité, introduites par des dépendances open source directes ou transitives, constituent le principal défi auquel les organisations sont confrontées lorsqu’elles utilisent l’open source.
Pour relever ce défi, Gartner souligne le rôle croissant que joue l’analyse de la composition logicielle (SCA) en aidant les équipes de développement et de sécurité à détecter et à corriger efficacement les problèmes. Comme le précise le guide, « sans l’analyse de la composition logicielle, les avantages de l’OSS dans le développement d’applications peuvent facilement être éclipsés par les risques ».
Examinons de plus près l’analyse et les recommandations formulées par Gartner dans ce guide.
Recommandations pour la sécurité des logiciels open source
Gartner recommande aux organisations de suivre les quatre étapes suivantes pour gérer et atténuer les risques liés aux logiciels open source :
Ajouter des outils SCA à la boîte à outils de tests de sécurité des applications -Les outils SCA aident les organisations à détecter les vulnérabilités de sécurité et les problèmes de licences dans les composants open source utilisés. Ils doivent constituer un élément central de la stratégie globale de sécurité des applications d’une organisation.
Sécuriser la chaîne d’approvisionnement logicielle - Aujourd’hui, les applications sont composées de différents éléments issus de dépôts internes et externes. Cette chaîne d’approvisionnement doit être testée régulièrement et automatiquement afin de détecter les problèmes de sécurité.
Établir des politiques pour une application automatisée -Les organisations doivent déterminer le niveau de risque qu’elles peuvent accepter et appliquer cette limite à chaque étape du cycle de développement logiciel.
Accorder une place plus importante à la SCA -La SCA doit s’intégrer pleinement aux workflows de développement existants, les outils SCA devant être « la règle, et non l’exception ».
Comprendre le rôle des outils SCA
Comme le montre la liste de recommandations ci-dessus, les outils SCA reviennent régulièrement. Le guide Gartner décrit les fonctions essentielles qu’ils fournissent et explique pourquoi ils sont si importants pour gérer et atténuer efficacement les risques liés aux logiciels open source.
Identification des composants open source
Les outils SCA analysent les applications et identifient leur dépendance à des packages open source, qu’il s’agisse de dépendances directes ou transitives. Comme Snyk l’a démontré par le passé, 80 % des vulnérabilités sont introduites par des dépendances transitives. Cette fonction est donc essentielle pour atténuer efficacement les risques.
Gestion de la conformité des licences
Les outils SCA identifient également les différentes licences open source utilisées et aident ainsi les organisations à atténuer les risques juridiques liés aux logiciels open source. Les organisations peuvent s’en servir pour établir des politiques de licences et éviter l’apparition de risques juridiques dès les premières étapes du développement.
Vulnérabilités de sécurité
Après avoir identifié les différentes dépendances open source utilisées, les outils SCA les mettent en corrélation avec des bases de données de vulnérabilités et signalent celles qui les affectent. Une fois les vulnérabilités détectées, certains outils SCA fournissent également des informations pour faciliter leur correction. Snyk, par exemple, fournit des conseils de correction contextualisés ainsi que des correctifs de sécurité précis pour aider les équipes à résoudre rapidement les vulnérabilités.
Gouvernance et contrôle
Les outils SCA peuvent appliquer automatiquement les politiques de sécurité et de licences à chaque étape du cycle de développement logiciel. La méthode la plus courante consiste à intégrer les tests de sécurité de l’open source aux processus CI/CD, afin d’empêcher les vulnérabilités de progresser dans le pipeline de livraison.
Rapports et analyses
Les outils SCA aident les organisations à produire des BoM (nomenclatures logicielles), c’est-à-dire des listes détaillées des différentes dépendances utilisées dans le code et des emplacements où elles sont utilisées. Ces rapports permettent ensuite d’évaluer l’exposition aux risques de sécurité futurs, de partager les informations avec d’autres parties prenantes et de favoriser la standardisation.
Critères clés pour évaluer les outils SCA
Comme l’explique le guide, les outils SCA ne se valent pas tous et se présentent sous de nombreuses formes. Pour aider les organisations à évaluer les différents outils SCA disponibles, Gartner formule des recommandations précises afin d’orienter leurs décisions.
Prise en charge de l’écosystème et des langages
Les outils SCA doivent prendre en charge les principaux langages de programmation et frameworks utilisés par l’organisation. Les besoins varient d’une organisation à l’autre, mais la prise en charge de Java, JavaScript, Python, Go, .NET, PHP et Ruby est généralement nécessaire.
Des données de sécurité complètes et approfondies
Pour détecter et corriger rapidement les vulnérabilités, les outils SCA doivent fournir des données de sécurité de qualité. Ils s’appuient sur des bases de données de vulnérabilités pour produire ces données, mais, comme le souligne Gartner, aller au-delà de la simple utilisation de la NVD permet d’obtenir des résultats plus fiables et plus précis. La base de données de vulnérabilités de Snyk s’appuie sur plusieurs sources publiques, ainsi que sur des travaux universitaires, la communauté et les recherches de notre équipe, afin de fournir aux utilisateurs des données précises, à jour et complètes.
Priorisation
Les équipes de développement et de sécurité sont confrontées à un nombre écrasant de vulnérabilités, mais disposent de peu de temps et de ressources. Elles doivent donc établir des priorités. Les outils SCA doivent fournir les informations nécessaires pour prendre des décisions de priorisation efficaces. Gartner souligne que la capacité à prioriser les vulnérabilités exploitables dans le chemin d’exécution de l’application est une fonction indispensable d’un outil SCA.
Convivialité pour les développeurs
Les outils SCA que les utilisateurs finaux n’adoptent pas ne seront pas très efficaces. Avec l’essor rapide des approches « shift left » et DevSecOps, les développeurs sont devenus les principaux utilisateurs des outils SCA. Pour accompagner ces approches, il ne suffit pas de remettre aux développeurs une liste de problèmes à traiter ni de leur donner accès à un outil conçu pour l’équipe de sécurité. Les outils SCA doivent privilégier les développeurs : ils doivent s’intégrer facilement aux workflows de développement existants et générer un minimum de friction.
Correction
Détecter les problèmes est une chose. Pouvoir les corriger rapidement en est une autre. Gartner insiste sur le fait que les outils SCA doivent également aider les organisations à mettre en œuvre les mesures correctives. Snyk, par exemple, fournit des recommandations exploitables pour la priorisation et la correction, notamment un score de priorité, l’arborescence complète des dépendances, la correction recommandée et des correctifs précis. Snyk déclenche également des pull requests automatisées pour simplifier encore davantage les corrections.
Intégrations
Le cycle de développement logiciel est complexe. Les développeurs utilisent différents systèmes et plateformes pour faire passer leur code du développement à la production. Dans l’idéal, les organisations devraient pouvoir intégrer la sécurité de l’open source à chacune de ces étapes. Les outils SCA doivent donc proposer ces intégrations.
Rapports et BoM
Les outils SCA doivent aider les organisations à suivre dans le temps les composants open source utilisés et à créer des rapports (ou BoM) à partir de ces informations. Comme indiqué plus haut, ces rapports servent à évaluer l’exposition aux risques et à assurer le suivi interne, mais peuvent également être exigés par une licence ou une commande d’achat particulière.
Politiques
Gartner recommande de définir, au moyen de politiques, les conditions de sécurité et les exigences juridiques acceptables ou non pour l’organisation, puis d’appliquer automatiquement ces politiques à chaque projet. Les outils SCA doivent prendre en charge cette fonction.
Notes de fin
Quel avenir pour la SCA ?
À l’heure actuelle, Gartner estime que seules 40 % des organisations utilisent réellement des outils SCA dans leur arsenal de tests de sécurité des applications. L’intérêt pour ces outils semble toutefois atteindre un pic, avec une hausse de près de 40 % des demandes de renseignements des utilisateurs finaux à ce sujet.
Compte tenu de l’adoption croissante de l’open source, cela n’a rien d’étonnant. L’open source joue un rôle déterminant dans la transformation numérique et le rythme rapide de l’innovation auquel nous assistons aujourd’hui, notamment pendant la pandémie de COVID-19. Rien ne laisse penser que ces tendances changeront de sitôt.
Les organisations tirent parti de l’open source pour rester compétitives sur leurs marchés respectifs, tout en sachant qu’elles doivent gérer et atténuer les risques associés. Seuls les outils SCA répondant aux critères clés ci-dessus les aideront à atteindre cet objectif.
À propos de Snyk Open Source
Snyk Open Source aide des organisations comme Salesforce, Google et Facebook à renforcer la sécurité de leurs applications. La solution permet aux équipes de développement de détecter, de prioriser et de corriger automatiquement les vulnérabilités de sécurité et les problèmes de licences dans leurs dépendances et conteneurs open source, dès les premières étapes du cycle de développement logiciel et tout au long de celui-ci. Contrairement aux autres solutions de sécurité du marché, Snyk Open Source est un outil conçu pour les développeurs, qui s’intègre facilement aux workflows de développement et fournit des corrections automatisées ainsi que des informations de sécurité exploitables pour aider les organisations à détecter et à atténuer efficacement les risques.
Lancez-vous dans les compétitions Capture The Flag
Apprenez à résoudre des défis de capture du drapeau en regardant à la demande notre atelier virtuel d’initiation.