Skip to main content

Trois façons dont Snyk a renforcé la sécurité des chaînes logicielles en 2022

Écrit par
feature snyk supply chain purple

12 janvier 2023

0 minutes de lecture

Snyk abordait 2022 avec de solides fondations pour sécuriser votre chaîne logicielle : le code que vous écrivez, les bibliothèques et packages open source utilisés par votre code, les composants du processus de build et les configurations d’infrastructure as code (IaC) des systèmes sur lesquels votre application s’exécute. Au cours de l’année écoulée, la sécurité de la chaîne logicielle a gagné en visibilité : des menaces comme Log4Shell, apparue fin 2021, ont incité le gouvernement américain à publier des décrets exigeant des fournisseurs qu’ils prouvent que leurs logiciels sont développés de manière sécurisée.

Graphique linéaire Google Trends montrant l’intérêt croissant pour les recherches sur la chaîne d’approvisionnement logicielle de janvier 2021 à novembre 2022.
Tendances des recherches sur la chaîne d’approvisionnement logicielle. Source : Google Trends

Si vous êtes arrivé sur ce blog sans savoir ce qu’est Snyk, ce que nous faisons ni en quoi cela contribue à sécuriser les chaînes logicielles, voici une rapide présentation. Snyk propose une plateforme de sécurité pensée d’abord pour les développeurs, avec des outils qui sécurisent l’ensemble du cycle de développement logiciel (SDLC). Notre solution d’analyse statique de la sécurité des applications (SAST), Snyk Code, fournit aux développeurs des recommandations concrètes pour réduire les risques, 10 à 50 fois plus rapidement que les solutions SAST traditionnelles. Elle permet de vérifier le code directement dans l’IDE, sans nuire à la productivité des développeurs. Snyk Open Source aide à détecter les vulnérabilités dans les packages logiciels open source, à les hiérarchiser et à proposer des conseils concrets pour les corriger. Snyk Container aide les développeurs à choisir des images de base sûres et à jour, et identifie précisément les vulnérabilités ajoutées à leurs conteneurs au fil de leur création. La solution va au-delà de la pratique courante qui consiste à produire de longues listes de vulnérabilités. Enfin, lorsque vous êtes prêt à exécuter vos applications, Snyk Cloud adopte une approche centrée sur les développeurs et les applications pour détecter et corriger les vulnérabilités de l’infrastructure cloud, dès que l’infrastructure est définie en code (IaC) et jusqu’au déploiement, lorsque les ressources s’exécutent dans le cloud. La solution détecte également les écarts dans votre infrastructure cloud si les deux divergent.

En 2022, Snyk a poursuivi le développement de son approche de la sécurité logicielle centrée sur les développeurs en apportant plusieurs améliorations majeures à ses solutions existantes. Focus sur trois fonctionnalités clés lancées au cours de l’année écoulée, qui peuvent renforcer la sécurité de votre chaîne logicielle.

1. Le code que vous écrivez

Qu’est-ce qui vient en premier : le code que vous écrivez ou le langage de programmation et le framework que vous allez utiliser ? Dans les deux cas, nous avons ce qu’il vous faut. Plusieurs nouvelles fonctionnalités ont été ajoutées à Snyk Code, non seulement pour faciliter les bonnes pratiques de programmation dans l’IDE, mais aussi pour simplifier l’ajout de fonctionnalités dans les IDE. Pour en savoir plus sur le nouveau serveur de langage, les autres améliorations apportées à la prise en charge des IDE par Snyk, les améliorations de notre solution SAST et les autres moyens par lesquels nous avons renforcé la plateforme de sécurité pour développeurs de Snyk en 2022.

2. Les bibliothèques que vous utilisez et dont vous dépendez

Selon l’organisation et le type de solutions développées, il n’est pas rare que 70 à 90 % du code d’une application provienne de bibliothèques et de packages open source, comme le montre le rapport 2022 sur l’état de la sécurité open source de Snyk et de la Linux Foundation. Autrement dit, la majeure partie du code utilisé par les développeurs échappe à leur contrôle. Il est donc encore plus important pour les organisations de savoir précisément ce que contiennent leurs applications. Snyk Open Source pouvait déjà détecter les bibliothèques et packages vulnérables depuis la ligne de commande et dans les pipelines CI/CD. En 2022, Snyk a étendu la prise en charge des IDE à Visual Studio Code, avec la visualisation des problèmes directement dans l’IDE et des recommandations de correction faciles à comprendre et adaptées au contexte.

Visual Studio Code affichant les vulnérabilités détectées par Snyk dans un fichier package-lock.json, avec des recommandations détaillées pour corriger la dépendance adm-zip.

Détecter et corriger les vulnérabilités pendant le développement prend beaucoup moins de temps et coûte beaucoup moins cher que de le faire une fois l’application en production. En tant que membre de l’Open Source Security Foundation (OpenSSF), Snyk sait que la mise en œuvre des bonnes pratiques de sécurité doit commencer avec les développeurs et s’y engage : ce sont eux qui décident comment créer leurs applications et quelles bibliothèques utiliser.

Détecter les vulnérabilités dans les IDE est un moyen de réduire les coûts et les frictions, mais la sécurité ne se résume pas à détecter les vulnérabilités connues. Compte tenu du nombre de packages open source utilisés, les développeurs doivent aussi prendre en considération des facteurs comme la fréquence de maintenance, la taille de la communauté des responsables de maintenance et même la popularité du package envisagé.

