L’expansion de la surface d’attaque est devenue l’une des principales tendances en matière de gestion des risques et de cybersécurité. La recherche et la priorisation des vulnérabilités d’un système d’information constituent, par ricochet, des sujets de préoccupation majeurs. L’enjeu de cette gestion des vulnérabilités (vulnerability management) est d’identifier, prioriser et corriger les failles de sécurité avant leur exploitation par des acteurs malveillants.
Comment identifier et corriger les vulnérabilités de son système d’information ? Quelles sont les étapes à suivre pour intégrer la gestion des vulnérabilités dans sa politique de sécurité informatique ? Entrons dans le sujet avec François Devienne, Responsable de la Sécurité Opérationnelle (RSO) chez OverSOC.
Qu’est-ce qu’une vulnérabilité informatique ?
Les types courants de vulnérabilités
Ce qu’on appelle communément une « vulnérabilité » est une faille de sécurité dans un système d’information. Elle peut provenir d’un réseau, d'un service, d’un composant matériel ou d'un logiciel. Les vulnérabilités les plus courantes sont les failles « Zero-Day » (vulnérabilités d’un système d’exploitation ou d’un logiciel n’ayant pas encore été découvertes ni corrigées) ainsi que les défauts de configuration.
Si certaines vulnérabilités comme les failles « Zero-Day » sont imputables aux éditeurs de solutions (chargés de mettre à disposition des correctifs et de publier des avis ou bulletins d’alerte), d’autres vulnérabilités peuvent provenir d’une entreprise elle-même, par exemple dans le cas d’un défaut de configuration.
Les conséquences des vulnérabilités non traitées
« Une vulnérabilité non corrigée est une porte d’entrée laissée dans un système d’information et un potentiel vecteur d’attaque, encore plus si les machines sont exposées sur Internet », explique François Devienne.
L’ingestion de code permet par exemple de prendre le contrôle d’une machine puis de créer un pivot pour se connecter ailleurs dans le SI, jusqu’à réussir une élévation de privilèges.
Étape 1 : Identifier les vulnérabilités
L’importance de la veille en sécurité informatique
« L’identification des vulnérabilités repose sur une action de veille régulière », note François Devienne.
Cette étape nécessite de se renseigner de manière proactive via les publications des différents CERT ou les bulletins de sécurité émis par les éditeurs, par exemple, afin de prendre connaissance des mises à jour disponibles sur les systèmes d’exploitation et les logiciels utilisés. « Le fait de lister au sein d’une cartographie du système d’information les différents OS et outils utilisés facilitera la veille », ajoute-t-il.
Utilisation de scans de vulnérabilités
Au-delà de la veille, l’utilisation de scans de vulnérabilités permet de tester les différents actifs et de révéler d’éventuelles failles sur certains systèmes d’exploitation, modules ou applications, à partir de scripts. Le recours à ces outils (open source ou propriétaires) « industrialise » la recherche de vulnérabilités et offre une bonne visibilité sur l’état du parc.
Étape 2 : Évaluation des vulnérabilités (vulnerability assessment)
Les critères de classification des vulnérabilités
Sévérité
Avec une surface d’attaque toujours plus grande, les entreprises n’ont pas forcément la possibilité de corriger l’ensemble des vulnérabilités détectées. Comment faire le tri ? En évaluant dans un premier temps la sévérité des vulnérabilités à partir du standard CVSS (Common Vulnerability Scoring System).
« Le CVSS 3.0 attribue à chaque vulnérabilité un chiffre de 0 à 10 . Une vulnérabilité est considérée comme critique lorsqu’elle affiche un score entre 8 et 10 », détaille François Devienne.
Exploitabilité
La sévérité n’est pas l’unique métrique à prendre en compte. Il est également nécessaire de savoir si la vulnérabilité en question est « exploitable » et « exploitée » (informations souvent mentionnées au sein du bulletin de sécurité). L’indice d’exploitabilité ou EPSS (Exploit Prediction Scoring System) indique la probabilité d’exploitation d’une vulnérabilité.
Utilisation de bases de données de vulnérabilités
De nouvelles vulnérabilités sont révélées chaque jour et sont disponibles en libre accès sur Internet, à travers des bases de données de vulnérabilités. Le site cve.mitre.org (CVE pour « Common Vulnerabilities and Exposures ») est devenu la base de référence concernant les failles et les vulnérabilités, mais il existe bien d’autres sources permettant de s’informer sur les vulnérabilités et les scores qui leur ont été attribués.
Étape 3 : Priorisation des vulnérabilités
Méthodologies de priorisation des vulnérabilités : évaluer la criticité
La démarche de priorisation des vulnérabilités doit également prendre en compte la criticité des actifs concernés. Une vulnérabilité critique et exploitable liée à des actifs exposés sur Internet doit être corrigée le plus rapidement possible, d’autant plus si les actifs sont liés à des données sensibles ou critiques pour l’entreprise (des données financières, par exemple).
À l’inverse, un serveur qui présente une vulnérabilité mais qui n’est pas exposé sur Internet et est accessible à très peu de personnes ne sera pas considéré comme critique. La vulnérabilité ne sera pas traitée en priorité.
L’importance de la gestion des risques : prioriser en fonction de l’impact et de la probabilité
L’une des grandes tendances en matière de priorisation des vulnérabilités est le développement d’une approche basée sur le risque. « Concrètement, cela signifie que les organisations doivent prendre en compte la probabilité d’exploitation des vulnérabilités par des acteurs mal intentionnés, ainsi que les impacts (opérationnels, financiers, etc.) d’une exploitation réussie », explique François Devienne. L’objectif de cette démarche est de prioriser les vulnérabilités en fonction des risques qu’elles représentent pour l’organisation.
Étape 4 : Plan d’action
Élaboration d’un plan de remédiation
Une fois la priorisation des vulnérabilités établie, reste à mettre en place une organisation et des processus dédiés à la mise en place des correctifs de sécurité et à l’amélioration du patch management. Ces éléments sont formalisés au sein d’un plan de remédiation, souvent piloté par le RSSI ou le RSO.
Le plan de remédiation liste l’ensemble des actions à mener pour traiter les vulnérabilités en fonction des priorités qui leur ont été attribuées. Concrètement, il peut s’agir d’appliquer un patch de sécurité, de passer une commande sur un serveur, de mettre en place une contre-mesure pour éviter qu’une vulnérabilité soit exploitable et exploitée (modifier une architecture réseau, mettre en place un filtrage spécifique ou un contrôle d’accès supplémentaire, etc).
Affectation des ressources pour corriger les vulnérabilités
Si les éditeurs prennent eux-mêmes en charge la gestion des correctifs pour les services cloud, les vulnérabilités liées à des services on-premise doivent, quant à elles, être corrigées par les organisations qui utilisent ces services.
L’intérêt de formaliser l’ensemble des actions à mener au sein d’un plan de remédiation est justement de lister les différents acteurs concernés et leur rôle, de manière à faciliter la gouvernance et le suivi des vulnérabilités.
« L’application de certains correctifs de sécurité peut avoir un impact sur le service, par exemple lorsqu’on doit redémarrer un serveur. Les équipes doivent également bien vérifier les sauvegardes avant d’installer les patchs », note François Devienne.
Suivi et gestion des correctifs de sécurité
La gestion des vulnérabilités est une démarche au long cours, qui nécessite de vérifier que les correctifs de sécurité ont bien été appliqués et de refaire régulièrement des scans de vulnérabilités. Disposer d’une cartographie de son système d’information offre une bonne visibilité sur la gestion des vulnérabilités et la mise en œuvre du plan de remédiation. Une cartographie intégrant les résultats des scans de vulnérabilités (comme le fait OverSOC) met justement en lumière l’écart entre les vulnérabilités réellement corrigées et l’ensemble des actions à mener.
Les vulnérabilités les plus exploitées
Voici quelques-unes des vulnérabilités les plus connues et exploitées :
- Heartbleed (CVE-2014-0160) : Une vulnérabilité dans la bibliothèque OpenSSL qui a permis aux attaquants de voler des informations sensibles, telles que les clés privées, à partir de serveurs Web.
- Shellshock (CVE-2014-6271) : Une vulnérabilité dans Bash, un interpréteur de commandes Unix, qui a permis aux attaquants d'exécuter des commandes malveillantes sur des systèmes vulnérables.
- WannaCry (CVE-2017-0144) : Un ransomware qui a exploité une vulnérabilité dans les systèmes Windows non patchés, causant des ravages dans le monde entier.
- Meltdown (CVE-2017-5754) et Spectre (CVE-2017-5753 et CVE-2017-5715) : Deux vulnérabilités majeures découvertes dans les processeurs modernes qui permettaient aux attaquants d'accéder à des données sensibles.
- Equifax (CVE-2017-5638) : Une faille de sécurité dans Apache Struts a été exploitée pour compromettre les données de plus de 143 millions de clients d'Equifax.
- Petya/NotPetya/ExPetr (2017) : Un ransomware qui a utilisé une variété de méthodes pour se propager, y compris une vulnérabilité dans Windows appelée EternalBlue.
- KRACK (Key Reinstallation Attacks) : Une vulnérabilité dans le protocole WPA2, utilisé pour sécuriser les réseaux Wi-Fi, permettant à un attaquant de déchiffrer le trafic sans fil.
- Apache Log4j (CVE-2021-44228) : Une vulnérabilité récemment découverte dans la bibliothèque de journalisation Log4j, qui a eu un impact majeur sur de nombreuses applications et systèmes.
- Heartbleed (CVE-2014-0160) : Une vulnérabilité dans la bibliothèque OpenSSL qui a permis aux attaquants de voler des informations sensibles, telles que les clés privées, à partir de serveurs Web.
- SQL Injection (Injection SQL) : Une technique d'attaque courante où les attaquants insèrent du code SQL malveillant dans les entrées de données d'une application web pour accéder à la base de données.
Il est important de noter que la liste des vulnérabilités évolue constamment à mesure que de nouvelles menaces et failles de sécurité sont découvertes. Pour s'en prémunir, il est essentiel de maintenir à jour votre système d'exploitation et vos logiciels, et mettre en œuvre des mesures de sécurité pour protéger votre système d'information face à des vulnérabilités connues et inconnues.
Ressources et outils supplémentaires pour la gestion des vulnérabilités
• Guide « Gestionnaire de vulnérabilités » de l’ANSSI
• Alertes de sécurité du CERT-FR
• Pentests
• Bulletins de sécurité des éditeurs
• Common Vulnerability Scoring System (CVSS)
• Exploit Prediction Scoring System (EPSS)
• Common Vulnerabilities and Exposures (CVE)
Rôle de la Cyber Threat Intelligence (intelligence sur les menaces)
La Cyber Threat Intelligence (CTI) est une démarche complémentaire aux scans de vulnérabilités, puisqu’elle permet d’enrichir les données récoltées à partir d’autres sources. Il existe désormais des solutions permettant aux entreprises de découvrir d’éventuelles fuites de leurs données sur le darknet (comptes clients, comptes de messagerie, etc.), afin de mettre en place les correctifs de sécurité qui s’imposent.
La gestion et la priorisation des vulnérabilités s’imposent de plus en plus comme des éléments clés d’une politique de sécurité informatique efficace. L’identification des vulnérabilités constitue la première étape de cette démarche. Elle permet aux organisations de gagner en visibilité sur les faiblesses de leur SI, mais elle n’est pas suffisante pour les aider à prioriser les correctifs de sécurité.
La seconde étape est l’évaluation de la gravité des vulnérabilités. Vient ensuite la priorisation des vulnérabilités. Les correctifs de sécurité les plus pertinents peuvent ensuite être déployés. Pour être pleinement efficace, la priorisation des vulnérabilités doit désormais faire l’objet d’une approche fondée sur l’analyse de risques.