Skip to main content

Aider les développeurs à prioriser le backlog de sécurité

Écrit par
Prioritisation header feature

22 juillet 2020

0 minutes de lecture

Aujourd’hui, les développeurs prennent de plus en plus les devants pour corriger les vulnérabilités de leurs applications, ce qui est formidable. Mais ils se retrouvent alors face à un long backlog de vulnérabilités. Décider quel problème traiter en premier est difficile et exige du temps et une expertise en sécurité dont ils ne disposent souvent pas. Les bons outils peuvent faire la différence : ils apportent l’expertise nécessaire pour savoir quelles questions de sécurité poser lors de la priorisation, ainsi que la technologie pour y répondre rapidement.

Faire face à la surcharge de vulnérabilités

Le nombre de vulnérabilités dans les composants open source ne cesse d’augmenter, avec des milliers de nouvelles vulnérabilités divulguées chaque année. Pour s’en faire une idée, Snyk Vulnerability Database a enregistré une hausse totale de 394 % au cours des quatre dernières années. Cette croissance continue se reflète dans les retards accumulés par les organisations dans le traitement des vulnérabilités.

Déjà à court de ressources et constamment sous pression pour déployer rapidement et fréquemment du code fonctionnel et sécurisé afin d’aider leur entreprise à rester compétitive, les développeurs ne peuvent venir à bout de ces backlogs qu’en établissant de bonnes priorités. Comme ils ne peuvent pas, en pratique, corriger toutes les vulnérabilités de la liste, les équipes de développement doivent déterminer lesquelles offrent le meilleur retour sur le temps investi.

Ces décisions peuvent avoir un impact considérable sur les efforts d’une organisation pour gérer et réduire les risques. Une mauvaise priorisation peut mobiliser le temps des équipes de développement sur des vulnérabilités qui se révèlent être de faux positifs, créant des frictions et diminuant la confiance des développeurs. Prioriser une vulnérabilité de gravité élevée sans exploit connu plutôt qu’une vulnérabilité de faible gravité exploitée dans la nature pourrait affaiblir la posture de sécurité globale de l’organisation.

Savoir poser les bonnes questions

Une priorisation efficace requiert de l’expertise, notamment en sécurité, pour évaluer avec précision et en profondeur la menace que représente la vulnérabilité pour l’organisation. Les développeurs ne possèdent généralement pas cette expertise, ce qui entrave leur capacité à bien prioriser les risques.

Les outils de sécurité efficaces doivent donc apporter cette expertise manquante et faire émerger les bonnes questions au bon moment. Les spécialistes de la sécurité peuvent adapter ces questions, qui sont ensuite mises en avant dans le produit.

Remettre les priorités dans le bon ordre

La première question à laquelle les développeurs doivent pouvoir répondre semble simple : quel problème du backlog faut-il traiter ensuite ?

Le CVSS a été conçu précisément dans ce but, mais il présente plusieurs difficultés. Calculer un score basé sur le CVSS nécessite des connaissances en sécurité. Même lorsque le score est fourni d’emblée, comprendre comment il a été établi exige des connaissances et parfois des recherches supplémentaires. De plus, la gravité d’une vulnérabilité n’est pas le seul facteur à prendre en compte pour décider quel problème traiter en premier.

Les développeurs ne disposent généralement pas de l’expertise en sécurité nécessaire pour comprendre les nuances du CVSS. Ils ne peuvent pas non plus se permettre de consacrer du temps à rechercher pourquoi une vulnérabilité a reçu un niveau de gravité donné. Pour aider les développeurs à établir leurs priorités, le score doit être explicite et facile à utiliser. Snyk, par exemple, prend en compte la gravité, la disponibilité d’un correctif, la maturité de l’exploit et l’ancienneté de la vulnérabilité pour calculer son score de priorité. Ce score est ensuite présenté de façon à être facile à comprendre et à utiliser pour les développeurs.

Page détaillant une vulnérabilité d’exécution de code arbitraire, avec un score de priorité de 876 et un curseur de score de priorité de la vulnérabilité.

La différence entre important et urgent

Une fois les priorités établies, il faut également déterminer quels problèmes sont plus urgents que les autres.

Les vulnérabilités exploitées dans la nature, par exemple, doivent être hautement prioritaires et considérées comme suffisamment urgentes pour nécessiter une intervention immédiate. La célèbre faille d’Equifax provenait d’une vulnérabilité connue, pour laquelle des exploits avaient été publiés dans la nature quelques jours seulement avant l’attaque. 

