Pentest ou Bug bounty

« Le bug bounty signe la fin des pentests » « Le bug bounty, la mort du test d’intrusion traditionnel »… Vous vous souvenez de ces titres d’articles ? Nous voyons aujourd’hui que ce n’est pas le cas et que les deux approches continuent d’exister.

Ces deux offres répondent au même besoin initial : mettre à l’épreuve les applications web et l’infrastructure d’une entreprise par des attaques réalistes. Quelles sont les différences de chacune des démarches ? Comment choisir entre un bug bounty et un test d’intrusion ?

Nous vous présentons neuf critères principaux à prendre en compte dans votre réflexion.

Pentest ou bug bounty : qu’est-ce que c’est ?

Les pentests et les programmes de bug bounty permettent de mettre à l’épreuve des plateformes web en simulant des attaques pour déceler des vulnérabilités et les corriger. Un pentest est une prestation effectuée par une équipe de consultants travaillant pour une entreprise spécialisée, tandis qu’un programme de bug bounty s’appuie sur des hackers indépendants rémunérés à la faille.

Ces deux approches existent dans une palette de variations et de nuances selon les offres et les prestataires. Nous vous présentons dans cet article les caractéristiques les plus communes de chaque démarche.

Pentest ou bug bounty : durée, coût et périmètre des tests de sécurité

Le prix du temps est plus complexe qu’il ne semble, ou : les éléments à prendre en compte

La question de la durée des tests

Un pentest est réalisé sur une durée définie (généralement durant quelques semaines par semestre ou par an). La durée du test d’intrusion est déterminée en fonction de la complexité fonctionnelle de la cible et du degré de profondeur souhaité pour les tests de sécurité. Il permet d’obtenir un feedback sécurité pour une date précise. Vous pouvez donc prévoir les pentests selon votre rythme de mise en production, afin d’évaluer votre sécurité et d’avoir une hiérarchisation des priorités de sécurité à intervalle régulier. 

Le bug bounty est souvent conduit tout au long de l’année, pendant une durée indéterminée. Les tests en continu assurent que le périmètre est surveillé en permanence. Les hackers indépendants (ou bug hunters) vérifient ainsi les nouvelles implémentations au fur et à mesure de leur mise en ligne. 

Certains chercheurs en sécurité peuvent dédier beaucoup de temps au projet, si celui-ci les intéresse particulièrement (pour des raisons de défi technique, de rémunération attractive ou s’il y a un intérêt personnel pour le sujet). 

L’argument du coût des tests

Le nerf de la sécurité, c’est l’argent. En apparence, le bug bounty est plus intéressant financièrement, car il n’y a pas de dépenses tant qu’il n’y a pas de failles reportées. Théoriquement, un large scope devrait pouvoir être couvert sans augmenter les coûts. Toutefois, pour attirer de bons chercheurs de vulnérabilités, prévoyez des rémunérations attractives, parce qu’il y a une concurrence entre les programmes de bug bounty pour faire venir les meilleurs hackers indépendants. De plus, il faut ajouter à cela le temps que votre équipe de sécurité consacrera pour gérer le programme (gestion des failles, échanges avec les chercheurs…).

Le pentest a l’avantage d’avoir un coût maîtrisé et défini en amont, car le type et le niveau de criticité des failles découvertes n’influencent pas le coût du service. De même, le nombre de vulnérabilités reportées ne multiplie pas le prix. Par exemple, des failles d’injections dans quatre endroits différents du périmètre testé ne donneront pas lieu à quatre rapports et quatre paiements distincts comme dans un programme de bug bounty. C’est pour cela que le bug bounty peut s’avérer risqué d’un point de vue financier.

Cependant, le coût d’un test d’intrusion peut s’avérer élevé lorsqu’il s’agit de couvrir un périmètre large et de réaliser des tests approfondis, car il faut provisionner une durée appropriée.

Le défi de la méthodologie, du périmètre et du type de cible

La méthodologie d’un test d’intrusion garantit que tout ce qui se trouve dans le périmètre est examiné, et avec la même rigueur. Il s’agit d’un audit de sécurité, reposant sur une approche structurée, et permettant de rechercher tous les types de vulnérabilités, sans négliger un angle d’attaque. Les failles de niveau ‘faible’ ou ‘information’ sont également remontées pour améliorer la sécurité globale.

L’approche d’un programme de bug bounty est différente puisque chaque chercheur est libre d’orienter ses recherches comme il le souhaite, sans contrainte de méthodologie ou de taux de couverture du périmètre.

Le périmètre d’un pentest est fixé pour chaque session. Il peut évoluer au fur et à mesure des sessions de tests pour intégrer de nouvelles fonctionnalités ou pour se concentrer sur des éléments sensibles. Les variations du scope donnent lieu à un briefing spécifique de l’équipe en charge des tests.

