Audit d'application mobile

Audit d'applications mobile Android et iOS

Les applications mobiles sont de plus en plus utilisées, en complément des applications web. De fait, elles sont également de plus en plus ciblées par les attaquants. Nous pouvons auditer vos applications mobiles Android et iOS, à la fois grâce à une analyse statique (rétro-ingénierie) et une analyse dynamique (test d'intrusion).

Un audit d'application mobile se découpe en deux phases.

  • L'analyse statique permet, dans un premier temps, d'auditer la sécurité de l'application en tant que telle. Nous procédons à une phase de rétro-ingénierie afin de comprendre le code de l'application, et étudier ses interactions avec le système. L'application n'a pas besoin d'être lancée ou utilisée pour cette phase : des outils nous permettent d'analyser son fonctionnement sans avoir à l'installer.
  • Dans un second tenmps, l'analyse dynamique consiste à exploiter les vulnérabilités que nous avons identifiées lors de l'analyse statique, mais aussi à découvrir de nouvelles vulnérabilités. Nous allons notamment étudier les échanges de données avec un éventuel serveur, puis tenter d'attaquer directement ce dernier, sans passer par l'application.

Le prérequis à cet audit est de pouvoir disposer du fichier d'installation .apk (Android) ou .ipa (iOS) de l'application. Nous pouvons également récupérer la dernière version de l'application sur le magasin d'application correspondant si vous le souhaitez.

audit de votre application mobile android ou ios

Une application mobile communique bien souvent avec un serveur pour échanger des données. Contrairement à une application web, qui est indépendante du navigateur au sein duquel elle fonctionne, une application mobile est conçue pour répondre à un besoin particulier. La grande différence entre le test d'intrusion web et l'audit d'application mobile se situe donc sur la phase de rétro-ingénierie et l’analyse du comportement de l’application mobile.

Top 10 OWASP des vulnérabilités dans les applications mobiles

Le TOP 10 de l'OWASP évalue périodiquement les vulnérabilités les plus courantes rencontrées. Voici le classement de 2016 pour les applications mobiles.

  1. Usage incorrect de la plateforme : erreurs ou l’absence d’utilisation de certains mécanismes propres à la plateforme mobile utilisée. L’utilisation du stockage local pour sauvegarder des données sensibles au lieu d’utiliser la "KeyChain" sur iOS en est un bon exemple.
  2. Stockage de données non sécurisé : tous les problèmes résultant en un manque de sécurité lors du stockage de données.
  3. Communications non sécurisées : toutes les situations où des données transitent vers et depuis l'extérieur sans être correctement chiffrées, indépendamment du protocole ou du canal de communication utilisé.
  4. Mauvaise gestion de l’authentification : similaire à l'audit d'application web, ce défaut survient lorsqu’un utilisateur est en mesure d'effectuer des actions sous l’identité d’un autre utilisateur.
  5. Cryptographie insuffisante : ce défaut survient principalement lorsque le protocole de chiffrement est mal implémenté, est obsolète, ou que la clé de chiffrement est placée dans le code source de l’application.
  6. Manque de contrôle d’accès : ce défaut provient d’un manque de vérifications lors de l’appel à des fonctions de l’API.
  7. Mauvaise qualité du code : les défauts identifiés lors de l’analyse du code de l’application se retrouvent dans cette catégorie, ainsi que le manque de documentation du code.
  8. Modification du code : certains mécanismes permettent de détecter si le code de l'application a été modifié, ce qui arrive notamment lors de la phase d'analyse statique.
  9. Rétro-ingénierie : ce défaut est signalé si le fichier de l'application fournit trop de données trop facilement, sans avoir cherché à se protéger des actions d'un attaquant.
  10. Fonctionnalités externes : concerne des fonctionnalités obsolètes ou des fonctionnalités de test, non visibles pour un utilisateur, mais encore présentes dans le code de l'application.

Principaux outils utilisés

Nous utilisons durant nos pentests Android et pentests iOS des outils principalement open-source, bénéficiant d'un haut niveau de qualité et d'une forte réputation auprès de la communauté cybersécurité. Nous pouvons citer de manière non exhaustive :

Nous aimons mettre en avant la transparence des actions réalisées sur votre infrastructure. Pour cela, vous trouverez en annexe de nos rapports la liste des outils qui ont été utilisés au cours de l'audit, ainsi que d'éventuels scripts que nous aurions pu développer pour un besoin spécifique.

Vous avez activé l'option "Do Not Track" dans votre navigateur, nous respectons ce choix et ne suivons pas votre visite.