Ce post est la suite du message http://exploitability.blogspot.fr/2012/05/acheter-et-vendre-des-exploits-part1.html. Ce second post va reparcourir les sept points soulevées par Charlie Miller en les adaptant à la situation actuelle.
1/ Valeur de l'exploit
Ce point particulier varie légèrement puisqu'une faille corrigée peut conserver de la valeur. On voit apparaître des failles demi-days qui sont des failles de sécurité patchées récemment. Selon le but de l'acheteur (cible localisée ou ratissage large), une exploitation fiable d'une faille corrigée peut avoir un interêt certain. A ce titre, on observe que la faille MS12-020 continue d'être la plus recherchée sur les modules metasploit, alors même que le patch existe, et que la faille n'a toujours pas été prouvée! Toujours chez metasploit, un programme d'achat de fiabilisation de failles de sécurités existe, prouvant ainsi qu'un patch publié n'enterre pas forcément la faille de sécurité associée.
2/ Prix de vente
Depuis 2007, quelques prix ont commencé à apparaître. Certains fiables, d'autres moins. Pour la fiabilité, il suffit de se référer aux programmes de bug bounty des éditeurs (une recherche google donne un grand nombre de sociétés offrant des bug bounty). Différents prix sont proposés:
- 500$ pour facebook
- de 500$ à 3000$ pour firefox
- de 500$ à 3133.7$ (le prix est un clin d'oeil) pour Google
- de 500$ à 3133.7$ pour Barracuda Networks
(tirée de l'article http://www.forbes.com/sites/andygreenberg/2012/03/23/shopping-for-zero-days-an-price-list-for-hackers-secret-software-exploits/ )
On retrouve peu ou prou les prix du pw2own contest (20000-60000$) et celui de Charlie Miller (80000$). Cette grille à un autre interêt, j'y reviendrai plus tard.
Enfin, il existe entre les deux les sociétés spécialisées (voir point 3/ ) et les prix sont soit absents, soit aux alentours de 10000$ la faille.
Ce qui saute aux yeux, c'est la disparité des tarifs (!). Les bounty sont complètements décorrélés des autres prix. Par exemple pour un bounty chrome à 3000$, on doit trouver une société spécialisée à 10000$, ou le pw2own à 20000 et enfin le marché noir à +80000$ (!).
Enfin, on lit beaucoup d'autres prix, pas toujours réalistes. VUPEN, à la suite de sa victoire au pwn2own indique vouloir conserver une faille Chrome et refuse même le prix de 60000$. Il ajoute qu'il conserverai cette faille même dans l'hypothèse ou Google lui proposerai 1 million de dollars! Plusieurs spéculations sur le prix délirant des failles ont démarré sur internet. Néanmoins Tavis Ormandy fait remarquer "It's common to see the shadier side of infosec exaggerate about big money deals, you can lookup actual revenue data at http://www.infogreffe.fr", ce qui signifie que Vupen surévalue le prix de vente de ses failles, car une faille à 1M lui fait presque 2 ans de chiffre d'affaire. [mais cela semble logique pour un vendeur de gonfler les tarifs :-) et il y a peut-être des clauses de confidentialités sur cette faille par ailleurs.. ]
3/ Trouver l'acheteur
Cela semble beaucoup plus facile qu'en 2007 pour les programmes bounty et les sociétés spécialisées. Je ne les listerai pas toutes ici, on peut en trouver un grand nombre sur ce lien (la liste date de 2009, cela a pu évoluer) ou celui-ci (qui contient aussi une bonne liste de bounty programs).
Pour le marché noir, c'est toujours aussi opaque, mais c'est aussi la définition du marché noir (on connait quelqu'un qui connait quelqu'un de fiable qui connait quelqu'un... :) ).
Il semble donc beaucoup plus simple aujourd'hui de vendre des failles de sécurité, en tout cas à bas prix.
4/ Vérification de l'acheteur
Charlie Miller souhaitait connaître les intentions de l'acheteur avant de vendre. Pour les bug bounty, pas de problèmes moraux à avoir. Pour les sociétés généralistes d'achats, il est fait mention de diffusion contrôlée, limitée, réservée aux spécialistes et chercheurs. Je ne sais pas jusqu'a quel degré de cynisme on peut le lire. Il s'agit généralement de sociétés vendant de l'outil cyber-offensif ou des prestations cyber-offensives. Je regarderai plutôt du côté des clients de ces sociétés, mais il n'y a aucune publicité à ce sujet. Vupen indique travailler avec des gouvernements entre autre.
5/ Démonstration de l'exploit
Actuellement, c'est un jeu de confiance. Pour les bounty ou les sociétés ayant pignon sur rue, c'est le chercheur qui doit fournir la preuve de sa faille avant toute négociation ultérieure. Pour le marché noir, étant opaque, pas d'autres infos. Par contre, il est fait mention d'un tiers de confiance qui met en relation des vendeurs et des acheteurs (moyennant pourcentage toutefois), bien qu'il faille lui fournir les preuves complètes d'un exploit. Il se fait joindre sur twitter et s'appelle thegrugq. Apparemment, il suffit de lui fournir un exploit, et il trouve un vendeur. Toutefois, je n'ai pas trouvé d'information fiable à ce sujet, uniquement des liens citant un autre lien "qui dit que", donc je ne garantirai pas la fiabilité de cette méthode. (d'ailleurs si quelqu'un à des infos fiables là-dessus...)
6/ Propriété intellectuelle de l'exploit
Quelques sociétés d'achat de failles font signer des NDA, mais comme le disait déjà Charlie Miller, il existe toujours pour le vendeur un moyen de vendre deux fois un exploit sans que cela ne soit prouvable par le premier ou le second acheteur. C'est une forme d'honnêteté de la part du vendeur. Parmi les sociétés qui achètent, on trouve d'ailleurs des exigences délirantes comme la fourniture de plusieurs pièces d'identités, plus des adresses postales et numéros de téléphones [Et là, c'est une question de paranoïa ou de cupidité sachant qu'avec tout ce qui est demandé la société peut facilement voler l'identité de ceux qui traitent avec eux...].
Conclusion/
Contrairement à 2007, il est aujourd'hui plus simple de vendre des exploits (à bas prix) à l'aide des bugs bounty. Les sociétés spécialisées ou le marché noir n'offrant pas suffisamment de garanties de sérénité au vendeur.
Le tableau montré plus haut est intéressant à plus d'un titre. La liste des exploits présentée fait immédiatement à une volonté offensive et ciblée. On cherche des failles dans pdf, doc (spear phishing), les navigateurs les plus courants, ou les systèmes (l'élévation de privilège je pense) ou les smartphones qui sont remplis d'informations personnelles à haute valeur (carnet d'adresses, appels émis et reçus, position géographique etc..). Cette liste semble à des antipodes des préoccupations d'un chercheur en sécurité de l'information. Elle semble plutôt construite sur des besoins d'espionnage, ce qui fait penser aux états. On sait que la guerre cyber va devenir de plus en plus importante jusqu'à imaginer des mécanismes de vente d'armes cyber aussi protégées que les armes chimiques ou nucléaire (Kaspersky, Cebit 2012). Comme le fait remarquer Ben Nagy sur une mailing list, vendre des exploits ne fait pas de vous un inconscient qui dégoupille une grenade au milieu d'une foule. Vendre un exploit aujourd'hui, c'est le fournir à un gouvernement qui va s'en servir à la manière d'un sniper dans un but précis et encadré [1] (on retrouve encore cet aspect sécurité informatique et gouvernements..).
Cela tend donc à signifier que la faille qui se vend aujourd'hui est forcément offensive, ciblée vers l'utilisateur final et achetée par les gouvernements. Pour le reste, s'il n'existe pas de bounty, publiez un CVE, ou sur full-disclosure, ça vous apportera au moins la gloire :-) Il est d'ailleurs possible de contacter secunia qui s'occupe de gérer toute la partie ennuyeuse (communication à l'éditeur concerné, prévention des différents CERT, numérotation CVE etc...) et qui conserve votre nom au crédit de la faille! Bon, la rémunération oscille entre rien du tout et un tee-shirt, mais c'est toujours un début :-)
[1] Je ne fais que résumer le propos de Ben Nagy, ce n'est pas une opinion personnelle.
[EDIT 01/06/2012] : Bruce Schneier revient sur le concept de marché de la vente de vulnérabilité : http://www.schneier.com/blog/archives/2012/06/the_vulnerabili.html et fournit un autre tableau qui est un sondage effectué en 2010 auprès des vendeurs de failles de sécurité http://unsecurityresearch.com/index.php?option=com_content&view=article&id=52&Itemid=57
Il ajoute qu'un des problèmes avec des prix d'achats trop élevés réside chez les éditeurs de logiciels. A +100k$ la faille, un programmeur pourrait laisser de manière intentionnelle un léger bug exploitable afin de le revendre sous le manteau un peu plus tard.