Découvrez les capacités de priorisation de Snyk, pensées pour les développeurs
22 juillet 2020
0 minutes de lectureNous sommes ravis de dévoiler les capacités de priorisation de Snyk, pensées pour les développeurs. Elles aident les équipes de développement et de sécurité à prioriser plus efficacement les corrections des vulnérabilités de sécurité dans leurs dépendances open source et leurs conteneurs !
Aujourd’hui, les organisations sont submergées par le nombre croissant de vulnérabilités. Comme elles ne peuvent pas corriger chaque problème immédiatement, elles doivent établir des priorités. Une priorisation efficace leur permet de se concentrer sur les vulnérabilités qui présentent le plus grand risque, d’optimiser le temps et les efforts investis et de renforcer rapidement leur posture de sécurité globale.
Mais une priorisation efficace est difficile.
Les vulnérabilités ne se valent pas toutes, et leur niveau de risque varie en fonction d’un grand nombre de facteurs objectifs et subjectifs. Pour bien les prioriser, il faut disposer d’un contexte approfondi.Par exemple, savoir qu’un exploit mature existe ou déterminer si l’application appelle réellement la fonction vulnérable permet d’évaluer le risque avec plus de précision. Le temps joue également un rôle : le risque diminue à mesure que l’on s’éloigne de la date de publication d’une nouvelle vulnérabilité.
Avec cette annonce, Snyk propose une suite complète d’outils de priorisation adaptés aux développeurs. Elle permet aux organisations de prioriser efficacement les corrections des vulnérabilités présentes dans leurs dépendances open source et leurs conteneurs, grâce à une priorisation instantanée, à un contexte approfondi sur les applications et à une gouvernance à grande échelle.
Accélérez le triage grâce à la priorisation instantanée
Aujourd’hui, la méthode la plus courante pour prioriser les corrections consiste à utiliser le CVSS. Bien qu’il s’agisse d’un bon point de départ, cette approche comporte aussi des limites. La norme est difficile à interpréter et peut parfois produire des scores trompeurs. Même après avoir filtré les vulnérabilités par niveau de gravité, les organisations doivent encore traiter une longue liste de problèmes à prioriser. Plus fondamentalement, la gravité n’équivaut pas au risque, ni au niveau réel d’exposition à ce risque dans un projet donné. Pour bien prioriser, les organisations ont d’abord besoin d’un moyen simple et rapide de comprendre l’ensemble des risques posés par les vulnérabilités.
Score de priorité
Nous sommes ravis d’annoncer le nouveau score de priorité de Snyk : un système de notation avancé et intégré qui aide les développeurs à prioriser les problèmes rapidement et facilement.
Pour calculer le score de priorité de Snyk, un algorithme propriétaire traite un large éventail de facteurs, tels que le score CVSS, la disponibilité d’une correction, l’existence d’exploits connus, l’ancienneté de la vulnérabilité et son caractère exploitable ou non (nous reviendrons sur l’exploitabilité plus loin !). Le score, compris entre 1 et 1 000, est calculé pour les vulnérabilités de sécurité comme pour les problèmes de licence. Il peut être utilisé de plusieurs façons dans l’interface Snyk et via l’API.
Dans Snyk, le score apparaît dans l’angle supérieur droit de chaque carte de problème sur la page Projects. Une nouvelle option vous permet de filtrer les vulnérabilités des projets en fonction de leur score.

Sur la page Reports | Issues de l’interface, les problèmes sont triés par défaut : les vulnérabilités ayant le score le plus élevé apparaissent en tête de liste.

Pour parcourir plus facilement un grand nombre de vulnérabilités dans vos rapports, vous pouvez utiliser le nouveau filtre Priority Score.