Un programme de bug bounty offre une grande flexibilité au niveau du scoping des tests. Le périmètre peut évoluer facilement, pour s’agrandir au fur et à mesure des releases et que l’entreprise devient mature sur plus d’éléments. 

Concernant l’approche des tests, les programmes de bug bounty sont parfaitement adaptés pour tester des cibles web, dans une démarche boite noire (black box). Certains programmes privés (plus restreints) permettent aussi de conduire des tests d’applications web en boite grise. Les tests d’intrusion sont parfaitement adaptés aux tests de cibles web en boite noire et en boite grise. Les pentests permettent également de tester une plus grande diversité de cibles : réseau interne de l’entreprise, ingénierie sociale, hardware, etc.

Pentest ou bug bounty : les compétences des experts en sécurité

L’expertise des hackers éthiques

Lors d’un bug bounty, de nombreuses personnes se penchent sur un même scope. Il y a donc une grande variété d’approches et d’expériences représentées. Les chercheurs de failles peuvent penser à des attaques différentes et détecter de nombreuses failles. Il existe une forme de concurrence entre les participants, qui sont indépendants et travaillent seuls. Les niveaux d’expérience et d’expertise des participants sont variables, mais il est possible d’établir un tri en sélectionnant uniquement des hackers éthiques dont le niveau a été validé par la plateforme de bug bounty.

Lors d’un pentest, les consultants travaillent seuls ou en équipe, selon l’organisation interne de l’entreprise ainsi que les spécificités du projet. De nombreux tests d’intrusion sont menés par des équipes de deux ou trois personnes, ce qui favorise une effervescence des idées, en plus de la complémentarité des compétences. De plus, une équipe de pentest capitalise sur l’expérience des autres pentests conduits par l’entreprise et rassemble des personnes dont le métier est de rechercher des vulnérabilités, ce qui permet de garantir une expertise avancée.

La responsabilité de l’entreprise

Une entreprise de pentest est responsable de la qualité des tests d’intrusion menés, sachant que sa réputation est sa meilleure carte de visite. Ceci passe par la méthodologie de travail, les moyens alloués à la veille et à la formation continue, autant que par les profils des auditeurs en sécurité. Une plateforme de bug bounty répond des chercheurs présents sur sa plateforme, ce qui repose sur un processus de validation de l’identité et des compétences des hackers éthiques.

Les entreprises de tests d’intrusion comme les plateformes de bug bounty se portent garantes de la confidentialité des données de leurs clients et de la responsabilité légale qu’implique une activité professionnelle dans le domaine du hacking.

Le test d’intrusion et le bug bounty constituent deux approches populaires pour les entreprises souhaitant prouver le niveau de sécurité d’une plateforme web auprès de tiers (prospects, partenaires, investisseurs). Historiquement, le pentest présente un avantage, car il est reconnu depuis plus longtemps et qu’il présente des aspects rassurants. L’approche méthodologique du pentest (qui est un audit de sécurité) permet de valoriser le type de tests ayant été conduits, au-delà des failles remontées.

Un rapport d’audit explicite sur les portions testées et les tests menés. Il permet une prise de recul sur le niveau de sécurité de la cible de l’audit et est un livrable qui pourra être communiqué à des tiers et entrer en compte pour l’obtention d’une certification comme ISO27001 ou SOC2.

Pentest ou bug bounty : Le management des tests de sécurité

La gestion des vulnérabilités détectées

La gestion des vulnérabilités détectées en temps réel est l’un des défis principaux du bug bounty. Il y a un risque d’avoir des rapports dupliqués, lorsque plusieurs chercheurs signalent une même faille avant qu’elle ne soit résolue. Si le processus d’enregistrement des vulnérabilités remontées n’est pas transparent, cela peut entraîner une frustration pour les hackers éthiques d’avoir passé du temps pour rien.

De même, il est important de donner de la visibilité sur l’avancement du traitement des vulnérabilités, de la prise en compte du rapport jusqu’au paiement de la rémunération, pour éviter une baisse de l’engagement des bug hunters. Les chercheurs indépendants apprécient de savoir à quelle étape vous en êtes. 

Pour l’équipe chargée de gérer les failles identifiées, cela induit une attente que les rapports soient étudiés rapidement, de la part des chercheurs comme en interne pour les corriger. Cela peut générer une « alert fatigue » (fatigue liée aux alertes constantes), qui peut conduire à mal estimer l’importance d’une vulnérabilité. Si des désaccords apparaissent sur le niveau de la gravité de la faille et donc sur le montant de la rémunération, les chercheurs peuvent se désintéresser du programme.

Lors d’un test d’intrusion, contrairement à l’idée parfois répandue, il est tout à fait possible de signaler en temps réel les vulnérabilités importantes, sans attendre le rapport final. Selon votre prestataire, vous pouvez demander à être alerté immédiatement lorsqu’une faille critique est découverte.

