Pentest Mobile

Qu’est-ce que c’est ?

Un test d’intrusion mobile, également connu sous le nom de “pentest mobile” , a pour but d’évaluer la sécurité d’une application mobile.

Étant donné la prolifération des applications mobiles et la sensibilité des données qu’elles traitent, le pentest mobile est devenu crucial pour identifier les vulnérabilités et renforcer la sécurité des applications contre les attaques potentielles.

Les tests d’intrusion mobile permettent d’évaluer la sécurité des éléments suivants :

Applications mobiles (Android, iOS, etc.)
Services back-end (bases de données, site web)
Interfaces de programmation d’applications (API)

En réalisant un pentest mobile, les organisations peuvent renforcer leur posture de sécurité et réduire les risques d’exploitation des vulnérabilités par des acteurs malveillants.

Pourquoi le pentest mobile est-il important ?

Chaque application peut contenir des vulnérabilités et impacter l’entreprise même s’il s’agit d’un produit qui semble détaché de l’infrastructure de l’entreprise.

En effet, les applications font régulièrement des appels API qui manipulent des données sensibles qui peuvent être envoyées en clair ou stockées en local de manière non sécurisée sur le smartphone des collaborateurs.

Contrairement à un site web par exemple, l’application est directement installée sur les appareils des clients. De ce fait, une compromission de cette application peut entraîner à la fois une fuite d’information et un impact sur l’entreprise mais également au niveau des collaborateurs qui l’utilisent.

Quand effectuer un pentest mobile ?

Il est recommandé d’effectuer un test d’intrusion mobile :

Avant la mise en production d’une nouvelle application mobile.
Pendant le cycle de vie de l’application. Certaines vulnérabilités jusqu’à présent encore inconnues peuvent être découvertes et impacter l’application mobile.

Méthogologie d’un pentest mobile

Nous nous basons principalement sur les recommandations faites par la fondation OWASP (Open Worldwide Application Security Project) lors de la réalisation de nos tests d’intrusion mobile.

Tous les ans, OWASP met à disposition les 10 failles mobiles les plus exploitées. Cela donne une idée de la tendance au niveau de la sécurité des applications mobiles.

Un pentest mobile peut s’effectuer de différentes façons en fonction du besoin client.

Test en black box

Il s’agit ici d’effectuer un test d’intrusion avec les mêmes informations qu’aurait un attaquant lors de l’attaque. La découverte des fonctionnalités et de l’environnement se fait principalement pendant le test durant la phase d’énumération.
C’est un bon moyen pour tester des scénarios réalistes venant de l’extérieur.
Cependant, l’analyse en profondeur du système peut être limité.

Test en white box

Dans ce type de test, l’auditeur possède toutes les informations nécessaires (documentation, accès à différents comptes, code source, etc) lors de la réalisation du pentest.
Cela permet d’offrir une vue plus complète et un champ d’action détaillé pour identifier au mieux les vulnérabilités présentes.
Il s’agit du test d’intrusion le plus complet mais aussi le plus complexe. Le coût de la prestation est également plus élevé.

Test en grey box

Il s’agit de la forme de pentest la plus répandue. C’est un mix entre un test en black box et un test en white box.
On va d’abord essayer d’identifier les failles depuis l’extérieur avec la vue d’un attaquant (black box) puis utiliser les informations à notre disposition (white box) pour effectuer le test plus en profondeur et englober le maximum de cas possibles.

Dans la plupart des cas, la personne en charge du pentest effectue un test en boîte grise.
C’est-à-dire qu’il dispose au départ uniquement du fichier de l’application (.apk) sur lequel il va effectuer le test.

Voici la liste plus ou moins exhaustive de ce qui est vérifié lors d’un pentest sur une application mobile :

Sécurité du stockage : Stockage des données sensibles de manière sécurisée.
Cryptographie : Utilisation d’une cryptographie moderne et forte.
Authentification et Autorisation : Authentification sécurisée et vérification des autorisations pour les ressources associées aux utilisateurs.
Communications réseau : Trafic réseau circule de manière sécurisé.
Interactions avec la plateforme : Interface utilisateur sécurisée, communications inter-process, vues sécurisées.
Qualité du code : Entrées utilisateurs validées, pas de mots de passe en clair.
Résilience de l’application : Protections en place pour éviter le reverse engineering.

Normalement, l’application est protégée avec différents mécanismes (comme le SSL Pinning). Dans ce cas, il peut être demandé au client de fournir un fichier d’application avec cette protection désactivée afin de garantir une rapidité et une exhaustivité supplémentaire lors du test.

Un pentest étant limité dans le temps, il est important d’évaluer la sécurité interne de l’application. En effet, un attaquant a du temps illimité et arrivera toujours à passer ces protections.

Vous souhaitez en savoir plus ou demander un devis gratuit ?