La sécurité, c’est primordial, et vous êtes d’accord avec ça. D’ailleurs, vous voulez faire un 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 – Faut-il réaliser le test d’intrusion sur l’environnement de production ?
Réaliser un test d’intrusion sur l’environnement de production a un avantage certain : l’audit est effectué dans les conditions réelles d’utilisation de votre site web, 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 activité. Pour éviter tout risque, il est possible de réaliser le pentest en environnement « iso-prod », un environnement totalement identique à la production.
Réaliser 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 particulièrement 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. Elles peuvent contenir des informations techniques sur l’environnement de production, voire rediriger vers des éléments propres à la production.
2 – Réaliser un pentest avant la fin du développement du projet, est-ce 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 réaliser des tests d’intrusion au moins à chaque nouvelle version ou modification majeure de votre solution.
3 – Le test d’intrusion est-il réalisé sur la configuration des serveurs ou que sur le code ?
Un pentest met à l’épreuve votre application web, 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 – Des attaques DoS sont-elles réalisé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 réalisées, ou pas.
5 – Quelles technologies sont testées durant un test d’intrusion ?
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 cybersécurité) est un métier qui requiert de connaître plusieurs langages, afin justement de pouvoir les tester.
6 – Qui réalise les corrections des vulnérabilités trouvées suite à un pentest ?
Développeur et pentester 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 fournissant tous les détails nécessaires pour les reproduire et les exploiter. Ce rapport inclut 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.
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 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 il doit être perçu comme un investissement visant à éviter les dommages d’une vraie attaque, avec des dégâts parfois difficiles à chiffrer en termes de pertes financières, de données clients, de dégradation d’image, etc. 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.