Le score de priorité est disponible avec tous les forfaits Snyk. Les rapports et l’API sont pris en charge à partir des forfaits Standard.
Maturité de l’exploit
La maturité de l’exploit de Snyk, désormais également prise en charge dans Snyk Container, est un autre outil puissant pour prioriser efficacement.
Les vulnérabilités exploitées « dans la nature » ont plus de chances d’être utilisées à des fins malveillantes et doivent donc être prioritaires par rapport à celles pour lesquelles aucun exploit n’est connu. Cependant, l’exploitabilité n’est pas binaire. C’est pourquoi la fonctionnalité Exploit Maturity de Snyk indique non seulement si un exploit existe, mais distingue également plusieurs niveaux de maturité :
Mature : un exploit sous forme de code publié, facile à utiliser pour cette vulnérabilité, est disponible.
Proof of concept : une preuve de concept théorique publiée ou une explication détaillée montrant comment exploiter cette vulnérabilité est disponible.
No known exploit : aucun code de preuve de concept ni exploit n’a été trouvé pour cette vulnérabilité, ou ceux-ci ne sont pas accessibles au public.
Alors, à quel point la priorisation selon la maturité des exploits est-elle efficace ? Très efficace ! Par exemple, 10 % des vulnérabilités Java disposent d’un exploit. Mais une analyse plus approfondie révèle que seuls 36 % de ces exploits sont réellement « matures », présentent un danger réel et immédiat important et doivent donc figurer en tête de la liste des priorités.
Cette analyse approfondie de la sécurité, désormais également disponible pour les vulnérabilités Linux dans Snyk Container, est facilement accessible dans l’interface Snyk et via l’API. Grâce aux filtres, vous pouvez trier les problèmes et créer des rapports détaillés selon la maturité des exploits.

Priorisez grâce à une analyse approfondie de l’exécution de vos applications
En définitive, les vulnérabilités sont subjectives. L’exploitation d’une même vulnérabilité dans deux applications différentes peut avoir des conséquences très différentes. Pour être efficace, la priorisation ne peut pas reposer uniquement sur des caractéristiques objectives : elle nécessite des informations détaillées sur le contexte de l’application et son fonctionnement. Snyk vous fournit désormais un moyen simple d’obtenir ce contexte et de prendre des décisions de priorisation précises.
Vulnérabilités exploitables
Pour vous offrir un contexte plus détaillé sur les vulnérabilités au niveau de l’application, nous sommes ravis d’annoncer la version bêta de Reachable Vulnerabilities.
Reachable Vulnerabilities vous aide à déterminer si une fonction vulnérable peut être atteinte dans le parcours d’exécution de l’application. Cette fonctionnalité complète nos agents de surveillance à l’exécution, qui permettent de déterminer si une fonction vulnérable est réellement atteinte pendant l’exécution.
La présence d’une vulnérabilité dans une partie de votre code ne signifie pas nécessairement que toute la bibliothèque est vulnérable. Les vulnérabilités que votre application ne peut pas atteindre dans son flux d’exécution ne compromettent généralement pas l’application dans son ensemble et présentent donc moins de risques que celles qui sont atteintes.
Reachable Vulnerabilities analyse le code propriétaire de l’application ainsi que ses interactions spécifiques avec les dépendances open source, puis établit un graphe d’appels. En mettant ce graphe en corrélation avec la base de données des vulnérabilités de Snyk, Reachable Vulnerabilities détermine si un flux de données traverse l’application jusqu’à la fonction ou au package vulnérable.
L’analyse Reachable Vulnerabilities se lance à l’aide de la CLI Snyk. Les résultats indiquent le nombre de vulnérabilités considérées comme atteignables. Le niveau d’atteignabilité apparaît à côté de chaque vulnérabilité, et le chemin entre le code de l’application et la fonction vulnérable est affiché en dessous.

Dans l’interface Snyk, les utilisateurs peuvent utiliser les nouveaux filtres Reachable Vulnerabilities pour prioriser les problèmes selon qu’une vulnérabilité est atteignable ou non. Ils peuvent également consulter des informations détaillées sur les chemins d’appels exacts menant aux fonctions vulnérables afin de les corriger plus rapidement.

