Divulgation responsable : l’impact de la divulgation des vulnérabilités sur la sécurité open source
Asaf Biton
7 avril 2020
0 minutes de lectureOn croit souvent, à tort, qu’une fois une vulnérabilité découverte, la bonne chose à faire est de la rendre publique dès que possible. En réalité, c’est tout le contraire.
La divulgation responsable des vulnérabilités est un modèle couramment utilisé dans le domaine de la cybersécurité. Les vulnérabilités zero-day sont d’abord divulguées en privé, afin de laisser aux responsables de la maintenance du code et des applications suffisamment de temps pour publier un correctif avant que la vulnérabilité ne soit rendue publique. Sans cela, nous mettrions en danger la sécurité des utilisateurs finaux. Comme toujours, tout est question d’équilibre : l’objectif est de réduire à la fois la durée pendant laquelle la vulnérabilité reste confidentielle et celle pendant laquelle l’application demeure vulnérable sans correctif.
Ce modèle existe depuis des années. Il est courant que les entreprises de logiciels publient un document décrivant leur politique de divulgation, qui détaille leur processus de divulgation responsable et explique ce qu’elles font lorsqu’une personne découvre une vulnérabilité dans leur application. Dans le monde de l’open source, cependant, les choses fonctionnent un peu différemment.
Les défis d’un processus de divulgation responsable
Découvrir une nouvelle vulnérabilité est vraiment exaltant. Il est compréhensible que les chercheurs souhaitent publier leurs travaux le plus rapidement possible et passer au prochain défi. Pourtant, bien souvent, ce processus est loin d’être simple :
Les packages open source ne disposent pas toujours de politiques officielles de divulgation.
Même lorsqu’une politique existe, elle varie généralement d’un package à l’autre.
Le processus tend à être long et complexe, et comporte plusieurs étapes.
Parmi ces étapes, il peut y avoir l’attribution d’un identifiant CVE, une tâche parfois fastidieuse en l’absence d’une autorité centrale, également appelée CNA (CVE Numbering Authority).
Voilà quelques raisons pour lesquelles de nombreux chercheurs ne suivent plus aujourd’hui de processus de divulgation responsable ou coordonnée. La solution « facile » consiste plutôt à divulguer publiquement ces vulnérabilités, ce qui crée un sentiment d’urgence. Les correctifs publiés dans des délais très courts et sous pression sont souvent incomplets ou bogués : la vulnérabilité reste alors exploitable, ou de nouveaux vecteurs d’attaque apparaissent dans le package.
Pourquoi suivre un processus rigoureux de divulgation des vulnérabilités ?
Un processus de divulgation raisonnable permet aux responsables de la maintenance d’évaluer correctement la vulnérabilité sans agir dans l’urgence. Ils peuvent ensuite décider de publier ou non un correctif et préparer des rétroportages si nécessaire. Enfin, une fois les nouvelles versions publiées, ils peuvent divulguer la vulnérabilité en toute sécurité à leurs utilisateurs. Pendant tout ce processus, les détails de la vulnérabilité restent confidentiels, ce qui évite qu’elle soit exploitée à mauvais escient.
La divulgation des vulnérabilités open source chez Snyk
Snyk a lancé son programme de divulgation des vulnérabilités en 2019 afin de combler le fossé et de permettre aux chercheurs de signaler facilement des vulnérabilités, tout en veillant, bien sûr, à reconnaître pleinement le travail accompli pour les découvrir.
Notre équipe de sécurité évalue avec soin chaque signalement de vulnérabilité. Cela nécessite une connaissance et une compréhension approfondies du langage de programmation concerné, du package et de son contexte. Une fois les détails de la vulnérabilité vérifiés, l’équipe collabore étroitement avec les responsables de la maintenance pour corriger la vulnérabilité dans les meilleurs délais. Enfin, en tant que CNA (CVE Numbering Authority), nous aidons à attribuer un identifiant CVE au problème et à publier un avis détaillé.
En 2019, nous avons contribué à divulguer plus de 130 vulnérabilités. Parmi les cas notables : RCE dans mongo-express et écriture arbitraire de fichiers dans yarn.
Nous avons collaboré avec des chercheurs indépendants, des professionnels de la sécurité et la communauté universitaire ! Nous avons commencé l’année 2020 par un partenariat majeur avec l’équipe du Security Lab de Johns Hopkins University, à qui nous avons apporté notre aide pour divulguer plus de 50 vulnérabilités.
L’équipe de Johns Hopkins University a imaginé une nouvelle méthode pour automatiser la découverte de vulnérabilités. Ensemble, nous avons conçu une solution sur mesure pour traiter un grand nombre de vulnérabilités. Restez à l’écoute : un prochain article détaillera ce projet.
Comment commencer ?
Pour soumettre un signalement, privilégiez le formulaire dédié ici. Vous pouvez également nous écrire à report@snyk.io. Veuillez consulter notre politique de divulgation des vulnérabilités avant d’envoyer votre signalement.