Un pentest (ou test d’intrusion) permet de mettre à l’épreuve la sécurité de tout système informatique (applications, serveurs, API, etc.) en externalisant les tests à une entreprise spécialisée en cybersécurité ou en les réalisant en interne. Les plateformes de bug bounty répondent au même objectif. En revanche, les audits de sécurité sont réalisés par des hackers indépendants qui s’inscrivent sur une plateforme en ligne.
À l’arrivée de ces plateformes en Europe, on pensait que le bug bounty ferait de l’ombre au pentest traditionnel. Nous observons aujourd’hui que ces projections étaient erronées car ces deux approches, certes différentes, coexistent et sont plus complémentaires qu’opposées.
Quelles sont les différences et spécificités de chaque approche ? En quoi le pentest et le bug bounty sont complémentaires ? Durée et coût des tests de sécurité, méthodologie, gestion des vulnérabilités, conseil avant-vente, suivi post audit de sécurité, [etc.] nous présentons dans cet article les critères à prendre en compte dans votre réflexion, pour choisir ou allier bug bounty et/ou pentest pour réaliser vos tests de sécurité.
Pentest ou bug bounty : durée, coût et méthodologie des tests de sécurité
La durée des tests
Un pentest est réalisé sur une durée définie pouvant aller de quelques jours à quelques semaines en fonction de la complexité fonctionnelle de la cible et/ou de l’objectif des tests de sécurité (obtention d’une certification, d’un rapport de test d’intrusion ou d’un executive summary pour conclure une vente, etc.). L’audit a donc un début et une fin, avec des dates planifiées et peut ensuite être renouvelé à intervalle régulier (un pentest par trimestre, par semestre ou par an) au rythme des nouvelles mises en production et autres évolutions fonctionnelles. Cela permet d’obtenir un feedback sécurité complet à un instant T.
Un programme de bug bounty est souvent lancé pour une durée indéterminée sur une cible spécifique. Cela permet de monitorer la cible en permanence avec des tests de sécurité réalisés en continu. Les hackers indépendants, vérifient ainsi les release et autres implémentations au fur et à mesure de leur mise en ligne. Certains 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).
Le coût des tests
Le coût des tests de sécurité est, pour beaucoup d’entreprises, une variable très importante dans le choix de l’approche. 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 identifiées et reportées. En principe, un large périmètre peut être couvert sans augmenter les coûts. Néanmoins, pour attirer des hackers indépendants expérimentés, prévoyez des rémunérations attractives car il existe une concurrence entre les programmes de bug bounty.
Le pentest offre lui l’avantage d’avoir un coût maîtrisé défini en amont, car le type et la criticité des failles découvertes n’influencent pas le coût du service. De même, le nombre de vulnérabilités identifiées n’influe pas sur 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 factures. 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 pentest peut être élevé lorsqu’il s’agit de couvrir un périmètre large et de réaliser des tests exhaustifs, car il faut provisionner une durée appropriée.
La méthodologie, le scoping et l’approche des tests
Réaliser un pentest revient à opter pour une approche structurée, respectant une méthodologie éprouvée. Cette dernière garantit que tout ce qui se trouve dans le périmètre est examiné, et ce avec la même rigueur. Elle permet d’évaluer tous les risques et d’explorer tout type de vulnérabilités (techniques et logiques), sans négliger un angle d’attaque.
Un programme de bug bounty offre une grande flexibilité au niveau du scoping des tests. Il est facile de le faire évoluer après le lancement de la campagne, en intégrant de nouvelles fonctionnalités et autres éléments à tester. À contrario, le périmètre d’un pentest est fixe à chaque session. Le faire évoluer nécessite de briefer les pentesters en charge de l’audit et de signer une nouvelle autorisation de tests, intégrant les nouvelles cibles.
Concernant l’approche des tests, le bug bounty comme le pentest sont adaptés pour des tests en boite noire et en boite grise d’applications web ou mobiles. Cependant, le pentest permet de tester une plus grande variété de cibles : réseau interne, ingénierie sociale, hardware d’un objet connecté, etc.
Pentest ou bug bounty : conseil, déroulement des tests et gestion des vulnérabilités identifiés
Avant un pentest, l’entreprise prestataire vous conseille sur le périmètre des tests et sur l’approche à adopter. Les tests sont souvent réalisés par une équipe de deux ou trois pentesters, ce qui permet de combiner les regards et les compétences, et surtout d’optimiser les phases de découverte et d’exploitation des vulnérabilités. L’accompagnement se poursuit à la remise du rapport et la présentation des résultats de l’audit, avec des échanges sur les risques inhérents à votre activité et sur la stratégie de pentest la plus adaptée et la plus pertinente pour votre organisation.
Le livrable remis suite à un pentest est un rapport technique détaillant toutes les vulnérabilités identifiées (avec chacune un niveau de criticité), les exploitations possibles ainsi que les recommandations de correction. De plus, la présentation des résultats de l’audit permet un échange direct entre l’entreprise cliente et les pentesters, ce qui facilite le transfert de connaissances. Enfin, il est possible de planifier une phase de test rapide afin de valider la bonne implémentation des corrections côté client.
Dans un programme de bug bounty, l’entreprise responsable de la plateforme vous accompagne également sur la définition du scope des tests, la fixation des rémunérations et la gestion des failles détectées. Dès le lancement de la campagne, de nombreux hackers se penchent sur un même scope. Il y a donc une plus grande variété d’approches et d’expériences représentées.
La gestion des vulnérabilités reste cependant l’un des principaux défis du bug bounty. Il y a toujours un risque de rapports dupliqués lorsque plusieurs hackers indépendants signalent une même faille. Cela implique la mise en œuvre d’un processus rapide, efficace et transparent permettant d’enregistrer et de traiter les vulnérabilités au fur et à mesure de leur signalement. Par ailleurs, les hackers indépendants sont généralement disponibles pour re-tester les failles corrigées, car leur rémunération dépend souvent de la clôture du rapport.
Pentest et bug bounty : des approches sécurité plus complémentaires qu’opposées
Au-delà de leurs spécificités, réaliser un pentest 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 pentest 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 sera plus approprié.
Toutes les solutions sont pertinentes. Cependant, attention, aucune de ces deux approches ne peut vous assurer un risque zéro en matière de cybersécurité. Si vous n’avez pas de contraintes budgétaires, nous vous conseillons d’allier les deux approches, avec par exemple des tests en boite noire en bug bounty et des tests en boite grise via un pentest (ou des cibles différentes pour chaque approche). Le risque sera toujours présent mais votre niveau de sécurité sera encore plus robuste. Si votre budget est limité, nous recommandons de réaliser un ou deux pentests par an pendant 2 à 3 ans. Cela vous permettra de facilement monter en compétences sur le sujet cybersécurité, grâce à un accompagnement « encadré » par un prestataire spécialisé. Vous pourrez ensuite lancer un programme de bug bounty pour des tests en continu.