Skip to main content

Les 4 étapes du processus de remédiation des vulnérabilités

0 minutes de lecture

Il convient de ne jamais perdre de vue que l’objectif final de la gestion des vulnérabilités, c’est de les corriger. L’un des indicateurs clés de performance (KPI) du programme de gestion des vulnérabilités est le nombre de vulnérabilités à haut risque supprimées ou neutralisées avant que des systèmes et ressources stratégiques ne soient compromis.

Pourquoi la remédiation des vulnérabilités est-elle importante ?

Les clients, les partenaires, les employés et les régulateurs attendent des entreprises qu’elles mettent en place des politiques et des processus qui protègent de façon continue et efficace les données contre toute perte accidentelle ou malveillante et contre tout risque. Avec une tolérance zéro pour les interruptions ou les ralentissements du système. En bref, il est désormais stratégique pour l’entreprise de s’attaquer à la remédiation des vulnérabilités.

Qu’est-ce que le processus de remédiation des vulnérabilités ?

Le processus de remédiation des vulnérabilités est un workflow qui corrige ou neutralise les faiblesses détectées, notamment les bugs et vulnérabilités. Il comprend quatre étapes : la détection par le biais d’analyses et de tests, la priorisation, la correction et la surveillance des vulnérabilités.

Dans ce billet de blog, nous nous concentrons principalement sur deux étapes, la priorisation et la correction, afin de mettre en place un processus évolutif et efficace.

Les 4 étapes du processus de remédiation des vulnérabilités

  1. Détection : détecter les vulnérabilités par le biais de l’analyse et des tests

  2. Priorisation : comprendre quelles vulnérabilités représentent un risque réel et majeur

  3. Correction : corriger, bloquer ou réparer les vulnérabilités à grande échelle et en temps réel

  4. Surveillance : surveiller automatiquement les projets et le code pour détecter les vulnérabilités récemment découvertes, avec des alertes et des notifications en temps réel via tous les canaux pertinents

wordpress-sync/vulnerability-remediation-process-2

1. Détection des vulnérabilités

Avant d’aborder la priorisation et la correction, passons rapidement en revue ce que sont les vulnérabilités et comment elles sont découvertes.

Qu’est-ce qu’une vulnérabilité de sécurité ?

Les vulnérabilités de sécurité sont des failles de codage connues ou des erreurs de configuration du système qui peuvent être exploitées pour compromettre une application, un service, une bibliothèque, un conteneur ou une fonction et tous ses actifs connexes. L’exploitation active d’une faille vise à arrêter ou à perturber les performances, à exfiltrer des données, à détourner des ressources de calcul, etc. Les systèmes et les actifs auxquels le composant compromis à accès sont également en danger.

Les vulnérabilités de sécurité sont des failles de codage connues ou des erreurs de configuration du système qui peuvent être exploitées pour compromettre une application, un service, une bibliothèque, un conteneur ou une fonction et tous ses actifs connexes. L’exploitation active d’une faille vise à arrêter ou à perturber les performances, à exfiltrer des données, à détourner des ressources de calcul, etc. Les systèmes et les actifs auxquels le composant compromis à accès sont également en danger.

Par exemple, une vulnérabilité connue du codage logiciel est l’absence d’une procédure d’authentification de l’utilisateur ou la mise en œuvre d’un contrôle inadéquat, comme une authentification à un seul facteur au lieu de plusieurs, comme le recommandent les bonnes pratiques. Ce type de vulnérabilité ouvre la porte à des utilisateurs non autorisés disposant de privilèges suffisants pour monter des exploits tels que des attaques de l’homme du milieu (man-in-the-middle ou MITM, en anglais), qui sont essentiellement des interceptions électroniques. Les équipes de sécurité et les pirates découvrent régulièrement de nouvelles vulnérabilités, comme celle de Log4Shell. Il est donc important d’effectuer des analyses fréquentes.

La première étape du processus de remédiation consiste donc à détecter les vulnérabilités de sécurité. Les programmes matures de gestion des vulnérabilités mettent en œuvre une approche DevSecOps de type shift-left, dans laquelle l’analyse des vulnérabilités a lieu tout au long d’un SDLC sécurisé (cycle de vie du développement logiciel). Afin de ne pas ralentir le pipeline CI/CD, des outils de test de vulnérabilité automatisés sont déployés dans les environnements de développement, de test et de production. Il s’agit notamment :

