Divulgation responsable de failles de sécurité : le parcours du combattant

Signaler une faille de sécurité n’est pas si simple que ça. Il faut savoir qui contacter, et ne pas être pris pour un méchant pirate.

Voici mon expérience avec des failles découvertes dans les modem SFR/Numericable (voir l’article dédié).

En tout, 14 mois se sont écoulés entre la découverte et la fin des corrections, pour de multiples raisons.

Préambule

Les bug bounty

Certaines entreprises ont compris qu’il était dans leur intérêt d’encourager la recherche et la correction de failles de sécurité. Et elles le font à travers des « bug bounty » (voir par exemple https://firebounty.com/ qui les recense).

Pour les entreprises, cela revient moins cher que des audits d’experts, évite des piratages, et améliore la sécurité de leurs outils.

Pour les personnes qui trouvent des failles, cela simplifie grandement la mise en relation, et sécurise la divulgation au niveau juridique. Ca les encourage à faire une divulgation responsable, et à ne pas passer du côté obscur de la force (c’est-à-dire à utiliser ou vendre leur découverte à de mauvaises fins). Enfin, ce type d’initiative essaie de valoriser les participants par divers moyens (remerciements publics, cadeaux, rémunération etc).

Bref, du gagnant-gagnant !

Hélas, SFR/Numericable ne propose pas cela actuellement.

La législation française

La législation française n’aide pas à la divulgation responsable : à plusieurs occasions, des personnes ayant découvert des failles ont été poursuivies en justice au lieu d’être remerciées/récompensées.

Si on divulgue une faille avant qu’elle soit corrigée, et que cela permet à une personne mal intentionnée de s’en servir, on peut être poursuivi pour fourniture de moyens.

Le sujet a été débattu lors de la loi Lemaire, en janvier 2016, pour proposer un certain degré de protection des lanceurs d’alerte. Mais l’amendement a finalement été rejeté.

Historique de ma divulgation

Quand j’ai découvert les failles dans mon modem Numericable, je me suis demandé comment les signaler de manière « responsable ». Sur le site web de Numericable, je n’ai rien trouvé pour le faire, et pas de Bug Bounty.

Le plus sage m’a semblé de passer par le site Zataz, que je suis depuis de nombreuses années (j’avais même donné quelques sous lorsqu’il avait eu un mauvais procès). Il a un protocole d’alerte bien rodé, l’habitude de traiter ce genre de choses, et une réputation qui peut permettre d’avoir une meilleure attention des entreprises. Son statut de journaliste l’autorise en outre à faire et écrire des choses qui ne me seraient pas forcément autorisées. Ca m’a semblé un bon moyen de signaler la faille dans les règles de l’art : sans prendre de risque personnel, et sans faire prendre de risque à Numericable ou à ses clients.

Contact pris le 20/01/2015 avec Zataz. Damien Bancal (le principal responsable de Zataz) répond dès le lendemain qu’il va prendre contact avec Numericable.

Début mars 2015, il me dit que la direction de Numericable est « dans la boucle », et qu’ils semblent prendre le sujet au sérieux.

Le 14 mars 2015, il tweet ce qui suit :

tweet damein bancal numericable 14 mars

Il me dit que les mises à jour sont prévues en avril.

Relance en mai, puis en juin, puis en juillet : toujours rien côté abonné.

Le 25 juillet, je transmets à Damien Bancal (via mail chiffré) un fichier HTML qui montre les failles en question, pour matérialiser le fait qu’elles sont simples à exploiter.

Le 21 août, Damien apprend par le service de presse de Numericable que l’email de contact qu’il avait chez eux n’est plus consulté (personne en arrêt maladie, et mail non transféré), et se rend compte qu’il a confondu mes failles avec d’autres dans la communication avec Numericable. Bref, on repart à zéro : je re-transmets une explication complète, avec le test-case.

Le 12 novembre, Damien publie un article sur zataz.com à ce propos : http://www.zataz.com/prudence-a-votre-box-numericable/

Autour du 25 novembre, il met à jour l’article pour dire que les failles sont corrigées :

Mise à jour : Numéricâble nous précise que les box LaBox V1N (EGCI421) • LaBox V1AC (EGCI424) • LaBox V2AC (EGCI426/428/429) • Netgear CG3700B • LaBox Zive ont été patchées. Plus de risque.

Pourtant, aucune faille n’a été corrigée sur mon modem (figurant parmi cette liste de modèles). Je lui demande de corriger son article, mais la correction ne sera en ligne que le 15/01/2016. Entre-temps, il me met en relation directement avec SFR/Numericable. Je contacte  par email les sites http://korben.info et http://generationcable.net pour qu’ils relaient l’information, mais je n’ai aucune réponse.

Premier contact direct avec SFR/Numericable le 27/12/2015, à qui je re-communique tous les détails le 30/12 (par email chiffré).
J’en profite pour leur demander s’ils ont une politique de type « Bug Bounty » : pas de réponse.

Le 26/01/2016, SFR nous écrit :

Un firmware corrigeant les vulnérabilités remontées a été finalisé et se trouve en tests en lab.
Si ces essais se passent comme prévu, la version pourra être déployée très prochainement.
Un planning nous sera communiqué dans les jours à venir.

Aucun planning n’ayant été communiqué, je relance le 14/02 : pas de réponse. Je relance à nouveau le 23/02 : SFR répond qu’ils escaladent la question au responsable des équipes concernées et nous tient au courant.

Le 21/03/2016, SFR nous donne enfin tous les détails : les failles 1 et 3 sont corrigées sur tous les types de modem (certains correctifs avaient été déployés dès juin 2015, me disent-ils), mais il ne corrigeront pas les failles 2 et 4.

Le 25/03/2016, je reçois un mail de remerciement de la personne de SFR avec qui j’étais en contact. Elle m’explique également que le rapprochement Numericable/SFR avait compliqué la prise en compte de ces failles, ce qui explique en partie le délai inhabituellement long.

J’ai demandé son accord avant la publication des failles sur mon blog, elle m’a répondu qu’elle souhaiterait que j’y sois objectif : je me suis efforcé de l’être.

Ce qui est positif dans cette expérience

D’abord, les principales failles ont été corrigées. Malgré les multiples difficultés, l’ensemble des personnes concernées ont finalement réussi à se coordonner pour passer l’information et aboutir à des corrections effectives.

Une fois mis en relation avec les bonnes personnes chez SFR/Numericable, les échanges techniques ont été plutôt transparents de part et d’autre.

Merci à Damien Bancal (zataz.com) pour son accompagnement dans cette divulgation. Je rappelle qu’il fait ce travail bénévolement et traite un très grand nombre de failles en parallèle. Cela explique probablement les besoins de relances et les couacs dans les premiers mois.

L’attitude de SFR/Numericable a été tout à fait correcte vis-à-vis de moi : j’ai été pris au sérieux, et eu des remerciements qui m’ont semblé sincères. Je n’ai pas été accusé ni menacé de quoi que ce soit.

Ce que je regrette

Je regrette que la finalisation des corrections ait pris si longtemps, et que toutes les failles signalées n’aient pas été corrigées.

Plus généralement, plusieurs choix faits par SFR/Numericable ne me semblent pas mettre la sécurité de leurs clients en première priorité. Que ce soit dans l’architecture logicielle de leur interface (apparemment plutôt mal adaptée à de la sécurisation), dans le choix de non-prise en compte des 2 dernières failles, ou dans le délai de correction. Je ne dis pas qu’ils ne se préoccupent pas de la sécurité, n’exagérons rien. Je pense que les interlocuteurs que j’ai eu ont fait de leur mieux pour faire avancer les choses. Mais, comme dans beaucoup d’entreprises, la sécurité ne semble pas être la priorité, quitte à faire sciemment de dangereux compromis.

Certes, il y a parfois des contraintes techniques liées au matériel. Mais ce modem est fourni par le FAI (et reste sa propriété), donc c’est au FAI de s’assurer que les modems sont techniquement capables d’être sécurisés, quitte à les remplacer si nécessaire. Certes, une fusion bouscule les organisations et process, mais le client n’a aucune raison d’en faire les frais.

Ensuite, beaucoup moins de temps et d’énergie auraient été gaspillés s’il y avait un Bug Bounty (ou une initiative équivalente). Les entreprises s’y mettent petit à petit mais la prise de conscience prend beaucoup de temps, je trouve. D’autre part, il est bien difficile de trouver comment contacter les FAIs (quels qu’ils soient) autrement que via une hotline inadaptée à ce genre de cas.

La tentation était forte pendant ces 14 mois de laisser tomber. Test-cases, explications, multiples relances, contrôles etc. Rajoutez à cela le risque juridique, et mettez-vous à la place de la personne qui découvre une faille : quel intérêt a-t-elle à s’embêter à faire tout ça ? Surtout quand il n’y a aucune récompense à la clé : je n’ai obtenu « que » des remerciements dans un email privé.

Il me parait urgent d’encourager la divulgation responsable. Par les entreprises elles-mêmes, mais aussi par une législation qui sécurise au lieu de faire peser un risque juridique (qui est réel : voir la récente condamnation de Bluetouff).

Mise à jour du 29/06/2016 :

Le 30/04/2016, j’ai reçu un email de la personne avec qui j’étais en relation chez SFR/Numericable, qui disait :

afin de souligner l’aide que vous nous avez apporté grâce à ce signalement, notre équipe souhaiterait vous faire parvenir un pli

et me proposais de leur fournir mes coordonnées postales, ou de convenir d’un lieu de rendez-vous pour me donner le colis.

J’ai décliné l’offre, en proposant plutôt qu’ils donnent cela à l’association caritative de leur choix, de sorte que cela profite à des personnes qui en ont probablement plus besoin que moi (quel que soit le contenu du colis, qui n’était pas précisé). J’ai proposé qu’ils me scannent un reçu et que j’en parle ici : ça aurait fait une belle épilogue.

Mais je n’ai pas eu de réponse, malgré une relance le 12/06/2016. Tant pis.

3 réflexions au sujet de « Divulgation responsable de failles de sécurité : le parcours du combattant »

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *