pentest pour startups

Pour de nombreuses startups, la cybersécurité et le pentest en particulier sont des sujets à traiter en raison des demandes de leurs clients ou de leurs investisseurs. 

Certaines startups ont une approche security by design et des process intégrants des tests de sécurité dans le cycle de développement logiciel. D’autres startups sont moins matures sur le sujet, car elles n’ont pas d’expertise sécurité en interne, et se posent des questions lorsqu’il devient nécessaire de réaliser un premier pentest

Notre expertise en pentest et notre expérience auprès de très nombreuses startups (de early stage à série C ou plus) nous permettent de vous conseiller sur une approche adaptée à vos objectifs et à votre stade de développement.

Demandes de sécurité et de pentest exprimées par les clients des startups

Grands-comptes vs. PME

Selon le profil de clients des startups, les exigences de sécurité ne sont pas les mêmes. Pour les startups qui vendent des solutions digitales à des grands-comptes, la sécurité est un élément incontournable. Les systèmes d’information des grands comptes se doivent d’être conformes aux normes de cybersécurité (ISO27001 notamment). Cela implique de sélectionner des solutions tierces qui apportent des garanties de sécurité. Pour de nombreuses startups, cela signifie que le client peut demander qu’on lui fournisse un rapport de pentest ou d’autres documents (PSSI, plan de réponse à incident…) au cours du processus d’achat de la solution.

Pour les startups qui vendent leur solution uniquement à des TPE et PME, les exigences de sécurité sont généralement moins élevées. Si les clients sont peu matures sur le sujet et ne font pas d’audit de sécurité pour eux-mêmes, il est peu probable qu’ils exigent un rapport de pentest de la part d’un prestataire. Mais ce constat est amené à évoluer au fur et à mesure du renforcement du niveau de sécurité des petites entreprises. On constate par exemple que des startups, qui formalisent une politique de sécurité et mettent en place des audits réguliers pour répondre aux demandes de leurs clients, se montrent ensuite plus exigeantes envers leurs prestataires sur les questions de sécurité. 

Pour les startups qui proposent des services essentiellement BtoC ou CtoC, il n’y a pas à proprement parler d’exigence sécurité au cours du processus d’achat. Cependant, en fonction du service proposé et du type de données manipulées par la solution, le fait de présenter des garanties de sécurité et surtout d’éviter les incidents permet de renforcer la confiance des utilisateurs et peut les orienter vers le choix d’une plateforme au détriment d’une autre.

Pentest, politiques de sécurité, plan de réponse à incident…

Les demandes de sécurité exprimées par les clients des startups peuvent concerner différents types de livrables à fournir : analyse de risque, rapport d’audit de sécurité, PSSI, plan de réponse à incident… Sans compter les questionnaires déclaratifs à remplir.

Certaines demandes peuvent dérouter surtout lorsqu’il s’agit d’une première demande de ce type-là. D’un client grand-compte à un autre client grand-compte, les documents à produire ne sont pas les mêmes et les exigences de sécurité ne sont pas focalisées sur les mêmes aspects.

Être certifié ISO27001 ou SOC2 permet de répondre de fait à de multiples questions et d’attester de la mise en place de protections en se basant sur des standards. À défaut de passer ces certifications, avoir formalisé un document de PSSI contribue à montrer que différents sujets sont bien traités en interne. Par ailleurs, partager des rapports d’audits de sécurité sur les périmètres qui intéressent les clients (à minima la solution évaluée dans le cadre d’un processus d’achat, voire plus largement les systèmes informatiques de l’éditeur de solution potentiellement exposés à des attaques) montre concrètement que le niveau de sécurité a été évalué par un tiers et d’attester de la résolution des problèmes de sécurité ayant pu être identifiés.

Le pentest adapté aux startups

Prestation de pentest et livrables

Le pentest s’adapte aux objectifs de sécurité et au périmètre devant être objet de l’analyse. Si les clients finaux se focalisent avant tout sur la protection de leurs données, on pourra tester en priorité les possibilités d’accès à une solution en ligne depuis l’extérieur. S’il s’agit d’une solution SaaS (multi-tenant), on testera également en priorité les possibilités d’accès à un compte client via un autre compte client. Si l’intégrité du parcours client est un enjeu de taille, on testera en priorité l’intégralité du parcours client, pour rechercher des vulnérabilités techniques et logiques. Si la continuité de services est essentielle, on inclura des tests DoS dans le pentest. Etc.

Les livrables s’adaptent également aux objectifs finaux. En plus du rapport technique, qui est le livrable de base où chaque vulnérabilité identifiée ainsi que les correctifs techniques à implémenter sont décrits, il est possible d’obtenir différents livrables plus orientés à des fins de communication :

  • rapport de contre-audit attestant de la correction des vulnérabilités, 
  • synthèse non technique à destination du management ou des partenaires externes, 
  • certificat d’audit de sécurité ou sceau de sécurité permettant une communication générale sans divulguer de détails sur le pentest ayant été réalisé.

Adapter le pentest au rythme de mise en production

