7 questions à se poser avant de faire un test d’intrusion

La sécurité, c’est primordial, et vous êtes d’accord avec ça. D’ailleurs, vous voulez faire un Pentest - code, failles, corrections, langages, serveurs, développement...test d’intrusion (ou pentest) sur votre solution d’ici peu… Voici 7 questions pour vous aider à obtenir le meilleur d’un test d’intrusion.

 

1 – Il vaut mieux tester la production ou la pré-production ?

Mener un test d’intrusion sur l’environnement de production a un avantage certain : être effectué dans les conditions réelles d’utilisation de votre site/application web/API/…  avec les dernières évolutions mises en place.

Toutefois, tester l’environnement de production peut dans certains cas rares interférer avec le fonctionnement normal de votre business. Pour éviter tout risque, il est possible de réaliser le pentest en environnement iso-prod, un environnement totalement identique à la production.

Conduire un pentest sur l’environnement de pré-production est également intéressant, car il est très semblable à l’environnement final. Les tests ne toucheront pas les services utilisés par vos utilisateurs/clients. Cela est en particulier approprié pour les infrastructures critiques où l’intégrité des données ou du système est indispensable.

Enfin, l’important est de tester la globalité de votre environnement en ligne, car certains environnements autres que la production sont accessibles depuis internet. Or, ces plateformes peuvent être vulnérables, que ce soit en donnant des informations techniques sur l’environnement de production, en redirigeant vers des éléments propres à la production ou encore à cause de failles dues à une mauvaise configuration.

 

2 – Faire un pentest avant la fin du développement du projet, c’est utile ?

Vouloir faire un test d’intrusion durant le développement d’une application web permet d’avoir un premier retour. Corriger les vulnérabilités en « early stage » est souvent plus facile et coûte moins de temps (et donc d’argent) que lorsque le service est déployé. Un premier pentest permet au projet de continuer à se développer sur une base saine et dans la bonne direction.

De plus, avec l’évolution constante des fonctionnalités, on peut difficilement dire qu’un projet est « fini ». Il y aura toujours des mises à jour ou patchs à installer, des ajouts de fonctionnalités, des évolutions dans les technologies de développement, etc.
Il est conseillé de conduire des tests d’intrusion au moins à chaque nouvelle version ou modification majeure de votre solution.

 

3 – Le test d’intrusion est-il mené sur la configuration des serveurs ou que sur le code ?

Un pentest met à l’épreuve votre application web (PC ou mobile), la configuration du serveur, les webservices, l’API, et plus généralement tous les services accessibles depuis internet.

Selon vos besoins spécifiques, un périmètre de test (ou scope) est défini avec votre prestataire.
Chez Vaadata, nous sommes spécialisés dans la couche applicative, là où se logent le plus de menaces potentielles à l’heure actuelle. Nous testons également la configuration des serveurs.

 

4 – Est-ce que des attaques DoS sont menées pendant un pentest ?  

Oui, mais pas le vendredi (politique interne Vaadata 😉 )

Plus sérieusement, il est tout à fait possible techniquement de tester la résistance à une attaque par déni de service (DoS) lors d’un pentest. Selon votre demande et vos besoins, des attaques DoS seront menées, ou pas.

 

5 – Quelles technologies sont testées ?

PHP, Java, Ruby, Python, C#, NodeJS… Les langages sont différents, mais les vulnérabilités logiques se retrouvent partout. Les failles logiques sont liées à conception de l’application web, indépendamment de la technologie utilisée. Par exemple, des problèmes de contrôle de droits ou des failles XSS (cross-site scripting) peuvent être présents avec toutes les technologies de développement.

Concernant les vulnérabilités spécifiques à un framework ou langage (Injection MySQL ; Injection MongoDB…), être pentester (consultant en sécurité) est un métier qui inclue de connaître plusieurs langages, afin justement de pouvoir les tester.

 

6 – Qui réalise les corrections des vulnérabilités trouvées ?

Développeur et pentesteur sont deux métiers différents. Lorsqu’un test d’intrusion est réalisé, les failles trouvées sont documentées par les pentesters dans un rapport (où les failles ont été trouvées, comment elles peuvent être exploitées…). Ce rapport inclue des recommandations pour corriger les vulnérabilités, mais les pentesters ne font pas les corrections eux-mêmes.

En effet, les développeurs connaissent déjà le projet. Ils seront donc plus rapides et plus efficaces pour réaliser les corrections nécessaires que si un pentester extérieur doit s’imprégner du projet (et de l’environnement de développement), comprendre les logiques utilisées, etc.

 

7 – Les corrections sont-elles vérifiées ?

Il est intéressant vérifier que les correctifs mis en place soient bien complets et corrects pour chaque vulnérabilité. Une vérification permet de plus de contrôler que les correctifs n’ont pas eu d’effets de bord, c’est-à-dire des répercussions négatives en créant de nouvelles vulnérabilités.
Vaadata propose cette vérification de corrections.

Un pentest a certes un coût, mais à voir comme un investissement visant à éviter les dommages d’une vraie attaque, avec des dégâts parfois difficiles à chiffrer en termes de pertes de données clients, de dégradation d’image, de baisse de référencement …
Un test d’intrusion est un composant d’une stratégie de sécurité globale. Cette stratégie doit être pensée et planifiée en fonction de chaque situation.