Comprendre la divulgation responsable
Tim Kadlec
31 janvier 2017
0 minutes de lectureLa lutte contre les vulnérabilités de sécurité est un combat permanent. C’est une course entre les attaquants et les organisations qui tentent de les tenir à distance. Malheureusement, les organisations perdent souvent. Comme l’a déclaré l’ancien directeur du FBI, Robert Mueller : « …il existe seulement deux types d’entreprises : celles qui ont été piratées et celles qui le seront. »
Pour défendre votre système, vous devez pouvoir verrouiller l’ensemble de l’application. Un attaquant, en revanche, n’a besoin que de trouver une seule faille. Les organisations doivent prendre de l’avance, et la manière dont elles découvrent les vulnérabilités de sécurité dans leur code joue un rôle important à cet égard.
À première vue, la question semble simple. Si vous découvrez un problème de sécurité, contactez l’organisation pour l’en informer. Elle le corrige, et tout le monde peut passer à autre chose, plus serein et mieux protégé. Pourtant, la divulgation des vulnérabilités est depuis longtemps l’un des sujets les plus débattus dans le domaine de la sécurité.
Réduire la fenêtre d’exposition
Bruce Schneier a popularisé la notion de « fenêtre d’exposition » : la période pendant laquelle une vulnérabilité risque d’être exploitée.
La fenêtre d’exposition commence dès qu’une vulnérabilité entre dans un environnement de production. À ce stade, le risque d’attaque est relativement faible. La vulnérabilité existe, mais personne ne l’a encore découverte.
Dès que quelqu’un découvre la vulnérabilité, le risque augmente. Il continue de croître à mesure que la vulnérabilité se fait connaître. À un moment donné, un correctif ou une mise à niveau est publié. À partir de là, le risque diminue lentement, à mesure que les utilisateurs installent le correctif — ce qui arrive rarement rapidement.
Schneier utilise souvent un graphique pour visualiser le niveau de risque, la zone sous la courbe représentant la fenêtre d’exposition. L’objectif est donc de réduire cette fenêtre.

