Préparer son test d'intrusion : 7 décisions qui font la valeur du rapport
Objectif, périmètre, boîte noire ou grise, environnement, suivi dans le temps : nos retours
d'expérience clients pour tirer le maximum d'un test d'intrusion.
Par Arnaud Courty, responsable d'audit PASSI
8 min de lecture
Lundi matin, 9 heures. L'équipe d'auditeurs est prête à démarrer un test d'intrusion de cinq
jours. À 9 h 15, les comptes de test n'existent pas encore. À 14 heures, le pare-feu
applicatif bloque nos adresses IP. Le test commence réellement le mardi midi.
Un jour et demi perdu sur cinq, et ce n'est la faute de personne : le test n'avait
simplement pas été préparé.
Notre constat, mission après mission, est clair : la valeur d'un test d'intrusion se
joue en grande partie avant le premier jour. Voici les sept décisions qui font la
différence, illustrées par des missions récentes que nous avons menées pour nos clients.
1. Définir un objectif, pas seulement un périmètre
« Testez notre application » n'est pas un objectif. La première question que nous posons est
toujours : pourquoi faites-vous ce test ?
Chaque objectif oriente différemment la mission : exigence contractuelle d'un client,
certification (ISO 27001, HDS, référentiel Ségur), validation avant mise en production,
évaluation après incident. Le formaliser dès le départ évite de livrer un excellent rapport
qui ne répond pas à la bonne question.
2. Délimiter le périmètre avec précision
Le périmètre doit être défini sans ambiguïté : URL, adresses IP, API, applications mobiles,
environnements, fonctionnalités incluses et exclues.
Deux réflexes sont à adopter :
recenser toutes les instances, y compris les déclinaisons partenaires, marques blanches et sous-domaines ;
identifier les composants tiers (fournisseur d'identité, solution de paiement, hébergeur), que l'on ne peut pas tester sans l'accord de leur propriétaire.
3. Choisir entre boîte noire, grise et blanche
Approche
Informations fournies
Ce qu'elle simule
Boîte noire
Aucune, hormis la cible
Un attaquant externe sans accès
Boîte grise
Comptes utilisateurs, documentation
Un client malveillant, un compte compromis
Boîte blanche
Code source, architecture, accès administrateur
Une revue approfondie
Pour une application SaaS, la boîte grise est presque toujours indispensable : les
vulnérabilités les plus critiques se situent derrière l'authentification.
4. Préparer les comptes et les données de test
C'est la cause la plus fréquente de journées perdues. Il faut prévoir :
plusieurs comptes par profil (utilisateur, gestionnaire, administrateur) ;
au moins deux organisations clientes distinctes ;
des données de test réalistes, sans données personnelles réelles ;
une vérification des accès la veille du démarrage.
Le deuxième point est essentiel pour toute solution multi-clients. Dans la mission de
l'éditeur engagé dans une certification, l'API servait de nombreuses entreprises et
établissements publics depuis une même infrastructure. La question centrale était donc le
cloisonnement : un utilisateur d'un client peut-il, en modifiant une
requête, accéder aux données d'un autre ? Cette question ne peut être testée qu'avec au
moins deux comptes appartenant à deux organisations différentes.
5. Choisir l'environnement et anticiper les impacts
Tester en production ou en préproduction ? Nos missions récentes illustrent les deux cas.
Dans tous les cas, prévoyez une sauvegarde récente, la mise en liste blanche des adresses IP
des auditeurs si l'objectif n'est pas de tester le filtrage, et l'information de votre
hébergeur et de vos équipes d'exploitation.
6. Savoir quand un test d'intrusion ne suffit pas
Certaines situations demandent davantage qu'un test d'intrusion classique.
7. Prévoir le suivi dans le temps
Un test d'intrusion est une photographie. Le système, lui, évolue en permanence.
Au minimum, planifiez dès le départ :
une réunion de restitution avec les équipes techniques ;
le temps de correction dans le planning de développement ;
un contre-audit pour vérifier l'efficacité des corrections, souvent attendu par les clients et les auditeurs de certification.
La check-list à garder sous la main
Objectif du test formalisé (certification, client, mise en production, incident)
Périmètre précis, toutes instances et déclinaisons recensées
Composants tiers identifiés et exclus ou autorisés
Approche choisie (boîte noire, grise ou blanche)
Précédent rapport de test transmis aux auditeurs
Comptes de test vérifiés, sur plusieurs profils et plusieurs organisations
Environnement choisi et représentatif, sauvegarde réalisée
Adresses IP autorisées, hébergeur et équipes prévenus
Interlocuteur technique désigné et joignable
Restitution, corrections, contre-audit et suivi planifiés