Une attention particulière doit être accordée à la sécurité des conteneurs. Il est essentiel de rechercher les vulnérabilités de sécurité dans les images de conteneurs ainsi que dans les instances de conteneurs en cours d’exécution, avec tous leurs liens. Il est également important de s’assurer que les images de conteneur tierces proviennent uniquement de sources fiables. La sécurité Kubernetes pose aussi un ensemble unique de défis en matière d’analyse des vulnérabilités. En cas de violation d’un cluster, chaque service et chaque machine du réseau est en danger.

2. Priorisation des vulnérabilités

L’étape suivante du processus de remédiation des vulnérabilités consiste à établir des priorités.

« Au début de ma carrière dans la sécurité des applications, je commettais l’erreur de passer beaucoup trop de temps à tenter de faire beaucoup trop de choses. Plus précisément, je passais trop de temps à m’occuper de vulnérabilités spécifiques. »

Brendan Dibbel, responsable de l’équipe d’ingénierie de la sécurité des applications chez Toast

Quelle que soit l’approche de la gestion des risques de sécurité adoptée par votre entreprise, toutes les vulnérabilités détectées ne présentent pas le même niveau de risque. Il faut toujours trouver un compromis entre plusieurs paramètres tels que la gravité, la réparabilité, la couverture et la conformité. Grâce à une priorisation fondée sur le risque et tenant compte du contexte, l’équipe chargée de corriger les vulnérabilités peut concentrer ses ressources limitées sur les problèmes les plus importants.

Il est fort probable que plus de 80 % des vulnérabilités découvertes soient de faux positifs, que 18 % soient à faible risque et que les 2 % restants soient vraiment des problèmes que vous devrez résoudre.

Snyk, la plateforme de sécurité des applications natives du cloud, prend en charge la priorisation des vulnérabilités de plusieurs façons :

  • Des informations judicieuses sur les vulnérabilités : Snyk vous permet de hiérarchiser les priorités en fonction d’informations exploitables telles que la maturité de l’exploit, la réparabilité, le niveau de risque (y compris la gravité du danger en général et l’impact sur les projets stratégiques pour l’entreprise en particulier), la prévalence (le nombre de projets et d’actifs affectés) et l’âge.

  • Classement précis des priorités basé sur les risques : la base de données des vulnérabilités Snyk enrichit et analyse des données provenant de diverses sources publiques et propriétaires afin de fournir une couverture sans précédent des vulnérabilités connues et inconnues, chacune d’entre elles se voyant attribuer un score de priorité soigneusement calculé.

  • Informations au niveau de l’application : Snyk utilise les données d’exécution et d’invocation, les informations de configuration Kubernetes et les signaux des conteneurs en cours d’exécution pour déterminer l’impact (ou l’absence d’impact) d’une vulnérabilité. Si une fonction vulnérable n’est pas réellement utilisée, nécessite-t-elle de toute urgence votre attention ?

  • Contrôle granulaire des politiques de sécurité : la priorisation des vulnérabilités doit se faire dans le cadre des politiques de sécurité de l’entreprise. Plus la mise en œuvre des contrôles de sécurité est granulaire, plus la priorisation des vulnérabilités peut être ciblée. Snyk vous permet d’utiliser des balises et des attributs pour définir les politiques de sécurité, projet par projet.

3. Correction des vulnérabilités

La troisième étape du processus de remédiation des vulnérabilités consiste à corriger les faiblesses.

Bien souvent, cela implique le déploiement d’une mise à niveau ou d’un correctif, comme le recommande l’éditeur du logiciel concerné. Cependant, le déploiement d’un correctif peut être un défi en soi. Le test et le déploiement des correctifs et des mises à niveau peuvent s’avérer chronophages et gourmands en ressources. Parfois, les systèmes essentiels à l’activité doivent être arrêtés pendant le déploiement. Et il existe toujours un risque que le correctif ait un impact imprévu sur l’application elle-même ou ses dépendances.

Il existe sûrement des moyens moins risqués de corriger une faiblesse, ou au moins de gagner du temps pendant la préparation du correctif à déployer. Par exemple, vous pouvez mettre à jour des configurations de système, de plateforme ou de service à risque. De même, vous pouvez désactiver un processus ou une fonction vulnérable, ou supprimer un composant vulnérable qui n’est pas réellement utilisé.

4. Surveillance des vulnérabilités

