In this article
Comment se préparer dès aujourd’hui aux vulnérabilités zero-day de demain
Qu’est-ce qu’une vulnérabilité zero-day ?
Une vulnérabilité zero-day est une faille nouvellement découverte dans un actif, comme une application, une image de base de conteneur, une bibliothèque open source ou une instance cloud. Comme cette vulnérabilité était jusqu’alors inconnue des responsables de la maintenance de l’application, aucune solution ne permet de l’atténuer, hormis l’arrêt de son utilisation. Tant que le fournisseur ou le responsable de la maintenance n’a pas développé de correctif, l’application reste exposée à une exploitation.
Comment gérer les vulnérabilités zero-day
Dans le domaine de la sécurité logicielle, la situation peut — et souvent va — changer du jour au lendemain. Un jour, vos applications et systèmes fonctionnent en toute sécurité dans le cloud. Le lendemain, une nouvelle vulnérabilité exploitable fait la une et une course contre la montre commence pour trouver et corriger ce composant vulnérable dans votre environnement.
Les vulnérabilités zero-day — des problèmes de sécurité récemment découverts, pour lesquels la seule solution est souvent « d’arrêter de l’utiliser pour le moment » — plongent les équipes de sécurité dans une agitation sans pareille. Heureusement, les organisations peuvent prendre des mesures proactives pour se préparer aux vulnérabilités zero-day avant même qu’elles ne surviennent (ou soient découvertes).
Pourquoi les vulnérabilités zero-day représentent-elles un risque ?
La plupart des applications actuelles reposent sur un vaste réseau de dépendances et de ressources externes. Une seule application peut inclure des dizaines de composants open source et de logiciels tiers. Lorsqu’une vulnérabilité zero-day est découverte par le grand public, les organisations qui utilisent le composant vulnérable doivent le localiser et le corriger au plus vite. Celles qui n’agissent pas à temps risquent d’être victimes d’une attaque zero-day.
Quelles sont les conséquences de l’exploitation d’une vulnérabilité zero-day ?
L’exploitation réussie d’une vulnérabilité zero-day peut avoir de graves conséquences pour les organisations, allant des pertes financières à l’atteinte à la réputation. Les attaquants peuvent exploiter ces vulnérabilités pour exécuter du code à distance, dérober des données sensibles ou perturber des opérations commerciales essentielles. Comme les vulnérabilités zero-day sont inconnues avant leur découverte, les mesures de sécurité traditionnelles, telles que les pare-feu et les antivirus, ne parviennent souvent pas à empêcher leur exploitation. Il est donc crucial de les détecter, de les atténuer et de les corriger rapidement afin de limiter les conséquences d’une attaque.
Cycle de vie d’une vulnérabilité zero-day
Les vulnérabilités zero-day sont particulièrement risquées, car elles surviennent très rapidement et leur cycle de vie peut varier considérablement selon qui les découvre. Elles peuvent être inconnues au moment où vous vous couchez, puis faire la une des journaux et des forums à votre réveil le lendemain. Voici un exemple de chronologie type pour une vulnérabilité zero-day dans une bibliothèque open source (un processus similaire peut se produire avec des applications développées en interne) :
Un développeur choisit une bibliothèque open source. Le code mis à jour et la nouvelle bibliothèque sont déployés en production.
Découverte de la vulnérabilité. Dans les jours, les mois ou les années qui suivent, des chercheurs en sécurité (dans le meilleur des cas) ou des acteurs malveillants (dans le pire des cas) découvrent la vulnérabilité. Les acteurs malveillants commencent à l’exploiter, tandis que les chercheurs en sécurité cherchent à comprendre comment elle pourrait l’être.
Prise de connaissance de la vulnérabilité. Les responsables de la maintenance en sont informés, mais n’ont pas encore de correctif.
Divulgation de la vulnérabilité. Le responsable de la maintenance de la bibliothèque vulnérable ou les chercheurs en sécurité qui l’ont découverte communiquent des informations sur la vulnérabilité aux clients concernés ou au grand public.
Correction de la vulnérabilité zero-day. Le fournisseur publie des solutions de correction, souvent sous la forme de versions ponctuelles (éventuellement plusieurs, selon le nombre de versions concernées). Le délai de publication d’un correctif complet varie de quelques heures à quelques mois, selon la complexité.
Déploiement des correctifs par les clients. Enfin, il revient aux clients concernés de déployer les correctifs. Ce processus peut prendre des mois, voire des années, selon le temps nécessaire aux utilisateurs pour repérer chaque occurrence du composant vulnérable et déployer le correctif.
Poursuite des tentatives d’attaque. Même longtemps après la publication d’un correctif, les acteurs malveillants continueront d’essayer d’exploiter la vulnérabilité, dans l’espoir de trouver un système non corrigé. C’est pourquoi les organisations doivent toujours intégrer des analyses de sécurité régulières à leurs processus de build et de déploiement.
De nombreuses étapes peuvent s’intercaler et, selon que les équipes concernées respectent ou non les bonnes pratiques en matière de divulgation des vulnérabilités, les conséquences d’une vulnérabilité peuvent être très différentes.
6 conseils pour planifier et se préparer aux vulnérabilités zero-day
Les vulnérabilités zero-day sont fréquentes et prennent chaque année des milliers d’organisations au dépourvu. En 2022, Google a recensé 41 vulnérabilités zero-day activement exploitées. La question n’est donc pas de savoir si votre organisation sera confrontée à une vulnérabilité zero-day, mais quand.
Comme ces vulnérabilités surviennent fréquemment, les organisations doivent s’y préparer de manière proactive. En dehors des situations d’urgence, les entreprises peuvent prendre plusieurs mesures pour être prêtes à agir et à contrer les menaces zero-day lorsqu’elles surviennent. Voici lesquelles :
1. Adoptez une approche de la sécurité dès le début du développement.
Adopter une approche de la sécurité dès le début signifie que les développeurs corrigent les vulnérabilités au fur et à mesure qu’elles apparaissent tout au long du SDLC. Corriger les problèmes de sécurité dès leur apparition est bien plus efficace que d’attendre plusieurs jours ou semaines pour traiter une longue liste de problèmes qui se sont propagés en aval.
Une approche de la sécurité dès le début permet également à l’équipe de sécurité de mieux collaborer avec les développeurs, au lieu de les frustrer. Cette collaboration renforce la culture DevSecOps. Lorsque les équipes de développement et de sécurité ont déjà l’habitude de travailler ensemble, elles peuvent résoudre plus efficacement les problèmes liés à une vulnérabilité zero-day.
2. Mettez en place un processus de sécurité robuste.
Des processus robustes de sécurité des applications, fondés sur le shift-left, visent à détecter et à corriger les vulnérabilités tout au long du SDLC, plutôt que d’attendre la fin de chaque étape importante pour effectuer des tests. Par exemple, certaines organisations réalisent des tests statiques de sécurité des applications (SAST) sur le code développé en interne dès qu’un développeur crée une pull request.
Ces processus comprennent également l’identification de toutes les dépendances tierces à l’aide de l’analyse de la composition logicielle (SCA), puis leur consignation détaillée dans une nomenclature logicielle (SBOM). Comme les processus de développement sont aujourd’hui très rapides, de nombreuses organisations utilisent des outils d’automatisation pour suivre leurs dépendances en continu et en temps réel.
Lorsqu’une organisation s’appuie déjà au quotidien sur des processus de sécurité robustes, il est bien plus facile d’identifier les projets qui utilisent des ressources tierces compromises par des failles zero-day et de les corriger rapidement.
3. Réalisez régulièrement des évaluations et des audits de sécurité.
Il est également essentiel que les organisations réalisent régulièrement des évaluations et des audits de sécurité. Les modalités varient selon le secteur et les besoins de l’entreprise, mais ces évaluations suivent souvent cinq étapes :
Déterminer les menaces potentielles
Identifier les données sensibles dans l’environnement
Cartographier la surface d’attaque
Évaluer les points de blocage des processus
Élaborer une feuille de route pour améliorer le processus
En réalisant régulièrement ces étapes, une organisation peut s’assurer que son programme de sécurité est en excellente forme. Les évaluations l’aident également à bien comprendre sa posture de sécurité actuelle. Ces connaissances et cette préparation facilitent grandement la prévention de l’exploitation d’une vulnérabilité zero-day.
4. Sensibilisez vos équipes.
La sensibilisation des employés contribue également à prévenir les vulnérabilités zero-day. Un programme de formation efficace enseigne aux développeurs les pratiques de codage sécurisé de manière interactive et attrayante. Pour former les équipes de développement, l’une des meilleures méthodes consiste à fournir des conseils de correction avec les analyses de vulnérabilités. Certains outils d’analyse expliquent, par exemple, pourquoi chaque vulnérabilité représente un risque et comment la corriger.
Une formation pratique à la sécurité aide les développeurs à mieux comprendre leur propre code et les risques de sécurité potentiels, et donc à résoudre plus efficacement les vulnérabilités zero-day lorsqu’elles surviennent.
5. Créez votre propre guide de procédure.
N’attendez pas la prochaine vulnérabilité zero-day pour documenter vos procédures. Créez des guides de procédure et des listes de contrôle pour savoir comment gérer la prochaine vulnérabilité : quelles personnes mobiliser, comment évaluer son impact, quels éléments d’inventaire examiner et comment communiquer les résultats et leur impact en interne (et en externe, le cas échéant). Plus important encore, assurez-vous que chacun sait où trouver ces guides. Avant l’apparition de la prochaine vulnérabilité critique, commencez à utiliser des outils de suivi de votre code source et de votre inventaire de conteneurs afin d’être mieux préparé.
6. Tenez-vous au courant des dernières informations sur les menaces.
Votre organisation doit également choisir une ressource pour suivre l’actualité des nouvelles vulnérabilités zero-day. Lorsque l’une d’elles fait la une, chaque instant compte. Vos équipes doivent donc s’y préparer afin de pouvoir déterminer rapidement où concentrer leurs efforts de correction.
Snyk, qui s’appuie sur la Snyk Vulnerability Database (VulnDB), fournit des informations détaillées sur toutes les vulnérabilités en cours et explique comment les corriger, souvent en un clic. Plus vite votre équipe dispose des informations nécessaires pour corriger une vulnérabilité, plus vite elle peut l’atténuer ou appliquer un correctif.

