Les applications informatiques sont nombreuses au sein d’une entreprise. Qu’elles soient externes, comme des sites web accessibles au public ou des applications mobiles, ou internes, connectées au réseau de l’entreprise et accessibles seulement aux employés et aux prestataires, elles peuvent être vulnérables et devenir la cible d’une attaque informatique. Il est donc particulièrement important de ne pas omettre les pentests applicatifs dans la stratégie informatique de l’entreprise afin de s’assurer que l’on dispose d’un code clair, maintenable et sécurisé pour ces applications.
Découvrez, en complément, les différents types de tests d’intrusion.
Qu’est-ce qu’un test d’intrusion applicatif ?
Au sein de l’entreprise, une application, qu’il s’agisse d’un site web, d’une application plus classique de type client lourd ou d’une application mobile peut être complexe. Elle peut accéder à des bases de données contenant des informations sensibles, utiliser des API externes ou exposer ses propres services.
L’objectif d’un pentest applicatif est de rechercher des vulnérabilités et des failles de sécurité qu’un pirate pourrait exploiter via l’application lors d’une attaque informatique. Les risques de piratage ne doivent pas être négligés, même si l’on pense que l’entreprise est bien équipée en termes de cybersécurité. La robustesse de la forteresse protégeant l’entreprise contre les cyberattaques est conditionnée à son maillon le plus faible. Quel que soit le niveau de sécurité de votre système informatique, si vous négligez la sécurité d’une seule application, elle peut devenir une porte d’entrée pour un hacker, lui donnant potentiellement accès au reste de votre réseau et à vos informations confidentielles. Les pirates informatiques multiplient les outils et les attaques sont de plus en plus sophistiquées :
- email frauduleux,
- logiciel malveillant ou malware,
- virus,
- attaque par Ddos,
- cheval de Troie…
Les pirates sont très créatifs lorsqu’il s’agit de dérober des données.
Les tests peuvent être manuels et/ou automatisés. Les tests automatisés permettent de repérer les vulnérabilités liées à la logique de l’application et à d’éventuels défauts de conception. Les tests manuels, réalisés par un expert de la sécurité informatique, permettront de détecter tout ce que ne peut pas voir un outil automatisé, en tenant compte du contexte d’exécution de l’application. Typiquement, l’auditeur recherchera des moyens de contourner les autorisations ou d’obtenir plus de droits afin d’accéder à plus de fonctionnalités par exemple.
Qu’est-ce qui est testé sur une application ?
Pour commencer, toutes les fonctionnalités de l’application sont testées. Cela permet pour commencer de vérifier le comportement de l’application en utilisation normale, mais également de vérifier ce qui se passe lorsque l’utilisateur a un comportement imprévu. Que se passe-t-il si l’utilisateur ne respecte pas le processus décrit? Cela déclenche-t-il des erreurs, sont-elles correctement interceptées, gérées et archivées ou bien l’application va-t-elle « planter » en affichant un message technique, comprenant peut-être des informations utilisables par un hacker (versions du langage utilisé, du serveur ou de la base de données par exemple, ce qui permettrait d’identifier des vulnérabilités connues)?
Dans notre monde hyperconnecté, il est presque obligatoire qu’une application utilise des services ou des composants externes. Très peu d’informations sont désormais stockées localement par l’application. Les données sont décentralisées et transmises via différents réseaux, filaire, sans fil, mobile… Tous les composants et services extérieurs à l’application seront également testés car une faille de sécurité s’étendra nécessairement à l’ensemble de l’application. La manière dont sont échangées les données sera examinée. Des données non chiffrées, échangées « en clair » peuvent facilement être interceptées, vous vous exposez alors à un vol de données qui pourrait pourtant aisément être évité.
Si l’application est hébergée sur un serveur (serveur web mais aussi magasin d’applications mobiles), il sera bien entendu testé lui aussi, ainsi que tous les services et logiciels présents. Les accès web, FTP, SSH ou encore email seront vérifiés car mal configurés, ils peuvent également être une porte d’entrée vers le système d’information de l’entreprise. La configuration de sécurité de tous ces éléments sera donc testée. Les versions des différentes applications ainsi que la politique de mise à jour, de sauvegarde et de maintenance seront également examinées afin de proposer des corrections ou des ajustements si nécessaire.
Comment se déroule un pentest applicatif ?
Le test d’intrusion applicatif peut globalement se décomposer en deux grands volets, quel que soit le type d’application, web, client lourd ou mobile.
Le premier volet va consister à tester l’application en elle-même. Si le code source est accessible, on vérifiera s’il est bien écrit et s’il respecte les bonnes pratiques de développement, notamment en termes de sécurité informatique. Des outils d’analyse statique du code permettront d’effectuer automatiquement un certain nombre de tests. Les principales vulnérabilités pourront ainsi être repérées et corrigées. Si le code source n’est pas accessible, et quoi qu’il arrive, les fonctionnalités seront testées et le pentester vérifiera si l’accès aux commandes les plus sensibles est correctement protégé contre les différents types d’attaque.
Le second volet concerne quant à lui les données échangées entre l’application et le système d’information de l’entreprise. Ces données étant susceptibles de voyager sur différents réseaux, suivant si l’utilisateur se trouve à l’intérieur ou à l’extérieur de l’entreprise, il est indispensable de s’assurer qu’elles ne puissent pas être interceptées et exploitées par un cybercriminel.
Suivant le protocole de communication utilisé, il sera plus ou moins difficile pour un pirate d’accéder aux données de l’application. En mode web (beaucoup utilisé également par les applications mobiles), il est très facile pour les pentesters d’intercepter les communications sur le réseau informatique entre l’application et le serveur web, les deux ne s’échangeant finalement que du texte. Il est alors possible de regarder comment la requête http est construite et de voir quelles informations sont envoyées puis lesquelles sont reçues en retour. Une fois le format d’échange identifié, l’auditeur va vérifier s’il est possible de falsifier les informations et essayer de se faire passer pour un utilisateur authentifié. Si les données échangées ne sont pas protégées, chiffrées, elles pourront être lues et utilisées. Si les données sont chiffrées, il sera plus complexe pour un cybercriminel de les exploiter. Une bonne solution est d’utiliser un VPN (réseau privé virtuel) auquel il faudra être identifié comme utilisateur légal pour y accéder et sur lequel l’ensemble des échanges sera chiffré.
Que faire après le test d’intrusion ?
Une fois l’ensemble des tests applicatifs passés, un rapport détaillé est rédigé. Les failles de sécurité identifiées sont décrites, ainsi que les méthodes employées pour les détecter, la façon de reproduire le test et bien sûr, le ou les moyens de corriger les vulnérabilités.
A partir de ce rapport et des conseils des experts en cybersécurité, il sera possible à l’entreprise de construire un plan d’action afin de prioriser les corrections à apporter à l’application, mais aussi aux composants qu’elle utilise.
Vous pourriez également être intéressé par les articles suivants :
Le Pentest web, qu’est-ce que c’est ?
Les organisations ou entreprises, face aux cyberattaques, ont mis en place de nombreuses politiques de sécurité web pour se protéger contre les attaques de pirates.
Pentest d’ingénierie sociale
On dit souvent en parlant de la sécurité que la principale faiblesse vient de l’être humain. Cela est vrai également lorsqu’il s’agit de sécurité informatique.
Pentest Internet des objets – Test d’intrusion IoT
Les entreprises sont conscientes de l’importance de la sécurité de leur système d’information et investissent pour l’améliorer, notamment à l’aide de différents types de tests
Test d’intrusion environnement Cloud
Amazon Web Service (AWS), Microsoft Azure et Google Cloud sont sans doute les plus connus. Les offres d’hébergement cloud sont désormais suffisamment matures pour que
Test d’intrusion Réseau Externe
Les entreprises sont très exposées via les outils numériques. Pour exister, il faut être vu et les sites web ainsi que les nombreux réseaux sociaux
Test d’intrusion Réseau Interne
Lorsque l’on pense « sécurité informatique » et cyberattaque, on a souvent l’image du pirate qui opère depuis un lieu tenu secret. Mais le risque
Test d’intrusion Réseau Sans Fil – Wifi
Si beaucoup d’immeubles sont câblés et disposent d’un réseau filaire efficace, les points d’accès Wifi se multiplient malgré tout en entreprise. Pratique, facile à installer