Qu’elles soient mobiles, web ou lourdes, les applications sont désormais devenues incontournables pour utiliser des services en ligne. Chaque jour, des millions de consommateurs font confiance à celles-ci pour gérer leurs informations les plus sensibles.
Face au nombre d’attaques croissant et aux nouvelles législations (RGPD), les entreprises sont désormais contraintes d’implémenter les tests d’intrusion applicatifs comme partie intégrante du cycle de développement de leurs applications afin de protéger les informations sensibles de leurs utilisateurs.
Objectifs d’une prestation de test d’intrusion applicatif
Un test d’intrusion applicatif est un type d’évaluation conçu pour identifier et corriger les vulnérabilités des applications mobiles (Android et iOS), web ou lourdes, qui pourraient être exploitées par des pirates informatiques. Pour ce faire, les auditeurs (ou pentesters) simulent une cyber attaque sur les technologies de sa cible en utilisant les mêmes outils qu’un potentiel attaquant.
L’objectif principal de cet exercice est de permettre à une entreprise d’identifier ses failles afin de les corriger avant qu’elles ne soient utilisées à des fins malveillantes.
Les tests d’intrusion visent plusieurs objectifs :
- Identifier, illustrer et valider la présence de vulnérabilités en tentant de les exploiter réellement: l’exploitation effective d’une vulnérabilité permettant d’en constater l’impact technique direct (rebonds possibles, droits effectifs obtenus, journalisation, accès à des données sensibles, etc.) ;
- Détecter à contrario l’impossibilité d’exploitation des failles existantes liée à des spécificités qui ne seraient pas détectées lors d’un audit de configuration.
En complément d’un audit de configuration Cloud, ils permettent de découvrir des failles non visibles au seul moyen d’un audit de code ou de configuration.
- Détection d’un contrôle d’accès déficient lié à un bug d’implémentation ;
- Découverte de comptes de services actifs et masqués depuis l’interface d’administration, donc de facto indétectable par d’autres moyens ;
- Validation en situation des différentes entrées utilisateurs afin de détecter les mauvais traitements et complètent la démarche d’analyse du code source d’un applicatif dans une approche plus exhaustive et performante ;
- etc.
En complément d’un audit de code source d’un applicatif, ils permettent de valider en situation les différentes entrées utilisateurs afin de détecter les mauvais traitements dans une approche plus exhaustive et performante.
Méthodologie
Afin de réaliser leurs tests d’intrusion applicatifs, nos auditeurs utilisent des cadres méthodologiques reconnus comme l’OSSTMM, le Mobile Security Testing Guide ou le Web Security Testing Guide de l’OWASP, celui-ci étant un standard reconnu et éprouvé. Néanmoins, bien que ces méthodologies cadrent les différentes actions de l’auditeur, c’est le contexte qui va orienter l’enchaînement de ces actions.
Tests
Notre approche va au-delà d’une analyse classique et vous permet d’identifier des vulnérabilités complexes présentes dans les applications modernes.
Voici le détail de notre approche, divisée en trois types de tests distincts :
Tests Statiques
Revue du code source. Les applications mobiles laissent souvent la possibilité d’obtenir facilement le code source d’une application à partir de son exécutable. Les auditeurs utilisent cette technique pour récupérer et tester directement le code source de l’application mobile.
Revue des fichiers de configuration. Identification de données sensibles ou d’erreur de configuration : Divulgation d’URL d’API, informations d’identification, clés cryptographiques, mots de passe en clair, etc.
Tests Dynamiques
Interface utilisateur. L’interface utilisateur représente la surface d’attaque la plus accessible et la plus exposées. Des erreurs de conceptions de celle-ci peuvent avoir des impacts délétères sur votre business (abus de fonctionnalités, mauvaise compartimentation, etc.).
Systèmes de fichiers. À partir d’un appareil mobile « rooté », récupération des fichiers temporaires créés ou modifiés lors de l’utilisation de l’application.
Interception réseau. Position de Man-In-The-Middle pour interception réseau entre l’application et l’API, inventaire des appels disponibles, validation de la présence d’authentification pour les appels sensibles, mécanisme anti-pollution de bases de données, etc.
Validation des entrées. Injection de code malveillant, débordement de mémoire tampon, téléchargement de fichiers sans restriction, validation de la logique métier, divulgation d’erreurs, mauvaise gestion des sessions, etc.
Tests Serveurs
Serveurs web. Traversée de répertoire, failles d’injection, exposition de fichiers sensibles, exploitation d’une mauvaise configuration du serveur web, etc.
Services API/web. Exploitation des autorisations, IDOR, failles d’injection, contournement de la logique métier des API, exploitation d’une mauvaise configuration des API, etc.