Skip to main content

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

java survey header

16 février 2021

0 minutes de lecture

Il est toujours important de garder à l’esprit que l’objectif final de la gestion des vulnérabilités est la remédiation. L’un des KPI importants d’un programme de gestion des vulnérabilités est le nombre de vulnérabilités à haut risque éliminées ou neutralisées avant que des systèmes et actifs critiques ne soient compromis.

Qu’est-ce que la remédiation des vulnérabilités et pourquoi est-elle importante ?

Les clients, les partenaires, les employés et les autorités de réglementation attendent des entreprises qu’elles mettent en œuvre des politiques et des processus capables de protéger les données en continu et efficacement contre toute perte ou exposition accidentelle ou malveillante. Les interruptions ou ralentissements des systèmes ne sont pas davantage tolérés. En bref, relever les défis liés à la remédiation des vulnérabilités est devenu un impératif métier.

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

Le processus de correction des vulnérabilités est un flux de travail qui permet de corriger ou de neutraliser les failles détectées, notamment les bugs et les vulnérabilités. Il comprend quatre étapes : détecter les vulnérabilités grâce à l’analyse et aux tests, les hiérarchiser, les corriger et les surveiller.

Nous nous concentrons principalement sur les étapes de priorisation et de correction afin de mettre en place un processus de remédiation des vulnérabilités efficace et évolutif.

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

  • Détecter : repérer les vulnérabilités par des scans et des tests

  • Prioriser : déterminer quelles vulnérabilités représentent un risque réel et important

  • Corriger : appliquer des correctifs, bloquer ou corriger les vulnérabilités à grande échelle et en temps réel

  • Surveiller : surveiller automatiquement les projets et le code pour détecter les nouvelles vulnérabilités, avec des alertes et des notifications en temps réel sur tous les canaux pertinents

Schéma du processus de correction des vulnérabilités présentant quatre étapes : détecter, hiérarchiser, corriger et surveiller, organisées en cycle.

1. Détecter les vulnérabilités

Avant d’aborder la priorisation et la correction des vulnérabilités, voyons rapidement ce qu’elles sont et comment les détecter.

Les vulnérabilités de sécurité sont des défauts de code connus ou des erreurs de configuration système qui peuvent être exploités pour compromettre une application, un service, une bibliothèque, un conteneur ou une fonction, ainsi que tous les actifs associés. L’exploitation active vise notamment à interrompre ou dégrader les performances, à exfiltrer des données ou à détourner des ressources de calcul. Les systèmes et actifs accessibles latéralement depuis le composant compromis sont également exposés.

Par exemple, une vulnérabilité logicielle courante peut être l’absence totale d’un processus d’authentification des utilisateurs ou la mise en place d’un contrôle insuffisant, comme une authentification à un seul facteur au lieu de la bonne pratique recommandée, l’authentification multifacteur. Ce type de vulnérabilité permet à des utilisateurs non autorisés disposant de privilèges suffisants de lancer des attaques telles que les attaques de l’homme du milieu (MITM), qui reviennent essentiellement à écouter les communications électroniques. Les équipes de sécurité et les pirates découvrent régulièrement de nouvelles vulnérabilités, comme Log4Shell : il est donc important d’effectuer des scans fréquents.

La première étape du processus de remédiation des vulnérabilités consiste donc à rechercher et détecter les vulnérabilités de sécurité. Les programmes matures de gestion des vulnérabilités adoptent une approche DevSecOps « shift-left », qui consiste à effectuer des scans de vulnérabilités tout au long du cycle de développement logiciel sécurisé (SDLC). Pour ne pas ralentir le pipeline CI/CD, des outils automatisés de test des vulnérabilités sont déployés dans les environnements de développement, de test et de production. Il peut s’agir des outils suivants :

Détecter les vulnérabilités de sécurité des conteneurs