Tout comme le reste du cycle du développement logiciel, le processus de remédiation des vulnérabilités est continu. Pour faciliter cette boucle, vous devez mettre en place une surveillance. Les outils utilisés à cet effet doivent surveiller automatiquement les projets et le code pour détecter les vulnérabilités, avec des alertes et des notifications en temps réel via tous les canaux pertinents.

Dans l’idéal, l’outil de surveillance assurera également une priorisation contextuelle, facilitant ainsi les étapes 1 et 2 du processus de remédiation des vulnérabilités (détection et priorisation). Sinon, les développeurs ou les équipes AppSec qui reçoivent des notifications seront rapidement épuisés par un afflux de vulnérabilités de faible priorité. Il est essentiel que les équipes ne soient pas submergées par des détails mineurs qui risqueraient de les retarder dans le traitement des vulnérabilités majeures et prioritaires nécessitant une correction rapide.

Bien que la surveillance figure en dernière étape de cette liste, dans un programme de sécurité performant, elle pourrait être considérée comme l’étape 1.

Connaître les quatre étapes du processus de remédiation des vulnérabilités n’est pas une fin en soi. Il est essentiel d’avoir aussi en place les bons outils pour faciliter le processus et le rendre plus efficace.

« Je vois ce problème dans presque toutes les organisations : vous avez quelques ingénieurs en sécurité face à un grand nombre de développeurs, et vous n’avez aucun moyen de suivre tous les changements.

Alors, au lieu de s’épuiser à vouloir tout faire, mieux vaut s’interroger sur comment donner à nos ingénieurs les outils dont ils ont besoin pour s’approprier la sécurité. »

Brendan Dibbel, responsable de l’équipe d’ingénierie de la sécurité des applications chez Toast

Donnez à vos équipes de développement les bons outils pour détecter et corriger les vulnérabilités. Snyk peut vous y aider de plusieurs façons :

  • Isolement immédiat : l’outil SCA de Snyk analyse et détecte rapidement toutes les instances affectées par une vulnérabilité et prend immédiatement des mesures pour bloquer les attaquants.

  • Navigation améliorée :dans les applications natives du cloud actuelles, hautement distribuées et déclenchées par des événements, les développeurs ont du mal à trouver le code ou le composant vulnérable à corriger. Snyk accélère la remédiation en indiquant avec précision aux développeurs comment accéder à la vulnérabilité.

  • Mises à jour automatiques ou manuelles vers des versions sans vulnérabilité : Snyk met à niveau les dépendances directes vers une version sans vulnérabilité, soit automatiquement par le biais de requêtes d’extraction (pull requests) de correction automatique, soit en invitant l’équipe à le faire manuellement.

  • Correction de la vulnérabilité : Snyk vérifie automatiquement si une branche existe et rouvre la requête d’extraction existante pour le correctif exact. Si aucune branche n’existe, une nouvelle branche et une nouvelle requête d’extraction sont créées.

FAQ

Qu’est-ce que l’analyse et le test des vulnérabilités ?

L’analyse des vulnérabilités surveille les applications et les systèmes par rapport à une base de données des failles de codage et des erreurs de configurations connues. Le test de vulnérabilité sonde les applications pour évaluer leur vulnérabilité. Ces processus d’analyse et de test devraient tous deux être automatisés et intégrés de façon transparente avec les pipelines CI/CD tout au long du cycle de vie du développement logiciel.

Comment prioriser les vulnérabilités en toute sécurité ?

Snyk vous aide à prioriser les vulnérabilités en se basant sur des scores de risque dérivés de l’analyse et de la sélection de multiples sources de données sur les vulnérabilités et les menaces. Certaines de ces sources sont accessibles au public, mais elles doivent être enrichies par des renseignements provenant du terrain (développeurs, universitaires, etc.), ainsi que par des recherches privées.

Comment supprimer les logiciels vulnérables ?

Les logiciels vulnérables sont généralement supprimés par le déploiement de correctifs et de mises à jour fournis par les éditeurs. D’autres mesures sont également envisageables afin de corriger les logiciels vulnérables, notamment la mise à jour des configurations du système ou des applications ou la suppression/désactivation des composants inutilisés qui ont été signalés comme vulnérables.

Up Next

Software Development Life Cycle (SDLC): Phases and Methodologies

Learn more about SDLC (Software Development Life Cycle), SDLC phases and methodologies to help keep everyone on the same page and working towards a common goal.

Poursuivre la lecture