Le pentest peut être réalisé avec une fréquence régulière. Faire des pentests réguliers peut répondre à plusieurs objectifs : tester progressivement le périmètre (faire plusieurs « petits » pentests étalés dans la durée, plutôt qu’un « gros » pentest ponctuellement), tester les correctifs implémentés suite aux précédentes sessions de pentest, et tester les nouveaux développements au fur et à mesure de leur mise en production.

Pour une startup ayant développé un produit (web / mobile / IoT), tester régulièrement les nouveaux développements représente un enjeu de taille pour assurer la sécurité du produit. Il est fréquent de s’interroger sur la bonne fréquence des pentest : chaque année ? chaque semestre ? chaque trimestre ? chaque mois ?

La bonne réponse dépend de plusieurs facteurs : le niveau de criticité de la cible (ou le niveau d’exigence des clients finaux), le rythme de mises en production et la capacité de l’équipe technique à intégrer au fur et à mesure le feedback sécurité. Pour la plupart des startups, le bon équilibre se situe entre un pentest par semestre et un pentest par trimestre (donc 2 à 4 sessions de pentest par an). Dans le cas d’une solution particulièrement critique (par ex. : moyens de paiement), le rythme d’un pentest par mois pourra être retenu. Dans ce cas, les tests sont plus courts et se focalisent sur les dernières modifications afin de prévenir toute possibilité de trous dans la raquette.

Dans certains cas, le rythme d’un seul pentest par an est retenu. Il s’agit alors d’un pentest très complet permettant de tester une nouvelle version de la solution en s’intéressant à l’intégralité des fonctionnalités et de façon approfondie. Cela correspond à des startups relativement autonomes sur le sujet de la sécurité et dont les clients finaux n’exigent pas de voir des rapports très récents.

Adapter le pentest à un niveau croissant d’exposition aux risques

Bien que les risques cyber concernent tout le monde et que le risque zéro n’existe pas, il existe tout de même différents niveaux d’exposition aux risques. Par exemple, une startup éditrice de moyens de paiement en ligne ou d’une plateforme de crypto-monnaies, présentent des cibles plus critiques qu’une startup permettant des services entre particuliers. 

Mais le niveau d’exposition aux risques ne dépend pas uniquement du cœur de métier. Une startup ayant levé plusieurs millions d’euros va augmenter sa visibilité médiatique et se mettre dans une dynamique d’augmenter ses parts de marché, ce qui augmente aussi les risques cyber. L’acquisition de premiers clients ou partenaires de type grand-compte va augmenter les exigences de cybersécurité. Par ailleurs, au fur et à mesure de leur développement, de nombreuses startups sont amenées à développer de nouveaux services ou de nouveaux produits, donc à étendre leur portfolio et leur surface d’attaque. Quant à l’augmentation du nombre de collaborateurs, elle entraine plus de complexité organisationnelle, donc un besoin accru de processus et de contrôle de sécurité, et davantage de risques d’attaques par social engineering.

Il est nécessaire de tenir compte du stade de développement et du niveau d’exposition aux risques afin de mettre en place une stratégie de pentest adaptée aux réalités des startups. Contrairement à une idée encore répandue, il est possible pour une très jeune startup de commencer à faire du pentest sur un périmètre réduit avec un tout petit budget. Intégrer un premier feedback sécurité via un mini pentest donnera l’occasion à une startup en démarrage de s’assurer de la solidité de ses bases et de rectifier rapidement certains choix techniques si cela est nécessaire. Ensuite, le pentest peut s’envisager de façon incrémentale au fur et à mesure des sessions : tests un peu plus approfondis sur certaines fonctionnalités particulièrement sensibles, puis tests de plus en plus complets sur un scope technique, puis tests intégrant des attaques par ingénierie sociale, puis revue approfondie de l’infrastructure cloud… Fonctionner ainsi permet d’accompagner progressivement une startup sur ses problématiques concrètes de sécurité, en adaptant les tests aux enjeux prioritaires et au budget.

Budget de pentest

Avec Vaadata, le budget d’un pentest peut varier de 750 € à 30 000 €. Entre ces deux extrêmes, il existe quasiment une infinité de nuances. Pour une startup, le budget d’un pentest se situe souvent entre 3500 € et 10 000 €. 

Cette moyenne tient compte de startups dans différents secteurs, avec différents niveaux d’exigence de sécurité et différents niveaux de complexité fonctionnelle et technique du produit. Notre point de vue est qu’il est toujours possible de s’adapter au budget d’un client, sachant que dans certains cas les contraintes de budget amèneront à revoir le périmètre et/ou le niveau de profondeur du pentest, et qu’il sera possible de fonctionner par étapes pour étaler les tests et donc les dépenses de sécurité.

Tests complémentaires : scan de vulnérabilités, bug bounties…

Les scans de vulnérabilité (recherches automatiques) et les plateformes de bug bounty (crowdsourcing) apportent des solutions complémentaires au pentest. Dans l’intervalle entre deux sessions de pentest, ces solutions assurent des tests en continu, mais elles répondent chacune à des besoins différents.