La sécurité des conteneurs mérite une attention particulière. Il est important de rechercher les vulnérabilités de sécurité dans les images de conteneurs et les instances de conteneurs en cours d’exécution, ainsi que dans toutes leurs dépendances. Il faut également s’assurer que les images de conteneurs tierces proviennent uniquement de sources fiables. La sécurité Kubernetes soulève également des défis spécifiques en matière de scan des vulnérabilités. En cas de compromission d’un cluster, chaque service et machine du réseau est exposé.

2. Prioriser les vulnérabilités

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

« Au début de ma carrière dans la sécurité des applications, j’ai commis une erreur : j’ai consacré beaucoup trop de temps à essayer de faire beaucoup trop de choses. Je passais donc trop de temps à entrer dans les détails 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 adoptée par votre entreprise en matière de gestion des risques de sécurité, les vulnérabilités détectées ne présentent pas toutes le même niveau de risque. Il faut toujours trouver un équilibre entre différents critères, comme la gravité, la possibilité de correction, la couverture et la conformité. Grâce à une priorisation contextuelle fondée sur les risques, l’équipe chargée de la remédiation des vulnérabilités peut consacrer ses ressources limitées aux problèmes les plus importants.

Comment prioriser les vulnérabilités

Il est fort probable que 80 % ou plus des vulnérabilités découvertes soient des faux positifs, que 18 % présentent un faible risque et que les 2 % restants soient réellement à corriger.

La plateforme de sécurité des applications cloud native Snyk facilite la priorisation des vulnérabilités de plusieurs façons :

  • Des informations utiles sur les vulnérabilités : Snyk vous permet d’établir vos priorités à partir d’informations exploitables, comme la maturité de l’exploit, la possibilité de correction, le niveau de risque (notamment la gravité générale de la menace et son impact sur les projets critiques pour l’activité), la prévalence (nombre de projets et d’actifs concernés) et l’ancienneté.

  • Une notation précise des priorités, fondée sur les risques : La Snyk Vulnerability Database enrichit et analyse des données issues de diverses sources publiques et propriétaires afin d’offrir une couverture inégalée des vulnérabilités connues et inconnues, auxquelles elle attribue un score de priorité calculé avec soin.

  • Une visibilité au niveau de l’application : Snyk s’appuie sur les données d’exécution et d’invocation à l’exécution, les informations de configuration Kubernetes et les signaux des conteneurs en cours d’exécution pour déterminer l’impact réel d’une vulnérabilité. Si une fonction vulnérable n’est jamais appelée, mérite-t-elle vraiment votre attention immédiate ?

  • Un contrôle précis des politiques de sécurité : La priorisation des vulnérabilités doit s’inscrire dans le cadre des politiques de sécurité de l’entreprise. Plus la mise en œuvre des contrôles de sécurité est précise, plus la priorisation des vulnérabilités peut être ciblée. Snyk vous permet d’utiliser des tags et des attributs pour définir des politiques de sécurité projet par projet.

3. Corriger les vulnérabilités

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

Dans de nombreux cas, supprimer les logiciels vulnérables consiste à déployer une mise à niveau ou un correctif recommandé par le fournisseur du logiciel concerné. Toutefois, le déploiement de correctifs peut lui-même s’avérer difficile. Tester et déployer les correctifs et les mises à niveau peut mobiliser beaucoup de temps et de ressources. Le déploiement peut nécessiter l’arrêt de systèmes critiques pour l’activité. Il existe également toujours un risque que le correctif ait un impact imprévu sur l’application elle-même ou ses dépendances.

Il existe parfois des moyens moins risqués de corriger une faiblesse ou de gagner du temps en attendant qu’un correctif soit prêt à être déployé. Vous pouvez, par exemple, mettre à jour les systèmes, plateformes ou configurations 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 utilisé.

4. Surveiller les vulnérabilités

Comme le reste du SDLC, le processus de remédiation des vulnérabilités de sécurité est continu. Pour assurer cette continuité, vous devez mettre en place une surveillance. Les outils doivent donc surveiller automatiquement les projets et le code afin de détecter les nouvelles vulnérabilités, avec des alertes et des notifications en temps réel sur tous les canaux pertinents.

