Article original : What is a Bug Bounty Program? How Bug Bounties Work and Who Should Use Them

Par Megan Kaczanowski

Les programmes de bug bounty permettent aux chercheurs en sécurité indépendants de signaler des bugs à une organisation et de recevoir des récompenses ou une compensation. Ces bugs sont généralement des exploits de sécurité et des vulnérabilités, bien qu'ils puissent également inclure des problèmes de processus, des défauts matériels, etc.

Les rapports sont généralement faits via un programme géré par un tiers indépendant (comme Bugcrowd ou HackerOne). L'organisation mettra en place (et gérera) un programme adapté aux besoins de l'organisation.

Les programmes peuvent être privés (sur invitation uniquement) où les rapports sont gardés confidentiels pour l'organisation ou publics (où n'importe qui peut s'inscrire et rejoindre). Ils peuvent avoir lieu sur une période de temps définie ou sans date de fin (bien que la deuxième option soit plus courante).

Qui utilise les programmes de bug bounty ?

De nombreuses grandes organisations utilisent les bug bounties dans le cadre de leur programme de sécurité, notamment AOL, Android, Apple, Digital Ocean et Goldman Sachs. Vous pouvez consulter une liste de tous les programmes proposés par les principaux fournisseurs de bug bounty, Bugcrowd et HackerOne, à ces liens.

Pourquoi les entreprises utilisent-elles les programmes de bug bounty ?

Les programmes de bug bounty donnent aux entreprises la possibilité de mobiliser un grand groupe de hackers afin de trouver des bugs dans leur code.

Cela leur donne accès à un plus grand nombre de hackers ou de testeurs qu'ils ne pourraient en atteindre sur une base individuelle. Cela peut également augmenter les chances que des bugs soient trouvés et signalés avant que des hackers malveillants ne puissent les exploiter.

Cela peut également être un bon choix en termes de relations publiques pour une entreprise. Alors que les bug bounties sont devenus plus courants, avoir un programme de bug bounty peut signaler au public et même aux régulateurs qu'une organisation dispose d'un programme de sécurité mature.

Cette tendance est susceptible de se poursuivre, car certains ont commencé à voir les programmes de bug bounty comme une norme industrielle dans laquelle toutes les organisations devraient investir.

Pourquoi les chercheurs et les hackers participent-ils aux programmes de bug bounty ?

Trouver et signaler des bugs via un programme de bug bounty peut entraîner des bonus en espèces et une reconnaissance. Dans certains cas, cela peut être un excellent moyen de montrer une expérience réelle lorsque vous cherchez un emploi, ou peut même vous aider à entrer en contact avec des personnes de l'équipe de sécurité à l'intérieur d'une organisation.

Cela peut être un revenu à temps plein pour certaines personnes, un revenu pour compléter un emploi, ou un moyen de montrer vos compétences et d'obtenir un emploi à temps plein.

Cela peut aussi être amusant ! C'est une excellente (et légale) occasion de tester vos compétences contre des multinationales et des agences gouvernementales.

Quels sont les inconvénients d'un programme de bug bounty pour les chercheurs et les hackers indépendants ?

Beaucoup de hackers participent à ces types de programmes, et il peut être difficile de gagner une somme d'argent significative sur la plateforme.

Pour obtenir la récompense, le hacker doit être la première personne à soumettre le bug au programme. Cela signifie qu'en pratique, vous pourriez passer des semaines à chercher un bug à exploiter, pour être la deuxième personne à le signaler et ne gagner aucun argent.

Renviron 97 % des participants sur les principales plateformes de bug bounty n'ont jamais vendu un bug.

En fait, un rapport de 2019 de HackerOne a confirmé que sur plus de 300 000 utilisateurs enregistrés, seulement environ 2,5 % ont reçu une récompense pendant leur temps sur la plateforme.

Essentiellement, la plupart des hackers ne gagnent pas beaucoup d'argent sur ces plateformes, et très peu en gagnent assez pour remplacer un salaire à temps plein (en plus, ils n'ont pas d'avantages comme des jours de vacances, une assurance maladie et une planification de la retraite).

Quels sont les inconvénients des programmes de bug bounty pour les organisations ?

Ces programmes ne sont bénéfiques que si le programme permet à l'organisation de trouver des problèmes qu'elle n'a pas pu trouver elle-même (et si elle peut corriger ces problèmes) !

Si l'organisation n'est pas assez mature pour pouvoir remédier rapidement aux problèmes identifiés, un programme de bug bounty n'est pas le bon choix pour son organisation.

De plus, tout programme de bug bounty est susceptible d'attirer un grand nombre de soumissions, dont beaucoup peuvent ne pas être des soumissions de haute qualité. Une organisation doit être prête à gérer l'augmentation du volume d'alertes et la possibilité d'un faible rapport signal/bruit (essentiellement, il est probable qu'elle reçoive assez quelques rapports non utiles pour chaque rapport utile).

De plus, si le programme n'attire pas assez de participants (ou des participants avec le mauvais ensemble de compétences, et donc les participants ne sont pas en mesure d'identifier des bugs), le programme n'est pas utile pour l'organisation.