Savoir si une vulnérabilité est exploitable ne constitue toutefois qu’une partie de la solution. Cela indique la probabilité qu’elle soit exploitée, mais, comme pour les vulnérabilités en général, tous les exploits ne se valent pas. Certains ne sont que théoriques et n’ont jamais été transformés en armes. D’autres sont beaucoup plus matures et leur code d’exploitation a été publié.  Les exploits matures abaissent la barrière d’entrée pour les attaquants, ce qui incite davantage d’entre eux à les essayer. Plus important encore, ils sont rapidement intégrés à des botnets automatisés, qui parcourent constamment le Web à la recherche de failles faciles à exploiter, quelle que soit la victime. Si vous laissez une telle faille ouverte, ces botnets la trouveront probablement rapidement.

Face à un vaste backlog de vulnérabilités, les développeurs doivent pouvoir repérer rapidement celles pour lesquelles il est facile de trouver et de transformer des exploits en armes. Avec ces informations, il devient beaucoup plus facile de décider s’il faut prioriser une vulnérabilité.

Tableau de bord de sécurité affichant des filtres de vulnérabilité selon le niveau de maturité de l’exploitation, la preuve de concept, l’existence d’un exploit connu et l’absence de données

Corriger avec le bon contexte

Une vulnérabilité connue peut avoir un exploit, mais cela ne signifie pas qu’elle est exploitable dans votre application. La possibilité de l’exploiter dans votre application dépend des interactions entre votre code, les autres bibliothèques que vous utilisez et le composant vulnérable.

Obtenir ce contexte nécessite non seulement une expertise en sécurité, mais aussi des capacités d’analyse. Les développeurs ont rarement accès à ces deux ressources et n’ont pas non plus le temps de les développer eux-mêmes.  Des outils intégrant ces capacités aident les développeurs à déterminer si une méthode vulnérable est réellement incluse dans le chemin d’exécution d’une application, puis à établir leurs priorités en conséquence.

Snyk, par exemple, analyse au préalable chaque composant de l’environnement de l’utilisateur et peut surveiller l’application en cours d’exécution. L’objectif : indiquer aux développeurs si l’application peut atteindre la vulnérabilité.

Rapport d’analyse du terminal indiquant 57 problèmes de dépendances et chemins vulnérables, dont 41 vulnérabilités atteignables et des alertes de désérialisation mises en évidence

Moins de blocages. Plus de garde-fous.

On demande aux développeurs d’assumer toujours plus de responsabilités en matière de sécurité, mais ils ne peuvent le faire que s’ils savent qu’ils consacrent leur temps et leurs ressources aux bonnes vulnérabilités. Une bonne priorisation contribue également à réduire les frictions entre les développeurs et les équipes de sécurité : moins il y a de faux positifs dans la liste des problèmes à corriger immédiatement, plus les développeurs font confiance au processus.

De leur côté, les équipes de sécurité doivent veiller à ce que les développeurs puissent prioriser leurs tâches en toute sécurité. En leur fournissant des garde-fous, elles peuvent s’assurer que les décisions sont prises dans un cadre sûr. Ces garde-fous doivent être définis par les équipes de sécurité à l’aide de politiques suffisamment précises pour assurer une gouvernance à grande échelle. Plus ces politiques sont automatisées, mieux c’est.  

Pour aider les développeurs à poser les bonnes questions et à prioriser efficacement, Snyk leur propose des fonctionnalités de priorisation conçues pour eux, qui suggèrent les questions à poser, trouvent les réponses et simplifient les étapes suivantes de la correction. En savoir plus ou commencez dès maintenant gratuitement.

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.

Publié dans:

Lire la suite

feature insights context
Blog

Les attaques autonomes sont déjà là. La défense doit suivre leur rythme.

Les attaquants autonomes réduisent la fenêtre de défense. Découvrez comment la découverte, la correction, la validation et la prévention continues peuvent aider les équipes de sécurité à suivre le rythme.

illustration hero ai
Blog

Qu’est-ce que l’AppSec agentique ?

Découvrez comment l’AppSec agentique s’appuie sur des agents IA ancrés dans la réalité, aux missions délimitées et vérifiés de manière indépendante pour gérer le cycle de sécurité des applications.

Blog

Evo ADS : la gouvernance des comportements des agents est disponible : maîtrisez l’utilisation de MCP

La gouvernance des comportements des agents Evo ADS est désormais disponible, avec MCP Governance en première étape. Découvrez, approuvez, surveillez, consignez et bloquez l’utilisation des serveurs MCP par les principaux agents de programmation IA.