De multiples notions sont liées à la gestion des vulnérabilités, telles que le « scan » de vulnérabilités, l’évaluation de vulnérabilités (vulnerability assesment en anglais) ou l’application de correctifs (vulnerability patching ou patch management en anglais). Il est alors utile de bien définir chacune pour une meilleure compréhension du sujet. Saluons le livre blanc publié par SANS qui traite de ce sujet : Implementing a Vulnerability Management Process
Pour résumer celui-ci, la gestion des vulnérabilités est le processus de gestion du risque associé à la présence de vulnérabilités qui se base sur l’évaluation de celles-ci (leur présence réelle dans le SI, leur dangerosité, l’impact associé) et qui vise à piloter le calendrier d’application des correctifs disponibles.
Dans un monde idéal et utopique au sein duquel tout serait automatisable et temps réel, depuis la récupération de l’information, en passant par la détection de la présence d’une vulnérabilité sur le SI, jusqu’à l’application du correctif disponible, la gestion des vulnérabilités se cantonnerait à constater la fenêtre d’exposition générée par le temps nécessaire à l’éditeur pour publier un correctif immédiatement déployé. L’unique arbitrage possible d’un point de vue gestion du risque serait alors de déconnecter (ou pas) un élément du SI pendant la fenêtre d’exposition. Tous les correctifs disponibles seraient appliqués dès qu’ils sont disponibles.
Le monde réel est bien différent :
Tout d’abord, même si l’information peut aujourd’hui être captée en temps réel, la détection de la présence d’une vulnérabilité sur le SI dépend de la fréquence de « scan » de l’organisation. Ainsi, une fenêtre d’exposition apparaît naturellement quelle que soit la réactivité du service de gestion des vulnérabilités.
Ensuite, l’application d’un correctif nécessite une fenêtre de maintenance et un arrêt du service. Au mieux, ces fenêtres de maintenance sont prévues et planifiées, au pire, l’application de correctifs est interdite hors mode projet (notamment sur certains réseaux industriels).
Enfin, la planification et l’application d’un correctif, même dans le meilleur des cas, est extrêmement chronophage pour les équipes techniques.
En conclusion, tous les correctifs ne seront pas déployés, du moins, certainement pas tous au même rythme. La gestion des vulnérabilités est donc la science de la priorisation des actions en fonction des contraintes précédentes.
Priorisation classique :
Classiquement, la gestion d’un tel risque va s’appuyer sur deux éléments principaux pour la priorisation :
Le niveau de criticité de la vulnérabilité (c’est à dire ce que son exploit permet de réaliser ou d’obtenir - de nombreux services de veille s’appuient sur le Framework CVSS pour classer les vulnérabilités)
Le niveau de criticité pour l’organisation des systèmes et services avérés vulnérables
Dans L’art de la guerre, Sun Tzu affirme : « Qui connaît l’autre et se connaît, en cent combats ne sera point défait ; qui ne connaît l’autre, mais se connaît, sera vainqueur une fois sur deux ; qui ne connaît pas plus l’autre qu’il ne se connaît sera toujours défait. », ….
Une priorisation classique de l’application des correctifs ne couvre qu’un seul pilier sur les deux recommandations de Sun Tzu. L’utilisation du renseignement sur les menaces permet d’adresser le second.
Utilisation du renseignement sur les menaces pour la priorisation des vulnérabilités
Le but d’une plateforme de gestion du renseignement est de collecter et d’organiser le renseignement extérieur et de le croiser avec le renseignement issu de l’interne (détections, incidents, détonations…) afin d’identifier le renseignement prioritaire, de l’enrichir et de le disséminer vers les organes de sécurité. Elle joue le rôle de mémoire des menaces pour l’organisation permettant d’identifier les adversaires, les techniques et les tactiques récurrentes visant celle-ci. Une telle plateforme manipule la notion de vulnérabilité et est en mesure d’associer une vulnérabilité à un adversaire, à une phase d’attaque, et à une technique particulière employée dans cette phase d’attaque (l’usage du Framework MITRE ATT&CK facilite notamment un tel niveau de précision et d’analyse).
Il est ainsi possible de mettre en lumière les vulnérabilités exploitées par les adversaires et les campagnes jugées prioritaires car ciblant l’organisation, sa zone géographique ou son secteur d’activité. Cette information sur l’adversaire (cf. SunTzu) peut être alors disséminée auprès du pôle de gestion des vulnérabilités et utilisée pour prioriser l’application des correctifs.
Aller plus loin en connectant les deux mondes
Sur la plateforme de gestion du renseignement, un analyste s’attarde sur une campagne liée à un adversaire récurent qui exploite une vulnérabilité particulière sur une de ses phases. Il peut depuis la plateforme de renseignement, interroger l’outil de gestion des vulnérabilités pour mesurer l’exposition de l’organisation à ce CVE. Même si le correctif est déployé et que le SI n’est plus vulnérable, il obtient en retour la liste des machines qui ont été vulnérables et la date d’application du correctif sur chacune d’entre elles.
Ces informations lui permettent de lancer une détection rétrospective sur la fenêtre de temps et les cibles identifiées grâce aux marqueurs associés à cette menace à sa disposition. Elles lui permettent également d’ordonner à l’EDR une vérification sur chacune des machines de la réalisation passée d’un exploit sur ces cibles.
La connexion entre les deux mondes (gestion du renseignement et gestion des vulnérabilités) permet non seulement de prioriser les actions du pole « vulnérabilités » mais également d’orienter le pole renseignement vers le pilotage d’actions rétrospectives et temps réel.