Test d’intrusion d’application mobile : qu’est-ce que c’est ? et comment ça marche ?

Test d'intrusion d'application mobile : qu'est-ce que c'est et comment ça marche ?Les applications mobiles étant de plus en plus utilisées dans tous les domaines d’activités, elles deviennent de plus en plus intéressantes pour les attaquants malveillants. Les applis mobiles ont donc besoin d’une sécurité solide, tout comme un site web. C’est pourquoi nous faisons des tests d’intrusion d’application mobile qui prennent en compte leurs spécificités.

 

Objectif d’un test d’intrusion d’application web ?

Renforcer la sécurité de votre application mobile et de son API/ webservice/ plateforme web.

 

Qu’est-ce que c’est ?

Test d’intrusion = une attaque potentielle réaliste de votre application mobile. Tous les éléments utilisés pour le fonctionnement de l’appli mobile sont testés :
– l’application elle-même,
– l’API (ou le webservice) utilisée pour échanger et fournir les données,
– et le serveur, hébergeant l’API.

Nos tests utilisent les méthodes et outils actuels de hackers malveillants. En d’autres mots, nous vous attaquons comme ils le feraient, afin de trouver des failles de sécurité (aussi appelées vulnérabilités).
Le but est que vous puissiez les corriger avant que des attaquants ne les utilisent contre vous.

Plus concrètement, nous essayons d’accéder à des documents, des réseaux, des services, etc. qui ne devraient pas être publics ou autorisés pour cette catégorie d’utilisateurs. Nous recherchons si des fonctionnalités peuvent être détournées de leur usage.

 

Comment cela marche-t-il ? Comment faisons-nous les pentests sur les applications mobiles ?

Prenons un instant pour rappeler comment fonctionne une application mobile.
Une appli mobile est un logiciel installé sur le téléphone. Lorsqu’une action est demandée par l’utilisateur, elle est transmise par l’application mobile à l’API (Application Programming Interface, ou interface de programmation applicative). L’API renvoie les données nécessaires à l’application mobile, qui construit ensuite les données dans une page lisible.

Durant les tests, nos pentesters (les experts en sécurité spécialisés en test d’intrusion) interceptent le trafic entre l’application mobile et l’API. Ils vérifient comment la requête est écrite, s’ils peuvent ajouter des éléments, modifier des champs, recevoir plus d’informations…

Leur but est de comprendre comment fonctionne l’application mobile pour ensuite essayer d’en manipuler son fonctionnement, afin de lui faire envoyer des réponses « anormales » (pas celles prévues).

Les réponses « anormales » intéressantes peuvent :

  • montrer des éléments de la base de données,
  • énumérer des documents,
  • révéler des informations techniques (comme les technologies et les versions utilisées),
  • contourner des restrictions (comme se connecter sans identifiant),
  • crasher le service,
  • rediriger les utilisateurs vers d’autres sites, potentiellement malveillants,
  • défigurer (ou defacing) des pages web (afin de dégrader l’image de l’entreprise),
  • etc.

 

Qu’est-ce qui est testé ?

Nos pentesters testent l’application mobile installée sur le téléphone ainsi que l’API utilisée par l’application mobile et le serveur sur lequel l’application est hébergée.

Pour l’application mobile, nous testons :

  • le stockage des données,
  • les communications réseaux (communication avec l’API),
  • les interactions avec la plateforme – identification locale,
  • les configurations de sécurité (signature, debug…),
  • le code source (qui est disponible avec l’application mobile).

 

Pour l’API et le serveur, nous testons :

  • toutes les fonctionnalités,
  • l’implémentation et l’utilisation de composants-tiers,
  • le serveur et ses différents services (web, mail, FTP, SSH…),
  • la configuration sécurité de chaque élément,
  • la politique de l’entreprise sur : les mises à jour, les méthodes de travail (process, comment le code est partagé, etc.).

Les tests d’intrusion peuvent se concentrer uniquement sur les éléments techniques ou bien inclure également de l’ingénierie sociale. Pour plus d’informations, cet article explique ce qu’est l’ingénierie sociale dans un audit de sécurité web.

 

Que se passe-t-il une fois le test d’intrusion fini ?

Les résultats des tests sont documentés. Nous détaillons précisément ce qui a été testé et ce qui a été trouvé. Les développeurs pourront ensuite s’en servir pour corriger les vulnérabilités trouvées.

Il s’agit principalement d’un rapport technique. Tout ce qui a été testé est listé, et il est détaillé :

  • quelles failles ont été trouvées,
  • où elles ont été trouvées,
  • le type de failles dont il s’agit,
  • en quoi elles sont problématiques, et comment des attaquants peuvent les utiliser,
  • comment elles ont été exploitées durant le test d’intrusion,
  • et des recommandations de corrections pour y remédier.

Les vulnérabilités sont évaluées en prenant en compte la probabilité et l’impact potentiel. Vous pouvez en lire plus sur l’évaluation des risques associés à chaque faille dans cet article.

 

Pour aller plus loin, nous avons détaillé trois éléments principaux de la sécurité des applications mobiles : les contrôles côté serveur, le stockage des données, et les échanges de données.

N’hésitez pas à nous contacter pour échanger sur votre situation particulière.