Les informations sur l’atteignabilité sont également disponibles dans l’onglet Reports -> Issues. Vous pouvez trier la liste des problèmes selon leur niveau d’atteignabilité et la filtrer à l’aide d’un nouveau filtre.
Un prochain article vous fournira davantage d’informations sur Reachable Vulnerabilities. Restez à l’écoute !
Reachable Vulnerabilities est disponible en version bêta avec tous les forfaits Snyk payants : Standard, Pro et Enterprise. La fonctionnalité prend uniquement en charge les projets Java (Maven).
Priorisation Kubernetes
Des configurations Kubernetes de workloads mal configurées peuvent vous exposer à des risques et doivent donc être prises en compte lors de la priorisation des corrections. Snyk est désormais ravi de vous proposer une priorisation spécifique à Kubernetes !
L’intégration de Snyk à Kubernetes vous permet d’importer et de tester vos workloads en cours d’exécution, puis d’identifier les vulnérabilités dans les images et les configurations qui leur sont associées et qui pourraient compromettre leur sécurité. Une fois ces workloads importés, Snyk continue de les surveiller et détecte les nouveaux problèmes de sécurité lorsque de nouvelles images sont déployées ou que la configuration des workloads change.
Les configurations des workloads Kubernetes suivies par Snyk, notamment les limites de processeur et de mémoire, les autorisations et les capacités supprimées, sont désormais combinées aux données sur les vulnérabilités pour calculer le score de priorité de Snyk. Vous disposez ainsi d’un contexte plus détaillé sur les problèmes détectés dans vos workloads et pouvez prendre des décisions de priorisation plus éclairées.
La configuration Kubernetes est disponible avec tous les forfaits Snyk Container payants : Standard, Pro et Enterprise.
Automatisez la priorisation dans toute votre organisation
À grande échelle, il devient difficile de contrôler la priorisation entre différents projets et équipes. Les développeurs doivent pouvoir prioriser facilement les corrections dans le cadre défini par l’équipe de sécurité, idéalement de manière automatisée et sans friction.
Pour permettre aux organisations de prioriser et de déprioriser automatiquement les vulnérabilités à grande échelle, Snyk est ravi d’annoncer la version bêta de Security Policies !
Les organisations peuvent désormais définir leurs stratégies de priorisation dans une politique de sécurité et les appliquer à différentes équipes et à différents projets selon leurs besoins. Chaque politique contient une règle ou un ensemble de règles qui définissent précisément la manière dont les vulnérabilités doivent être traitées.

Les règles déclenchent des actions en fonction de conditions. Actuellement, elles peuvent modifier la gravité des vulnérabilités selon leur type — nous utilisons pour cela CWE, une norme courante de catégorisation des vulnérabilités selon leurs caractéristiques communes — et la maturité de l’exploit. Une politique peut, par exemple, comporter une règle qui augmente la gravité de toutes les vulnérabilités XSS (cross-site scripting) disposant d’exploits matures, et une autre qui réduit celle des vulnérabilités RCE (remote code execution).
Nous ajouterons progressivement des règles plus détaillées afin de prendre en charge d’autres actions et conditions, ainsi que la possibilité d’attribuer une politique à des projets spécifiques à l’aide de balises et d’attributs.
Security Policies est disponible en version bêta avec les forfaits Snyk Pro et Enterprise.
Prioriser efficacement en toute simplicité
Dans un monde idéal, « sans risque », les organisations auraient le temps et les ressources nécessaires pour corriger toutes les vulnérabilités en attente. Ce n’est évidemment pas possible. Prioriser les corrections est la seule solution, mais bien le faire représente déjà un défi. Pour être efficace, la priorisation nécessite une expertise en sécurité et un contexte approfondi afin de prendre des décisions éclairées.
En associant une priorisation instantanée pour accélérer le triage, un contexte approfondi sur les applications pour éclairer les décisions à partir des données et une gouvernance à grande échelle pour aider les organisations à gérer la priorisation, les capacités de priorisation de Snyk, pensées pour les développeurs, permettent aux équipes de développement et de sécurité de mieux établir leurs priorités et, au final, de réduire les risques plus efficacement.
Découvrez dès maintenant les capacités de priorisation de Snyk !
Lancez-vous dans les compétitions Capture The Flag
Apprenez à résoudre des défis Capture The Flag en regardant à la demande notre atelier virtuel d’initiation.