Le suivi des tests menés

Un test d’intrusion facilite la communication. En cas de souci (page indisponible, fonctionnalité qui ne marche pas), les pentesters prennent contact et échangent immédiatement avec vous. Si jamais un test a été un peu trop agressif, cela aide aussi à limiter rapidement les effets indésirables. 

Un autre avantage du pentest est que vous pouvez vous accorder avec votre prestataire sur les horaires de certains tests qui risquent de perturber votre activité (tests de déni de service par exemple).

Le bug bounty bénéficie de l’adaptabilité du lancement. Contrairement au test d’intrusion où les dates d’intervention sont fixées à l’avance, le démarrage des tests de bug bounty se décale aisément si votre équipe de développement a eu un contretemps.

Les plateformes de bug bounty proposent désormais souvent un VPN pour monitorer les activités des chercheurs en sécurité. Ainsi, comme lors d’un pentest, les adresses IP sont communiquées en amont et connues, ce qui permet de facilement suivre les tests et de les différencier d’attaques réelles. 

La phase de remédiation des failles trouvées

Une fois les vulnérabilités identifiées arrive l’étape de la remédiation. Un avantage du test d’intrusion est qu’il facilite la priorisation des failles découvertes, car elles sont toutes signalées au même moment et hiérarchisées dans le rapport d’audit de sécurité. Le niveau de criticité de chaque vulnérabilité est détaillé dans le rapport, de même que des recommandations précises de correction.
La restitution orale des résultats permet un échange efficace et direct entre les équipes techniques et les pentesters, source d’un transfert de connaissances et d’une montée en compétences de vos équipes.

Lors d’un pentest, la validation des corrections est une deuxième phase d’audit à planifier. Elle permet de confirmer que les remédiations fonctionnent et de s’assurer qu’elles n’ont pas créé d’effets de bords (c’est-à-dire provoqué des failles à d’autres endroits).

Nous avons évoqué la gestion des vulnérabilités dans les programmes de bug bounty. Pour ce qui concerne la correction des failles, les chercheurs sont généralement disponibles pour re-tester les failles corrigées, car leur rémunération dépend souvent que le rapport soit clôturé.

L’accompagnement et le conseil

L’entreprise prestataire de pentest conseille en amont sur le scope et sur l’approche, mais également en aval pour la suite à apporter. Un interlocuteur discute avec vous sur les risques spécifiques liés à votre activité, afin d’établir la stratégie de test d’intrusion la plus pertinente pour votre contexte.

Si le programme de bug bounty est managé, votre partenaire peut aussi vous conseiller sur le scope, le montant des paiements et sur la gestion des failles détectées, afin de faciliter le traitement et d’organiser les échanges avec les chercheurs.

Le niveau de l’accompagnement est à apprécier en fonction de l’entreprise elle-même (de test d’intrusion ou de bug bounty) et de l’interlocuteur qui sera à vos côtés. À noter tout de même que le pentest s’appliquant à un plus large choix de cibles (web, infrastructure, hardware, social engineering…), l’accompagnement pourra prendre en compte des problématiques de sécurité plus large. 

Pentest ou bug bounty : des avantages complémentaires

Comme vous venez de le lire, il y a différents points à considérer pour choisir entre un pentest et un programme de bug bounty. Au-delà de leurs spécificités, réaliser un test d’intrusion ou lancer une campagne de bug bounty répondent au même objectif : identifier les vulnérabilités d’une cible spécifique en réalisant des tests de sécurité. Chaque approche a ses avantages et ses inconvénients, et est adaptée à certains besoins et enjeux spécifiques. 

Si l’objectif est d’obtenir un livrable (rapport de pentest ou synthèse managériale) ou un certificat, pour conclure une vente ou rassurer des partenaires ou des investisseurs, un test d’intrusion sera plus adapté. De plus, réaliser un pentest est une condition nécessaire à l’obtention de certaines certifications, comme ISO 27001 ou SOC2. Si vous souhaitez réaliser des tests en continu afin de surveiller en permanence un périmètre spécifique, alors un programme de bug bounty est plus approprié. 

L’idéal consiste à combiner les deux approches : pentests réguliers, avec des tests en continu dans l’intervalle. En sécurité, le risque zéro n’est jamais atteint, mais toutes les solutions permettant de réduire le niveau de risques sont pertinentes. Le niveau de moyens à allouer aux tests sécurité dépend aussi du niveau de risques auquel l’entreprise est exposée.

Enfin, que vous ayez ou non un programme de bug bounty, il est recommandé de favoriser la divulgation responsable en mettant en place un moyen d’être contacté par des chercheurs en sécurité si jamais des failles sont découvertes sur votre solution. Il s’agit d’être joignable, par exemple en ayant une adresse mail comme security[at]company.com ou une page dédiée, afin de créer un cadre pour recueillir le signalement responsable de failles par des chercheurs.