Idéalement, l’outil de surveillance proposera également une priorisation contextuelle pour faciliter les étapes 1 et 2 du processus de remédiation des vulnérabilités (détection et priorisation).

Sans cela, les développeurs ou les équipes AppSec qui reçoivent les notifications ne tarderont pas à s’épuiser face à l’afflux de vulnérabilités peu prioritaires. Les équipes ne doivent pas être submergées par le bruit, au risque de retarder la prise en charge des vulnérabilités importantes et prioritaires qui nécessitent une remédiation rapide.

Bien que la surveillance soit la quatrième étape de cette liste, elle pourrait être considérée comme la première d’un programme de sécurité performant.

Connaître les 4 étapes essentielles du processus de remédiation des vulnérabilités est important, mais il est tout aussi crucial de disposer des bons outils pour faciliter le processus et le rendre plus efficace.

« Je rencontre ce problème dans presque toutes les organisations : quelques ingénieurs en sécurité doivent faire face à une immense équipe de développeurs, et il leur est impossible de suivre tous les changements.

Au lieu d’essayer de tout faire, nous voulons vraiment nous concentrer sur la manière de donner à nos ingénieurs les outils dont ils ont besoin pour prendre en charge la sécurité. »

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

Gérer et corriger les vulnérabilités en cybersécurité avec Snyk

Donnez à vos équipes de développement les bons outils pour détecter et corriger les vulnérabilités. Voici quelques exemples de la manière dont Snyk peut vous aider :

  • Verrouillage immédiat : l’outil SCA de Snyk recherche et détecte rapidement toutes les instances affectées par une vulnérabilité et prend immédiatement des mesures pour en bloquer l’accès aux attaquants.

  • Navigation simplifiée : dans les applications cloud native actuelles, hautement distribuées et déclenchées par des événements, il n’est pas toujours facile pour les développeurs de trouver le code ou le composant vulnérable à corriger. Snyk accélère la remédiation en indiquant précisément aux développeurs comment accéder à la vulnérabilité.

  • Intégration aux workflows existants des développeurs : en s’intégrant aux outils que les développeurs utilisent au quotidien, comme les IDE et les outils de gestion de versions tels que GitHub, Snyk contribue à réduire les changements de contexte et à corriger les vulnérabilités potentielles dès les premières étapes du cycle de développement.

  • Mises à niveau automatiques ou manuelles vers des versions sans vulnérabilités : Snyk met à niveau les dépendances directes vers une version sans vulnérabilités, soit automatiquement grâce à des pull requests de correction, soit en invitant l’équipe à effectuer la mise à niveau manuellement.

Application d’un correctif à la vulnérabilité : Snyk vérifie automatiquement s’il existe déjà une branche, puis rouvre la pull request existante contenant le correctif exact. Si aucune branche n’existe, une nouvelle branche et une pull request sont créées.

Intégrez la sécurité à vos pipelines CI/CD

Snyk s’intègre au pipeline CI/CD de votre choix et vous aide à corriger les vulnérabilités les plus prioritaires.

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 en les comparant à une base de données de défauts de code et de mauvaises configurations connus. Le test des vulnérabilités consiste à sonder les applications afin d’évaluer leur niveau de vulnérabilité. L’analyse et les tests des vulnérabilités devraient tous deux être automatisés et s’intégrer parfaitement aux pipelines CI/CD tout au long du cycle de vie du développement logiciel.

Comment hiérarchiser les vulnérabilités en toute sécurité ?

Snyk vous aide à hiérarchiser les vulnérabilités en fonction de scores de risque établis à partir de l’analyse et de la sélection de plusieurs 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 informations issues du terrain (développeurs, milieu universitaire, etc.) ainsi que par des recherches propriétaires.

Comment supprimer les logiciels vulnérables ?

Les logiciels vulnérables sont généralement supprimés en déployant les correctifs et mises à niveau fournis par les éditeurs. Il est toutefois également possible de corriger les vulnérabilités des logiciels en prenant d’autres mesures, comme la mise à jour des configurations système ou applicatives, ou la suppression ou désactivation des composants inutilisés signalés comme vulnérables.