Le débat porte sur la meilleure façon d’y parvenir.
Si une vulnérabilité tombe dans une forêt et que personne ne l’exploite, a-t-elle existé ?
Selon un premier point de vue, si vous découvrez une vulnérabilité, vous devez la signaler à l’organisation et ne jamais la rendre publique. Cette approche, dit-on, permet de maintenir la vulnérabilité dans la phase de son cycle de vie où elle est peu connue, ce qui réduit les risques.
Ce raisonnement présente plusieurs failles. D’abord, il part de l’hypothèse dangereuse que la personne de bonne foi est la seule à avoir découvert le problème. Si des acteurs malveillants l’ont également repéré, ils ne vont pas attendre que l’organisation comprenne qu’il s’agit d’un problème : ils vont profiter de l’accès à une vulnérabilité non corrigée.
Autre faille de cette approche : elle suppose que l’entreprise se soucie suffisamment de la vulnérabilité pour agir. En réalité, les incitations font défaut. Au départ, c’était la méthode de divulgation la plus courante et, dans bien des cas, les organisations mettaient des années à corriger une vulnérabilité. Elles choisissaient de croire que, parce qu’un problème n’était pas rendu public, elles bénéficiaient d’une certaine sécurité. En somme, l’ignorance comme couche de sécurité.
Dans certains cas, par crainte de la mauvaise publicité que peuvent entraîner des problèmes de sécurité, les organisations allaient jusqu’à menacer les chercheurs qui tentaient de les signaler. Malheureusement, cela arrive encore parfois, ce qui explique pourquoi certains chercheurs en sécurité préfèrent s’adresser à une organisation ou à une personne qui transmettra ensuite l’information à l’entreprise. C’est une démarche que nous sommes prêts à entreprendre, et que nous avons déjà menée chez Snyk. Elle contribue à protéger les chercheurs eux-mêmes contre des propriétaires ou des organisations excessivement agressifs.
Divulgation publique intégrale
À l’extrême opposé se trouve l’idée de divulgation publique intégrale. Au lieu de signaler la vulnérabilité à une organisation, un chercheur peut en publier tous les détails. La vulnérabilité passe alors directement de la phase où elle est peu connue au niveau de visibilité maximal. Dès lors, c’est une course entre l’organisation et les attaquants.
Cette approche incite évidemment l’organisation à résoudre rapidement le problème. Mais son défaut est tout aussi évident : cette même publicité, qui crée cette incitation, expose également les organisations — et leurs utilisateurs — à des risques considérables, car les attaquants sont immédiatement informés de l’exploitation et de la manière de s’y prendre.
Une divulgation raisonnée
Entre ces deux extrêmes, la majorité du secteur a trouvé un terrain d’entente : la divulgation responsable. Elle comporte quelques étapes simples.
La vulnérabilité est divulguée en privé au propriétaire ou à l’organisation.
Un correctif est élaboré pour la vulnérabilité, généralement par le propriétaire ou l’organisation (même si la personne qui l’a signalée apporte souvent son aide).
Le correctif est publié et déployé auprès des utilisateurs.
La vulnérabilité est rendue publique. Cette divulgation comprend des informations sur la vulnérabilité, la manière dont l’exploitation se déroule et les solutions pour corriger le problème.
Cela peut sembler similaire à l’idée de garder les vulnérabilités secrètes, mais il existe une différence importante : la divulgation responsable prévoit généralement un délai raisonnable.
Par exemple, chez Snyk, nous accordons d’abord au propriétaire d’un package 30 jours pour répondre à notre signalement — un délai assez standard dans le développement open source, où les auteurs ont souvent un autre emploi. Dans certains cas, le propriétaire répond. Nous pouvons alors l’orienter vers un correctif et collaborer avec lui pour déterminer un délai raisonnable avant la divulgation publique de la vulnérabilité, afin que chacun puisse prendre des mesures pour se protéger.
Dans un monde idéal, toutes les divulgations de vulnérabilités se dérouleraient ainsi. La réalité est toutefois un peu différente, et parfois le propriétaire ne répond pas. Selon les principes de la divulgation responsable, si une organisation ne répond pas dans le délai fixé, la personne qui a signalé la vulnérabilité peut choisir de la rendre publique. Les utilisateurs sont ainsi informés du risque et peuvent décider s’ils souhaitent l’accepter dans leurs propres systèmes. Cela incite également les propriétaires ou les organisations à traiter le problème en priorité, puisqu’il est désormais connu de tous.
Chez Snyk, nous faisons de notre mieux pour donner une longueur d’avance aux propriétaires ou aux organisations. Sans réponse de leur part dans les 30 jours, nous les recontactons et leur accordons 10 jours supplémentaires. Si nous n’obtenons toujours pas de réponse, nous renouvelons l’opération une fois. Au total, nous leur laissons 50 jours ouvrés pour répondre. Nous ne rendons la vulnérabilité publique qu’en l’absence de réponse pendant ce délai, ou si le propriétaire indique ne pas vouloir coordonner la divulgation.
Ce processus comporte une exception notable. Nos clients entreprise sont informés des vulnérabilités avant leur divulgation, dans le cadre d’un accord de non-divulgation (NDA) qui garantit qu’elles ne seront pas encore rendues publiques.
L’éthique de la divulgation
En 2016, une entreprise de cybersécurité a découvert des vulnérabilités dans le matériel médical de St. Jude Medical (stimulateurs cardiaques, défibrillateurs, etc.). Au lieu de suivre un processus de divulgation responsable, elle a publié des données incomplètes sur les vulnérabilités, puis s’est associée à une autre organisation pour vendre à découvert les actions de St. Jude Medical.
Cette affaire a relancé avec force le débat sur la divulgation responsable. Le PDG de l’entreprise a affirmé qu’au vu de ses expériences précédentes avec St. Jude, il ne pensait pas que cette approche serait efficace.
Même sans tenir compte de la question éthique que pose une vente à découvert après la publication de données incomplètes, les conséquences de cette approche sont graves. Des données incomplètes suffisent à nuire à la réputation de St. Jude, sans pour autant l’aider à se rapprocher de la résolution des problèmes. Au contraire, elles mettent St. Jude et les attaquants sur un pied d’égalité : tous savent désormais qu’un problème existe et se livrent une course pour être les premiers à le découvrir. Nous ne saurons jamais si St. Jude aurait répondu dans un délai raisonnable : l’entreprise n’en a jamais eu la possibilité.
La sécurité est un domaine particulier : pour bien l’exercer, il faut se méfier dans une certaine mesure des personnes qui accéderont à vos serveurs et à vos applications. Il est donc d’autant plus important d’agir de façon digne de confiance et éthique lorsque nous cherchons à améliorer la sécurité en ligne.
Il est essentiel de divulguer les vulnérabilités de manière éthique et responsable, en causant le moins de tort possible à l’organisation ou au propriétaire, tout en protégeant les utilisateurs. Nous sommes convaincus que la divulgation responsable offre le bon équilibre. Elle donne une longueur d’avance aux organisations : elles sont informées en privé d’une vulnérabilité et disposent du temps nécessaire pour la corriger avant que la fenêtre de risque ne s’élargisse trop.
Et cela se fait sans mettre les utilisateurs en danger. Si une organisation ne donne pas la priorité à une vulnérabilité ou ne répond pas, celle-ci n’est pas étouffée : elle peut être rendue publique afin que les utilisateurs qui ne se doutent de rien soient informés du problème et puissent prendre les mesures qui s’imposent.
La sécurité est trop importante pour être passée sous silence, et les vulnérabilités sont une source d’enseignements trop précieuse pour laisser faire. Mais les organisations méritent d’avoir la possibilité de corriger ces vulnérabilités avant qu’elles ne soient rendues publiques. La sécurité est déjà assez difficile sans donner une longueur d’avance inutile aux attaquants.
Si vous souhaitez en savoir plus sur notre façon de traiter les divulgations de vulnérabilités chez Snyk, l’intégralité de notre politique est disponible en ligne. Si vous découvrez une vulnérabilité pour laquelle vous aimeriez que nous vous aidions à coordonner la divulgation, nous serons également ravis de vous aider.