Pour des tests sécurité sur un gros portfolio ou sur un gros volume de cibles, les scans de vulnérabilité sont une solution adaptée. Ils contribuent à un premier niveau de test sur un périmètre très large, en complément de tests d’intrusion réguliers sur les cibles les plus critiques ou/et les plus représentatives techniquement. Lorsque le volume de cibles est plus restreint, les scans de vulnérabilité peuvent aussi constituer une première étape pour « dégrossir » le travail avant un test d’intrusion et pour internaliser un premier niveau de test de sécurité. Mais il faut avoir en tête que manipuler ces outils demande du temps et des compétences, tandis que le pentest pourra aussi remonter des failles de premier niveau (en plus des failles complexes) sans que cela engendre un coût supplémentaire.

Pour des tests sécurité sur une cible critique et exposée sur internet, le bug bounty est une solution intéressante. Cela va permettre de rechercher des failles rares sans contrainte de temps, puisque certains chercheurs accepteront de passer énormément de temps à creuser une piste en l’échange d’une perspective de prime attractive (attribuée uniquement si une faille est finalement identifiée). Ceci sera complémentaire de tests d’intrusion réguliers qui couvrent un périmètre de façon méthodique et complète.

Choix des prestataires sécurité et pentest pour une startup

Approche globale ou spécialisation

Lors du choix d’un prestataire en sécurité, se pose la question de choisir une entreprise proposant une palette complète de service en cybersécurité ou une entreprise hyper-spécialisée. Dans un cas, l’avantage sera d’avoir un point d’entrée unique pour différents types de prestations. Dans l’autre cas, l’avantage sera de privilégier une très forte expertise sur un métier en particulier (comme le pentest). 

Chez Vaadata, nous croyons à l’hyper-spécialisation pour assurer un niveau maximum d’efficacité sur les tests d’intrusion. Sachant qu’il est possible de travailler avec différentes entreprises partenaires pour faciliter les échanges et d’avoir un interlocuteur principal pour assurer une vision d’ensemble sur les différents sujets sécurité.

Expérience auprès de startups et capacité à adapter le service

Cet aspect est essentiel pour les prestations de service en cybersécurité. En effet, les risques ne sont pas du tout les mêmes pour une startup en phase de démarrage et pour une entreprise mature de 500 personnes. Le niveau de risque dépend aussi du cœur de métier, et du contexte technique, mais de manière générale les startups ont besoin d’interlocuteurs capables de s’adapter à leurs contraintes et à leur budget.

Il y a aussi une notion de pragmatisme pour accompagner de jeunes entreprises sur les sujets de cybersécurité. Certaines prestations permettent d’obtenir rapidement un feedback concret et de corriger un premier niveau de vulnérabilités. D’autres prestations correspondent à une démarche de prise en compte des risques plus globale donc potentiellement plus longue et plus coûteuse. Il est intéressant que le prestataire puisse proposer un mode de fonctionnement par itérations. Par exemple, il est possible pour du pentest de commencer par des tests rapides sur le périmètre le plus exposé, puis rajouter progressivement des tests plus en profondeur et/ou sur un périmètre plus étendu. Cela peut se faire en une série d’étapes étalées sur plusieurs années, en fonction du rythme de développement de la startup et de la croissance de ses enjeux de sécurité.

Internalisation et outils adaptés

Certaines tâches de cybersécurité peuvent être internalisées, en fonction du temps et des compétences disponibles dans l’équipe de la startup.

Les missions les plus fréquemment internalisées dans les startups sont celle de DPO et celle de RSSI qui viennent se cumuler avec d’autres fonctions. Ainsi la mission de RSSI revient souvent au CTO ou au CIO qui se charge d’une vision d’ensemble sur les systèmes informatiques y compris la sécurité. D’un point de vue opérationnel, cela revient à traiter les questions de sécurité en s’appuyant sur différents prestataires pour prévenir les incidents et répondre aux exigences des partenaires.

Il arrive parfois que les startups internalisent un premier niveau de compétences techniques en sécurité, avec par exemple un développeur expérimenté capable de conduire un 1er niveau de tests en s’appuyant sur différents outils. Cela présente l’avantage de défricher le terrain avant de faire conduire des pentests par un tiers spécialisé et d’obtenir des rapports plus positifs à partager avec les clients et partenaires de la startup. Cela permet aussi au prestataire spécialisé de se concentrer sur la recherche de failles complexes et donc sur sa réelle valeur ajoutée.

Priorisation des actions

Pour les startups et de manière plus générale pour les éditeurs de solutions, les priorités de sécurité sont généralement décidées en fonction des clients et des contraintes du marché.

Cependant, après avoir répondu à des exigences commerciales urgentes, comme pouvoir montrer rapidement un rapport d’audit à un prospect pour débloquer une situation, il est important de prendre le temps d’avoir une vision plus globale. Ainsi, certains problèmes soulevés par un audit de sécurité nécessitent des changements impactants dans les pratiques de développement. Le résultat d’un audit peut servir de base pour établir une roadmap de sécurité technique. 

Par ailleurs, préparer une certification de sécurité permettra d’établir clairement des priorités en identifiant les points faibles de l’entreprise et les actions à mettre en place à court, moyen et long terme.