Passer au contenu

Le test d’intrusion, une arme au service de la sécurité agile

Grégory Ricci-Coullet
29 décembre 2021

Le rythme des projets digitaux et les menaces qui les accompagnent nécessitent de prendre en compte la sécurité en amont des projets.

Le test d’intrusion (pentest) répond parfaitement à ce besoin en permettant d’évaluer la sécurité tout au long de la vie d’un Système d’Information en apportant des éléments concrets pour l’optimiser en fonction des risques.

Pour nombre de PME/TPE, le test d’intrusion (abrégé en pentest, pour penetration test) conserve parfois l’image d’une pratique marginale, réservée à quelques systèmes particulièrement sensibles. Pourtant, cet audit d’évaluation des vulnérabilités d’un programme, d’un équipement ou d’un système est une pratique parfaitement rodée pour la plupart des acteurs institutionnels et économiques, encadrée et, surtout, très bien adaptée aux enjeux de sécurité du digital. C’est ce qui explique qu’elle connaisse aujourd’hui un regain d’intérêt de la part d’entreprises de plus en plus matures et pragmatiques en matière de cybersécurité.

Pour suivre le rythme de l’innovation digitale et des attentes de leurs clients, les entreprises ont adopté des modes de développement agiles, qui produisent rapidement des applications et des systèmes à la fois modulaires et en évolution permanente. À chaque itération, on ajoute de nouvelles fonctionnalités, de nouveaux services ou de nouvelles connexions, par exemple un espace de stockage dans le cloud, un module de chat ou des capteurs connectés. Du point de vue de la sécurité, cela signifie que la surface d’attaque ne cesse de s’étendre et les vulnérabilités potentielles de se multiplier. Pour minimiser les coûts, et garantir la sécurité des solutions sans toutefois ralentir leur développement, il faut donc se préoccuper de la sécurité beaucoup plus tôt qu’on en a coutume et l’intégrer en amont des projets. C’est le principe dit du shift left, qu’illustrent notamment les approches de type Security by Design ou DevSecOps. Le pentest révèle tout son intérêt lorsqu’il est intégré à ces approches.

Lors d’un test d’intrusion, le consultant déploie toute son expertise pour tenter de compromettre le système qui lui est soumis, soit de l’extérieur, sans aucune information particulière (Black Box), soit de l’intérieur, en bénéficiant de connaissance, droits et accès de certains profils d’utilisateurs (Grey Box). Son examen va crescendo, des attaques les plus élémentaires aux plus sophistiquées. Mais son objectif n’est pas l’exploit technique. Ce qu’il cherche, c’est à évaluer la possibilité de certains scénarios et leurs impacts potentiels. Autrement dit, le pentest est une approche orientée risque, qui demande par conséquent une bonne perception des enjeux business et du contexte métier du système testé. Un pentester diffère d’un hacker dans son approche. Un pentester est un hacker qui effectue les tests en respectant les règles déterminées avec le client, la méthodologie et le formalisme attendus. Son rôle est d’accompagner son client en amont de l’audit, pour l’aider à bien définir la cible et les limites de son intervention, et en aval, pour en restituer les résultats d’une façon exploitable et suggérer des actions correctrices.

Des éléments concrets pour décider et agir

Dans le cadre de DevSecOps, cette approche permet de fournir très tôt des éléments concrets aux différents acteurs : aux responsables et propriétaires des projets, une estimation précise des risques, étayée par des preuves irréfutables, qui leur permet d’arbitrer et de prioriser les actions ; aux équipes de développement et d’exploitation, un détail des vulnérabilités et des indications sur les moyens d’y remédier ; aux partenaires (sous-traitants, par exemple) des points de vigilance à surveiller. En outre, c’est une démarche qui peut être réalisée de façon récurrente, au fil des itérations, en prenant chaque fois pour cible les nouveaux développements et leur environnement. Les campagnes de test d’intrusion, afin d’être pertinentes, nécessitent un investissement conséquent dans des actions correctrices immédiates. Pour en tirer tous les bénéfices, elles doivent être plus particulièrement attentives à trois facteurs qui conditionnent généralement la réussite de ces démarches :

1 – Débuter le plus en amont possible

Le test d’intrusion n’a pas vocation à vérifier a posteriori la robustesse des dispositifs de sécurité mises en place (en tous cas pas seulement), mais à donner au fil de l’eau des indications pour orienter et optimiser les développements en fonction des risques métier. Plus il est réalisé tôt, plus ses préconisations pourront être appliquées, et moins les coûts de la mise en sécurité seront élevés.

2 – Bien dimensionner l’intervention

Nonobstant les limites fixées par la loi (Godfrain sur la fraude informatique) et l’éthique (Respecter les limites du test), le pentesteur est assez libre de son action. Pour en maximiser les résultats et éviter d’éventuels dommages collatéraux, il est essentiel de bien en définir les limites – systèmes cibles, méthodes, outil… – en fonction des spécificités du contexte métier, technologique, juridique et de sécurité.

3 – Soigner la restitution

Une liste brute de vulnérabilités ou la description de scénarios d’intrusion ne sont guère utiles à l’entreprise. Le pentest doit se traduire par une mise en perspective des défauts de sécurité et des dommages qui peuvent en résulter, et donner lieu à des recommandations d’actions techniques, opérationnelles, organisationnelles et humaines. Ces recommandations doivent tenir compte de la capacité de l’entreprise à les mettre en oeuvre et leur coût sera lui aussi rapporté aux risques encourus. Le test d’intrusion n’est donc pas une démarche que l’on met en oeuvre pour le principe, ou même pour mettre à l’épreuve ses équipes et ses systèmes. Dans le contexte de la transformation digitale, et face à la recrudescence des attaques, c’est un outil tout entier au service du business car il permet d’accélérer la mise en sécurité des projets et des produits dans le cadre de démarches agiles.