La grande majorité des participants aux programmes de bug bounty se concentrent sur les vulnérabilités des sites web (72 %, selon HackerOn), tandis que seulement quelques-uns (3,5 %) choisissent de rechercher des vulnérabilités des systèmes d'exploitation.

Cela est probablement dû au fait que le piratage des systèmes d'exploitation (comme le matériel réseau et la mémoire) nécessite une quantité significative d'expertise hautement spécialisée. Cela signifie que les entreprises peuvent voir un retour sur investissement significatif pour les bug bounties sur les sites web, et non pour d'autres applications, en particulier celles qui nécessitent une expertise spécialisée.

Cela signifie également que les organisations qui doivent examiner une application ou un site web dans un délai spécifique peuvent ne pas vouloir compter sur un bug bounty, car il n'y a aucune garantie de quand ou si elles reçoivent des rapports.

Enfin, il peut être potentiellement risqué de permettre à des chercheurs indépendants de tenter de pénétrer votre réseau. Cela peut entraîner une divulgation publique de bugs, causant des dommages à la réputation aux yeux du public (ce qui peut entraîner des personnes ne voulant pas acheter le produit ou le service de l'organisation), ou une divulgation de bugs à des tiers plus malveillants, qui pourraient utiliser ces informations pour cibler l'organisation.

Un programme de bug bounty est-il adapté à toutes les organisations ?

Non. Une organisation doit atteindre un certain niveau de maturité dans son programme de sécurité avant qu'un programme de bug bounty puisse être efficace.

La plus grande question qu'une organisation doit se poser est de savoir si elle sera en mesure de corriger les vulnérabilités identifiées. Si elle ne peut pas le faire dans un délai raisonnable, un programme de bug bounty n'est probablement pas une bonne idée.

Si l'organisation a du mal à mettre en œuvre une gestion de base des correctifs ou si elle a une série d'autres problèmes identifiés qu'elle a du mal à résoudre, alors le volume supplémentaire de rapports qu'un programme de bug bounty générera n'est pas une bonne idée.

Un programme de bug bounty devient une bonne idée lorsqu'il n'y a pas un arriéré de problèmes de sécurité identifiés, que des processus de remédiation sont en place pour traiter les problèmes identifiés, et que l'équipe recherche des rapports supplémentaires.

De plus, comme je l'ai mentionné précédemment, bien que les sites web soient généralement de bonnes cibles pour les programmes de bug bounty, une cible hautement spécialisée, telle que le matériel réseau ou même les systèmes d'exploitation, peut ne pas attirer assez de participants pour être rentable.

Enfin, le montant d'argent ou de prestige accordé par la soumission réussie d'un rapport pour différentes organisations peut influencer le nombre de participants et le nombre de participants hautement qualifiés (c'est-à-dire, signaler un bug pour Apple ou Google peut apporter plus de prestige qu'un bug pour une entreprise qui n'est pas aussi connue).

Quelles sont les alternatives aux programmes de bug bounty ?

Tout d'abord, les organisations devraient avoir un programme de divulgation de vulnérabilités. Essentiellement, cela fournit un canal sécurisé pour que les chercheurs contactent l'organisation concernant les vulnérabilités de sécurité identifiées, même s'ils ne paient pas le chercheur.

Avoir un point de contact identifié peut être utile car il peut immédiatement filtrer les demandes à l'équipe de sécurité, plutôt qu'à une équipe de communication qui peut ne pas savoir à quel point il faut prendre le rapport au sérieux. Cela peut également encourager les chercheurs à signaler les vulnérabilités lorsqu'elles sont trouvées.

Typiquement, cela inclut également un cadre pour la manière de gérer l'accueil, l'atténuation et les mesures de remédiation.

De plus, les organisations peuvent opter pour engager une entreprise de test d'intrusion pour effectuer un test limité dans le temps de systèmes ou d'applications spécifiques. Les testeurs de pénétration auront une cible dirigée et curée et produiront un rapport à la fin du test.

Cela garantira que l'entreprise obtient une équipe de hackers hautement qualifiés et de confiance à un prix connu. Ils peuvent également demander toute expertise spécialisée dont ils ont besoin, ainsi que garantir que le test est privé, plutôt que publiquement accessible.

L'entreprise peut même faire signer aux testeurs des accords de non-divulgation et tester des applications internes hautement sensibles.

Cependant, cela est généralement un événement unique, plutôt qu'une récompense continue. De plus, les testeurs de pénétration sont payés qu'ils trouvent ou non des vulnérabilités (alors que dans un bug bounty, les chercheurs ne sont payés que s'ils signalent avec succès un bug).

Lequel est le meilleur - les programmes de bug bounty ou les testeurs de pénétration engagés ?

Souvent, ces deux méthodes ne sont pas directement comparables - chacune a ses forces et ses faiblesses.

Si l'organisation bénéficierait davantage d'avoir plus de personnes (de niveaux de compétence variés) examinant un problème, l'application n'est pas particulièrement sensible et ne nécessite pas d'expertise spécifique, un bug bounty est probablement plus approprié.

Si l'application est interne/sensible, le problème nécessite une expertise spécifique, ou l'organisation a besoin d'une réponse dans un délai spécifique, un test de pénétration est plus approprié.

Intéressé à en savoir plus sur les bug bounties ?