Cansecwest, le Pwn2Own est quelque peu devenu une institution. Au point qu'on en arrive à se demander si certains n'auraient pas fait le déplacement rien que pour ça. Ce qui aurait en particulier pu être le cas de Charlie Miller, s'il n'avait pas donné avec Dino Dai Zovi un talk quelque peu décevant sur l'exploitation de MacOS X. Et encore...
C'est ce même Charlie Miller qui, s'il a brillé en remportant le MacBook de l'édition 2009 et 5000 dollars, s'est surtout illustré en affichant des positions fort discutées. D'abord en utilisant une faille Safari qu'il gardait sous le coude depuis l'an dernier, spécialement pour ça. Ensuite en prenant la suite de Sergio Alvarez et ses faille sur iPhone en particulier, en annonçant qu'il ne remontait pas ses trouvailles gratuitement aux éditeurs concernés. Puis de remettre le couvert le lendemain en fédérant quelques pointures derrière le slogan "No More Free Bugs"...
Finies donc les remontées gracieuses de failles aux éditeurs concernés, voilà des gens qui demandent très clairement à se faire payer pour cela, le clament haut et fort et même encouragent les autres à adopter leur position, puisque c'était grosso modo le message derrière le lightning talk de Charlie Miller sur le sujet, soutenu par Dino Dai Zovi et Alex Sotirov.
La question de la vente des failles est un sujet sur lequel j'ai un billet en attente depuis plus de deux ans. Il porte encore le numéro 101, contient son lot de liens et références en tous genres, et est resté sur la TODO list depuis faute d'avis vraiment tranché sur la question. Or, comme la prise de position radicale de Miller, Dai Zovi et Sotirov donne un peu de grain à moudre aux blogueurs, je vais en profiter pour apporter mes quelques billes au débat et m'en débarrasser. Autant vous le dire tout de suite, si je ne suis pas franchement pour ce genre de chose, je ne suis pas pour autant contre. Tout est affaire de mesure, certes, mais il me semble qu'il s'agit là d'une pente extrêmement savonneuse.
Nombreux sont ceux qui se sont exprimés sur la question ces derniers jours. Quelques uns en particulier avancent des arguments qui me sont également venus à l'esprit, auxquels j'adhère ou qui peuvent avoir du sens. D'autres moins. Je commencerais par citer l'excellent Adam O'Donnell qui titre très justement sur ZeroDay ""No more free bugs"? There never were any free bugs". La valeur d'une faille se trouve souvent ailleurs que dans la simple rétribution pécuniaire. Depuis que la sécurité existe, nombre d'individus ont publié des failles, essentiellement pour obtenir de la part de leurs pairs une reconnaissance de leur travail. Cette reconnaissance est un moteur puissant au sein de ce que d'aucuns qualifient de cirque de la sécurité, et il est intéressant que ceux qui prônent aujourd'hui la vente pure et simple de leurs trouvailles sont des gens qui en sont partie prenante depuis fort longtemps. Des gens qui n'ont donc plus besoin d'une reconnaissance sociale déjà acquise.
Il y a ensuite cette rapide bafouille de Haroon Meer sur le blog de Sensepost qui nous rappelle très justement que ce genre de débat a clairement un air de déjà-vu. Il nous ramène à la fameuse campagne antiSecurity de 2001 qui vantait sous le slogan "Save a bug, save a life" le non-disclosure pour le bien du Net, avec pleins d'arguments pas inintéressants. Cette position a pris sa place dans les discussions sans fin autour de la divulgation de failles. Plus récemment, un nouveau débat sur la vente des failles est né des offres de iDefense ou ZDI, et s'est retrouvé satellisé autour du système d'enchères très controversé de WabiSabiLabi. Autant de positions qui ont été largement commentées, plus ou moins intelligemment, et surtout moins que plus...
On pourra ensuite noter la position assez marquée exprimée par Ross Thomas de Sophos, qui place le débat sous l'angle de l'éthique. Il s'interroge à très juste titre sur la responsabilité du professionnel de la sécurité informatique, en se demandant comment quelqu'un dont c'est le métier peut ainsi s'asseoir sur une faille pendant plus d'un an[1], pour le plaisir de gagner un laptop et 5kUSD, pendant que d'autres aux intentions moins avouables auront tout loisir de la découvrir[2] et l'exploiter à leur tour. C'est là qu'on trouve le meilleur signe de la pente savonneuse que je mentionnais précédemment et que je vais développer plus loin.
Dans son dernier billet mis en ligne peu après la conférence, Dino s'essaie à justifier sa position, qu'on peut résumer à trois idées majeures. D'abord que les failles ont de la valeur, puisque certains proposent de les acheter ou d'en récompenser les découvreurs. Valeur que personne ne conteste, mais dont la forme n'est pas forcément pécunière, comme je l'expliquais plus haut. Ensuite, que la recherche de faille est une activité coûteuse dont les éditeurs ne devraient pas se débarrasser sur le dos de la communauté. Cependant, si un éditeur a déjà des oursins dans les poches quand il s'agit de traiter des remontées de failles gratuites, pourquoi aurait-il soudain envie d'en acheter ? Surtout si ça lui coûte plus cher que ce qu'il fait déjà aujourd'hui[3]. Enfin, que lorsqu'elle n'est pas encadrée, la publication des failles est une activité risquée pour le chercheur, pour l'éditeur et pour les utilisateurs des produits concernés. Ce qui est vrai, mais n'a que peu de rapport avec une quelconque rémunération. Ce sont donc là des arguments certes intéressants, pas forcément faux, mais pas non plus vrais pour autant.
Ce que je vois surtout derrière ce "No more free bugs", ce sont deux tendances. La première n'est qu'une forme nouvelle de l'exaspération rampante de la communauté face à l'attitude de certains éditeurs qui se foutent clairement de la gueule de leurs clients en laissant la communauté se charger de leur assurance qualité. Si pas mal d'entre eux ont su prendre conscience que la gestion des failles faisait partie intégrante du cycle de vie de leurs produits, il reste encore quelques noms en particulier qui me viennent à l'esprit. Ces éditeurs sont, en partie, responsables de l'état inquiétant du parc informatique mondial quand il s'agit de sécurité. Si on ajoute à cela leur agaçante tendance à traîner des pieds quand il s'agit de reconnaître et corriger les failles qui leur sont remontées, on comprend mieux qu'un chercheur de faille ressente le besoin d'obtenir rétribution pour le temps non négligeable et les efforts qu'il aura engagé dans le processus, en particulier s'il risque menaces et poursuites en s'y engageant. Ça peut sembler anodin à ceux qui ne sont pas familiers de la chose, mais je peux vous assurer que la remontée de failles peut vite prendre une tournure qui tient plus des douze travaux que de la sinécure. Et s'il peut trouver un tiers qui, en plus de le rémunérer, se chargera à sa place de cette relation parfois pénible avec l'éditeur, lui libérant autant de temps pour faire des choses plus intéressantes à ses yeux, il est clair que le bonhomme, qui a plus l'impression de se faire prendre pour un con que pour un contributeur reconnu comme tel, préfèrera naturellement se tourner vers de tels intermédiaires...
Maintenant, dire que ces éditeurs doivent payer parce que ce n'est pas juste pour leurs utilisateurs payants que leur QA soit assuré gratuitement par la communauté, c'est limite du foutage de gueule. À supposer qu'un tel éditeur intègre cette démarche, d'abord se sont les utilisateurs qui en supporteront de toute manière les coûts supplémentaires, en ce que l'éditeur leur refacturera la douloureuse. Dans le même registre, il est tout aussi débile d'avancer que les faire payer tape là où ça fait mal, c'est à dire au le porte-feuille. Ça ne leur coûte de l'argent que s'ils achète, or rien n'est moins sûr. Le seul moyen efficace qu'un éditeur se prenne en main est un perte significative de parts de marché. Et j'ai du mal à voir ce qu'un marché de la vulnérabilités aurait de si particulier qu'il puisse particulièrement contribuer à développer un tel mouvement...
La seconde tendance me semble être la volonté de développer un business à part entière autour de la recherche de failles, en tout cas tout autre chose que de la communication ou du soutien à d'autres offres et/ou produits. D'où un besoin de trouver des sources de revenus pour éponger le temps passé sur la question. Beaucoup sont impressionnés par les sommes annoncées. 10kUSD, voire même 5kUSD, ne sont certes pas des bagatelles. Mais on peut tout de même s'interroger sur la capacité du marché à rentabiliser ce type d'activité. Je me souviens en effet d'un vieux billet de Thomas Ptacek sur le blog de Matasano qui avançait quelques chiffres à ce sujet. On peut par exemple noter qu'il estimait au doigt mouillé le coût d'un chercheur de failles moyen à 130kUSD/an. Ce qui veut dire que le coût d'une faille sur laquelle il aurait passé un mois[4] dépassait d'un chouilla les fameux 10kUSD classiquement annoncés pour un critique sous Windows ou MacOS[5], en priant très fort pour que l'éditeur ne sous-évalue pas la portée de la faille[6]. Quiconque pense vivre de ces trouvailles aura donc intérêt à sérieusement se creuser le citron pour sortir une douzaine de failles intéressantes, sous peine de devoir se diversifier sérieusement...
Ce qui est peut-être encore plus intéressant dans ce billet, c'est le coût global de la recherche de faille en 2004, estimé à 75 millions de dollars. C'est à la fois peu, si on considère la capitalisation des éditeurs qui en profitent et leurs budgets R&D[7], mais aussi énormément si on considère que c'est six fois le montant total du rachat des quelques 1229 failles jugées intéressantes, au prix unitaire de 10kUSD. Observation à rapprocher d'une vieille citation[8] de Window Snider (si je me souviens bien), qui avançait que ça coûterait moins cher à Microsoft de racheter au prix du marché toutes les failles publiées sur ses produits que de faire tourner le MSRC. De quoi laisser songeur. Parce que je ne suis pas sûr qu'il soit profitable à l'utilisateur final qu'un éditeur se prenne à vouloir jouer sur ce terrain là...
Pour finir sur cette liste d'idées un peu dans tous les sens, je vais revenir sur l'idée de pente savonneuse que je mentionnais tout à l'heure. Cette planche glissante, c'est ce que j'appellerai crûment l'appât du gain. D'aucuns avanceront, très justement, que quand on vend des failles, on le fait avant tout pour gagner de l'argent, et pas franchement pour la beauté du geste. Certes. Mais entre obtenir une rémunération juste et valorisante de son travail, et tout faire pour en tirer le maximum, quitte à spéculer dessus, il y a un pas que certains devraient se garder de franchir. Et c'est typiquement dans cette dernière catégorie que je classe l'attitude de Charlie Miller avec le fameux exploit Safari qui lui a permis de remporter le Pwn2Own.
Quoi qu'il en dise, il aurait pu vendre sa découverte à ZDI ou iDefense dès sa découverte. Bien qu'il soit difficile de dire combien ils lui en auraient offert à ce moment là, il n'est pas injuste de penser que ça aurait été moins que la valeur globale du prix qu'il a ramené de Cansec, sans parler de l'absence de couverture médiatique. Et c'est là que ça devient inquiétant, en particulier de la part d'un professionnel de la sécurité. On sait que d'autres cherchent activement des failles à des fins encore moins avouables. À partir de là, s'asseoir sur une découverte pour en faire monter le prix revient à leur donner du temps. Du temps qu'ils savent mettre à profit.
Car c'est là que se justifie la recherche de faille d'un point de vue sécurité : dans la capacité des gentils bisounours à trouver les failles le plus rapidement pour réduire d'autant l'exposition des utilisateurs face aux méchants morlocks. Que le chercheur veuille y gagner de l'argent en vendant sa faille à ZDI ou iDefense, même si c'est un chemin contestable, ça ne me pose pas plus de problème que ça tant qu'elle est patchée à la fin. Si par contre le but du jeu est juste de lever des failles pour spéculer sur leur valeur, alors il faut arrêter de se la jouer champion de la sécurité et s'afficher tel que l'on est.
C'est à dire, très grossièrement, comme une espèce de mercenaire. Avec toutes les dérives que ça peut impliquer...
Notes
[1] Il paraît que c'est ce que font tous les "bons" chercheurs, d'après Miller...
[2] Si ce n'est déjà fait...
[3] Ce qui, comme expliqué après, c'est pas forcément le cas...
[4] Ce qui comprend la découverte, la formalisation et souvent l'exploitation.
[5] Bien que les prix puissent monter au-delà.
[6] Ce qui, comme chacun le sait, n'arrive jamais...
[7] Pour autant qu'on puisse considérer la recherche de failles comme un activité de R&D pour un éditeur.
[8] Que je n'arrive malheureusement plus à retrouver... La citation, pas Snider...