mercredi 9 mai 2012

Acheter et vendre des exploits - part1 2007

Il y a cinq ans Charlie Miller, un chercheur en sécurité informatique publiait un document expliquant les difficultés pour vendre un exploit. Ses arguments sont construits à partir de la vente de deux exploits en 2007, mis ils restent pertinents aujourd'hui. Cet article est écrit du point de vue d'un chercheur en sécurité qui veut vendre ses exploits, au meilleur prix. Les aspects éthiques, corrections de la faille ou diffusions de celle-ci, etc, ne l'intéressent pas. On peut le considérer comme un mercenaire de la vente de la faille, son discours "No more free bugs" (Cansecwest 2009) allant dans ce sens.

Lecture commentée de l'article de Charlie Miller.

1/ Valeur de l'exploit
Tout d'abord la valeur d'une faille dépend d'un paramètre entièrement indépendant du vendeur et du chercheur qui est sa publicité. En effet, une faille mise en vente peut voir son prix tomber à zéro le jour où elle est soit publique, soit patchée. La rapidité des négociations est donc un point primordial. Je suis d'accord avec lui, même s'il existe encore un laps de temps entre un exploit pleinement fonctionnel tenu secret, la divulgation d'une faille, son correctif et la diffusion du correctif (on parle bien aujourd'hui des demi-days).

2/ Prix de vente
Ensuite, le prix de vente est un jeu d'aveugles. Du fait de la nature de ce commerce, il est impossible de connaître un tarif honnête. Quelques tableaux de ventes existent sur internet, très flous, mais aucun cours légal n'existe. Je pense toutefois qu'un chercheur en sécurité peut estimer la valeur de sa faille. Et que la fiabilité de l'exploit est directement liée avec sa valeur. La faille de sudo n'a pas la même valeur selon la publication faite par l'auteur que celle retravaillée ensuite qui fonctionne plus largement, et qui bypasse divers mécanismes de sécurité.


3/ Trouver l'acheteur
Pour Charlie Miller, il n'existe pas de moyen simple de trouver un acheteur. Il a du ouvrir son propre agenda (il a a travaillé 5 ans à la NSA quand même) et appeler un peu au hasard ses contacts avant de trouver un intermédiaire qui pouvait le mettre en relation avec une agence gouvernementale intéressée par son exploit. Le risque pour lui était grand de tomber face à des charlatans (au mieux) ou des mafias (au pire). Pour moi, ce point a bien évolué. Il existe des entreprises ayant pignon sur rue achetant des exploits, ou des programmes d'achat de failles (Bug bountys chrome, firefox, etc..). Toutefois les prix sont bien différents[1].

4/ Vérification de l'acheteur
Les acheteurs étant par essence peu connus, il est difficile de leur faire confiance à priori. Et comme le vendeur est pris par le temps puisqu'il doit vendre avant que la faille soit redécouverte et que cet évènement peut se produire n'importe quand, le temps de vérifier les intentions de l'acheteur est bien maigre.

 5/ Démonstration de l'exploit
De plus, pour vendre l'exploit il faut démontrer son existence. Mais la simple évocation d'un exploit peut permettre à quelqu'un de le retrouver! Indiquer à un acheteur potentiel qu'une faille est en vente sans plus de précision n'aboutira pas. Et indiquer qu'on possède un buffer overflow sur wu-ftpd avant authentification permet à l'acheteur de manifester son interêt, mais est une information suffisate pour permettre à un attaquant suffisamment skillé de redécouvrir la faille, faisant immédiatement perdre le bénéfice de la vente!
En absence d'un tiers de confiance, soit l'acheteur paye sans voir, soit le vendeur donne l'exploit en espérant un chèque un peu plus tard. Mais comme le vendeur espère tirer le maximum de profit de son exploit, il doit donner des détails précis sur celui-ci! J'avais lu un découpage des hackers en 5 catégories:
  • Ceux qui trouvent des failles sur commande, sur n'importe quel logiciel. Au monde, il y en a très peu.
  • Ceux qui trouvent des failles par eux-mêmes. Il n'y en pas beaucoup non plus. (Charlie Miller en fait donc partie, selon lui)
  • Ceux qui peuvent trouver une faille lorsqu'on leur dit ou chercher ou lorsqu'ils on un exploit partiel, ou un patch. Ce sont d'eux que Charlie Miller a peur.
  • Ceux qui comprennent les enjeux liés par une faille de sécurité, sont capables de monter des PoC. Il y en a encore très peu. Ce sont eux les acheteurs pour Charlie Miller.
  • Et les autres. Ce sont eux qui préconisent de mettre un antivirus et un firewall personnel par exemple.
6/ La propriété intellectuelle de l'exploit
Dans ce jeu secret de vente d'exploit, le vendeur peut se faire doublement avoir. Tout d'abord, un acheteur intéressé peut refuser la vente à tout moment. Une des raisons du refus étant que l'acheteur, à l'aide des informations fournies par le vendeur, a retrouvé la faille et produit un exploit. A quoi bon payer dans ce
cas? Et l'acheteur peut faire un coup double en revendant à son tour l'exploit à un tiers! Ces négociations étant secrètes et toujours en l'absence de tiers de confiance, l'inventeur original n'a aucun moyen de faire valoir ses droits.

7/ Exclusivité de droits
Le point 6/ a immédiatement une position similaire du côté du vendeur. L'ensemble étant secret, le vendeur pourra toujours vendre son exploit à autant de parties souhaitées! Charlie Miller, pourtant intéressé par l'argent depuis le début se tient à une honnêteté stricte (ou tout du moins le laisse t'il entendre). Il conçoit que l'acheteur prend un risque en achetant l'exploit, mais il est prêt à céder les droits à un seul acheteur, bien qu'il sache très bien qu'un acheteur ne pourra jamais prouver que le vendeur ait vendu cet exploit à plusieurs personnes.

Charlie Miller propose ensuite diverses solutions pour vendre des exploits de manière sécurisée sur lesquelles je ne reviendrai pas, la principale étant d'avoir un tiers de confiance, mais comme il l'indique "Legal issues should be adressed".

Il relate ensuite comment avoir vendu deux exploits. Le premier touchant un démon linux courant, proposé 80000 dollars à une agence américaine (je suppose un acronyme à 3 lettres) qui lui a finalement été acheté 50000. Il est amer sur cette vente car il a estimé seulement après coup pouvoir démarrer les négociations bien au delà de 80000$. Et à 80000$ l'exploit, on comprend mieux son combat pour le "no more free bugs". Un article chez Sid de 2009 table sur un salaire annuel de 130000$ et des ventes d'exploits vers 10000$. L'article finit en disant "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...". A 80000$, la problématique est différente et permet de passer quelques mois pour une faille[2].
Le second exploit est un semi-échec puisqu'un patch est sorti avant que la vente ne termine (12000$ pour un exploit sur powerpoint).

Je pense que Charlie Miller a raison sur les problématiques de vente d'exploit, mais qu'il oublie un point essentiel. Il oublie qu'il est Charlie Miller, chercheur en sécurité reconnu, auteur de plusieurs failles de sécurité, auditeur de conférences en sécurité, etc..
De fait, lorsqu'il propose à la vente un exploit, il peut toujours l'envoyer à l'acheteur sans trop de risques, surtout s'il s'agit d'une agence de sécurité américaine et ce, pour deux raisons.
La première étant qu'il a comme il le dit lui même la possibilité de mettre à zéro la valeur de cet exploit en contactant l'éditeur de sécurité. Cette force oblige l'acheteur à se manifester rapidement [3]. Il perd une vente, mais l'acheteur peut voir son investissement réduit à néant.
La seconde raison vient de la nature de l'acheteur. Lorsque vous êtes une grosse agence de sécurité nationale et qu'un auteur d'exploit reconnu comme Charlie Miller vient vous vendre quelque chose, vous ne pouvez pas le laisser repartir déçu sinon il ira vendre ses exploits à d'autres personnes (où d'autres gouvernements). Et de fait, je pense que l'acheteur n'achète pas qu'un exploit, il achète également la possibilité de continuer à collaborer! Pour cette raison, il aurait du être quasiment sûr d'être payé tôt ou tard.
Moralité: si vous êtes Charlie Miller, vous pouvez vendre des exploits sans trop de risques. Si vous êtes inconnu, diffusez les plutôt dans des conférences de sécurité afin de vous faire connaître pour pouvoir vendre les suivants sans risque :-)

Ce post étant un peu long, je le coupe en 2. La seconde partie va traiter de la vente d'exploit aujourd'hui en 2012.
...TO BE CONTINUED


[1] A titre d'exemple, le bounty max de Chrome valait 3133,70 dollars alors qu'une faille Chrome était estimée à +100000 dollars...
[2] D'un autre côté, Kostya Kortchinsky indique ne pas avoir plus de 5 jours à passer sur la pseudo faille du serveur TSE de microsoft.
[3] Même si la timeline de la vente est assez effrayante de ce point de vue. Proposée le 27 juillet, chèque reçu le 9 septembre. Cela laisse suffisamment de temps à l'acheteur d'utiliser l'exploit dans une campagne d'attaque ciblée avant de se rétracter ou de diffuser publiquement la faille.

Aucun commentaire:

Enregistrer un commentaire