Vous pouvez également consulter directement VulnDB pour découvrir les vulnérabilités les plus en vogue :

Attaques zero-day récentes
Parmi les récents exploits zero-day, le premier exemple marquant qui nous vient à l’esprit est Log4Shell : une vulnérabilité d’exécution de code à distance dans Log4j, affectant les applications Java, à laquelle a été attribuée une note CVSS de 10 (la note maximale). Cette vulnérabilité a touché la plupart des grandes entreprises, car beaucoup utilisaient Log4j dans leurs environnements, souvent par le biais de dépendances indirectes.
Voici quelques autres exemples récents :
CVE-2023-44487 : une vulnérabilité zero-day HTTP/2 à haute gravité, liée à une attaque par réinitialisation rapide.
CVE-2023-38545 : un dépassement de tampon dans le tas, à haute gravité, dans cURL.
CVE-2023-4863 : une vulnérabilité critique permettant à des acteurs malveillants d’exploiter Google Chrome à l’aide d’images WebP conçues à des fins malveillantes.
CVE-2022-3602 et CVE-2022-3786 : deux vulnérabilités dans OpenSSL à haute gravité liées à un dépassement de tampon.
CVE-2022-42889 : une vulnérabilité à haute gravité permettant l’exécution de code arbitraire dans Apache Commons Text.
Spring4Shell : une vulnérabilité critique d’exécution de code à distance en Java dans Spring Framework.
Toutes les vulnérabilités à gravité élevée ou critique de la liste ci-dessus, entre autres, sont apparues sur une période de 24 mois, ce qui montre à quel point des failles majeures sont régulièrement découvertes. En d’autres termes, les équipes de sécurité ne peuvent pas ignorer ce problème.
Les outils AppSec de Snky pour détecter et corriger les vulnérabilités zero-day
Disposer des bons outils permet aux équipes de réagir aux vulnérabilités zero-day de manière collaborative et efficace. Des solutions de sécurité des applications telles que Snyk Code, Snyk Open Source et Snyk Container permettent aux équipes de développement et de sécurité de détecter et de corriger les vulnérabilités zero-day dès leur découverte, tandis que Snyk Insights aide votre organisation à se concentrer sur les principaux risques et à les prioriser.
En outre, nos informations de sécurité de pointe sont constamment actualisées sur les dernières vulnérabilités zero-day et autres menaces, et alimentent nos solutions.
Découvrez nos solutions AppSec conçues pour les développeurs afin de corriger les problèmes de sécurité tout au long du SDLC et d’éviter d’être victime de la prochaine vulnérabilité zero-day.
Préparez-vous aux vulnérabilités zero-day avec Snyk
Découvrez comment Snyk aide vos équipes de développement à corriger plus rapidement les vulnérabilités zero-day afin de réduire votre exposition et vos risques.