Alors que les applications évoluent rapidement et que la professionnalisation des attaques ne cesse de s’intensifier, le Bug Bounty, apparu pour la première fois en 1995, s’impose comme la suite logique et complémentaire des tests d’intrusions pour déceler les failles de sécurité de manière continue. S’il est devenu une évidence pour de nombreuses entreprises, il existe aujourd’hui différentes approches du bug bounty, qu’il faut clarifier.
Le bug bounty fait appel à des chercheurs en sécurité informatique appelés également hackers éthiques situés aux quatre coins de la planète pour tester et renforcer la sécurité des applications d’une entreprise. Ce système, en forte expansion depuis quelques années, permet à ces « chasseurs de failles » ou « hunters » d’intervenir pour déceler des vulnérabilités et les remontent via des plateformes ou par le biais d’entreprises spécialisées.
Cette approche bénéficie de nombreux avantages : elle permet, par exemple, de mettre en parallèle diverses expertises complémentaires et profils qualifiés pour tester la sécurité des produits d’une entreprise. En diversifiant les opinions et les axes de recherche, une entreprise s’assure d’agir avec plus de précision et ce sur une plus longue période. Le bug bounty permet également à l’entreprise de reprendre le contrôle sur la publication des failles de sécurité, lui donnant la possibilité de synchroniser les résultats obtenus avec les outils de suivi de bugs internes pour lui permettre d’atteindre une certaine maturité en matière de sécurité vis-à-vis de ses clients.
Toutefois, le bug bounty n’est pas efficient dans toutes les situations. C’est tout d’abord un programme à définir avec précision. Ces programmes peuvent être compliqués à coordonner, et leur pilotage est une contrainte supplémentaire pour l’entreprise. De plus, contrairement à un audit classique, le budget dépend du nombre de vulnérabilités valides trouvées par les chercheurs, élément difficilement quantifiable dans le cadre d’un programme de bug bounty. Il est également connu pour faire face à de nombreux faux positifs, notamment avec des vulnérabilités trouvées révélées sous formes de doublons. Enfin, s’il est adapté aux périmètres externes tels que les applications Web ou mobiles, le bug bounty est difficilement envisageable lorsque l’on souhaite agir dans le cadre d’un périmètre interne.
Ainsi, pour mettre en place des programmes de bug bounty de façon optimale, les plateformes ont recours à deux méthodes différentes : le bug bounty managé, et le bug bounty non managé.
Le bug bounty non managé est le bug bounty tel qu’on le connait sous sa forme « classique », c’est-à-dire sans intermédiaire entre la plateforme de bug bounty et le client. Le fonctionnement est simple : l’entreprise cliente s’abonne à une plateforme, crée son programme de bug bounty puis invite des chercheurs à y participer. Ces derniers soumettent ensuite les vulnérabilités qu’ils ont découvertes à l’entreprise cliente, via la plateforme. Les équipes de l’entreprise collaborent avec les hackers éthiques, valident les rapports de vulnérabilités et les rémunèrent, avant de finalement faire intervenir leurs propres membres chargés de la sécurité pour corriger les vulnérabilités identifiées.
Le bug bounty managé est quant à lui une méthode plus récente. Une entreprise spécialisée en cybersécurité se positionne comme un intermédiaire entre l’entreprise cliente et les hackers éthiques. Ce sont les consultants de cette entreprise qui vont accompagner de A à Z l’entreprise cliente dans la création et la gestion de ses programmes de Bug Bounty. Cet aspect simplifie la mise en place de cette prestation qui peut s’avérer compliquée à gérer pour le client.
Voici en quelques points, les étapes structurant l’accompagnement d’un programme de bug bounty managé :
- Création : Concevoir un programme personnalisé aux besoins de l’entreprise, définir les cibles, définir la grille des récompenses en fonction du budget qui va statuer sur le niveau de rémunération des vulnérabilités trouvées par les chercheurs en fonction de leur sévérité ;
- Lancement : Lancer le programme et envoyer les invitations aux chercheurs ayant l’expertise ad hoc sur le périmètre du programme ;
- Triage : Rejouer les PoC (Proof of Concept) et transmettre les rapports de vulnérabilités valides au client avec pour chacun la sévérité, la description, l’impact et la remédiation associée. Validation de la récompense à payer au chercheur par le client après échange et accord avec l’équipe de triage ;
- Remédiation : Conseiller le client dans la mise en place du correctif de la vulnérabilité et tester l’implémentation de cette dernière.
L’une des étapes clefs pour la réussite d’un programme de bug bounty managé est cette phase de traitement des vulnérabilités remontées (triage). L’entreprise spécialisée en cybersécurité va pouvoir vérifier les PoC, c’est à dire les preuves qu’apportent les hackers pour illustrer les vulnérabilités découvertes. Ainsi, le triager pourra valider la sévérité des vulnérabilités, et ce n’est qu’ensuite qu’il établira une estimation du montant des récompenses qui devra dans la plupart des cas, être validée par le client.
Le fait que les récompenses soient payées seulement aux premiers qui découvrent la vulnérabilité et en fonction de la sévérité de cette dernière, challenge les hunters. En effet, le premier chercheur qui identifie une vulnérabilité est rémunéré, mais pas le second (qui trouve cette même vulnérabilité alors considérée comme doublon ou « duplicate »). L’entreprise intermédiaire, de par son expérience et son expertise, conseille également le client pour garder le programme dynamique et attractif tout au long de son cycle de vie. Ceci est notamment réalisé à travers l’ajout de hunters au programme, la demande d’ajout de cibles au périmètre, la fourniture de comptes applicatifs ou encore l’augmentation des primes. A la fin du processus, les correctifs appliqués permettront de corriger les failles détectées et le triager pourra alors demander aux hunters une dernière vérification pour tester la bonne implémentation de ces correctifs.
Lorsqu’il est managé, le bug bounty est généralement plus simple à mettre en place que le bug bounty classique, et aide grandement une entreprise qui désire déceler les vulnérabilités présentes dans ses systèmes. Il permet notamment d’être accompagné dans la création des programmes et le traitement des rapports. Si le bug bounty possède toujours quelques inconvénients, son management permet une réelle valeur ajoutée et un gain de temps pour l’entreprise. L’expertise et l’expérience des chercheurs couplés à celle des consultants est un duo gagnant dans la sécurisation de l’infrastructure d’une société faisant d’un programme de bug bounty un nouvel outil efficace dans l’arsenal du RSSI.