Tous ces éléments indiquent si les vulnérabilités seront corrigées rapidement lorsqu’elles seront découvertes. Snyk Advisor est disponible depuis un certain temps sur le site de Snyk, et nous l’avons également intégré à l’expérience IDE. Les développeurs peuvent ainsi évaluer la sécurité de leurs packages, même si aucun ne présente actuellement de vulnérabilité.

Écran de code affichant un panneau de conseil sur un package, avec des informations sur sa popularité, sa maintenance, sa communauté et sa sécurité, ainsi qu’un score Advisor de 54/100.

Vous faites tout votre possible pour empêcher les vulnérabilités d’entrer dans vos logiciels, mais des problèmes peuvent survenir. De nouvelles vulnérabilités sont régulièrement découvertes dans des bibliothèques déjà en circulation, parfois même des années plus tard. Les organisations doivent donc pouvoir déterminer rapidement la composition de chacune de leurs applications. C’est là qu’intervient la nomenclature logicielle (SBOM, Software Bill of Materials).

Une SBOM présente la composition d’une application sous forme imbriquée ou hiérarchique. Dès sa création, Snyk Open Source a été conçu pour contribuer à sécuriser la chaîne logicielle : les développeurs peuvent choisir des packages open source sécurisés dès le départ, tester leur code pour détecter les packages vulnérables tout au long du SDLC et surveiller en continu leurs applications afin de repérer de nouvelles vulnérabilités. Snyk Open Source a étendu ses capacités de détection des vulnérabilités et des correctifs en permettant l’exportation des SBOM via l’interface en ligne de commande, grâce à la nouvelle commande snyk sbom. Vous pouvez désormais exporter votre SBOM au format ouvert CycloneDX, pour obtenir une vue complète de la composition de vos applications, y compris de leurs dépendances logicielles transitives. La prise en charge des SBOM ne se limite pas à une simple fonction d’exportation : nous avons également ajouté un vérificateur de SBOM qui vous permet d’en assurer la sécurité :

Fenêtre du tableau de bord Snyk affichant 127 problèmes liés aux SBOM, classés par niveau de gravité, avec des fiches détaillées sur les vulnérabilités des packages JavaScript.

Nous avons également mis à disposition générale notre API package-issues, qui permet aux clients de rechercher les vulnérabilités d’un package donné à l’aide de son URL de package (purl), un format de nommage largement utilisé pour les packages dans les SBOM. Nous avons aussi contribué un fournisseur Snyk au projet open source Bomber.

3. Et les conteneurs que vous exécutez

Tout comme les applications modernes reposent largement sur des bibliothèques et des packages open source, les développeurs s’appuient souvent sur des images de base publiques pour créer et déployer leurs conteneurs logiciels. Beaucoup proviennent de Docker Hub sous la forme d’« Official Images » : des images de conteneurs populaires, dont plusieurs sont publiées et maintenues par Docker. À partir de ces images de base, les développeurs ajoutent leur code ou leurs applications compilées, ainsi que les packages dont ils dépendent. En 2022, nous avons ajouté la détection des images de base et des recommandations de mise à niveau pour les versions 8 et 9 de Red Hat Universal Base Image (UBI).

Snyk Container suit déjà les images Docker populaires et recommande des images de base. La solution offre également aux développeurs des fonctionnalités de correction automatisée grâce à la génération de demandes de tirage (PR) en un clic, permettant aux équipes de passer rapidement et facilement à des versions plus sécurisées des images publiques. En 2022, nous avons ajouté la possibilité de désigner des images sélectionnées ou « dorées » comme « images de base personnalisées », puis de les intégrer à la logique de recommandation (fonctionnalité disponible en bêta ouverte). Très répandue dans de nombreuses entreprises, cette pratique évite aux développeurs de devoir se préoccuper de la plupart des packages de conteneurs. La nouvelle fonctionnalité de Snyk Container aide vos équipes de développement à trouver le meilleur point de départ tout en respectant les règles de l’organisation, grâce à la même logique de correction automatique auparavant réservée aux Official Images de Docker. Les organisations peuvent ainsi définir et sélectionner leurs propres images de base, et contrôler encore mieux la sécurité de leur chaîne logicielle.

Vue d’ensemble d’un projet Snyk présentant des recommandations de mise à niveau de l’image de base, le nombre de vulnérabilités, leur niveau de gravité et des boutons « Ouvrir une PR de correction »

Les outils pensés pour les développeurs cherchent à les rejoindre « là où ils travaillent ». Les analyses de Snyk Container leur permettent donc d’utiliser les outils qu’ils connaissent déjà pour créer des conteneurs plus sécurisés. Sur le plan opérationnel, la nouvelle intégration entre Snyk et Sysdig, lancée en 2022, fournit des informations supplémentaires sur les charges de travail en cours d’exécution pour aider à hiérarchiser les correctifs et à sécuriser davantage votre chaîne logicielle.

En route pour 2023 !

J’ai abordé bien plus que trois sujets dans cet article. Voici toutefois les principaux points à retenir concernant la chaîne logicielle et Snyk en 2022 :

  • Prise en charge d’un nouveau serveur de langage pour simplifier les plugins IDE

  • Génération de SBOM, outils et prise en charge

  • Recommandations d’images de base personnalisées ou dorées

  • Intégrations d’exécution

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.

Nous espérons que vous avez également connu une année 2022 productive et que 2023 sera encore meilleure !