Prise en charge de l'OWASP Mobile Application Verification Standard
Le Mobile Application Security Verification Standard est une étape importante vers la création d'applications mobiles sécurisées. Ostorlab prend désormais en charge la génération de rapports de conformité pour les niveaux L1, L2 et Resilience.

Le Mobile Application Security Verification Standard (MASVS) est un projet OWASP issu de l'excellent travail de Carlos Holguera (@grepharder) et de Sven Schleier (@bsd_daemon), généreusement soutenu par NowSecure.
MASVS sert de standard de sécurité des applications mobiles que les développeurs et les ingénieurs logiciels mobiles peuvent utiliser pour sécuriser leurs applications.
Les testeurs de sécurité peuvent aussi s'appuyer sur ce standard pour vérifier la cohérence et l'exhaustivité des résultats de test.
Grâce à ces objectifs, MASVS peut fournir une base de référence et un niveau de confiance dans la sécurité d'une application mobile.
Niveaux de sécurité OWASP
MASVS définit trois niveaux de conformité : L1, L2 et Resilience.
OWASP L1 : sécurité standard
L1 est la base de référence des tests de sécurité mobile pour toutes les applications mobiles. Il répertorie les bonnes pratiques de sécurité applicables avec un impact raisonnable sur le coût de développement et l'expérience utilisateur. Toutes les applications doivent appliquer les exigences de MASVS-L1, quelle que soit l'application.
OWASP L2 : défense en profondeur
MASVS-L2 introduit des contrôles de sécurité avancés qui vont au-delà des exigences standard. Pour satisfaire MASVS-L2, un modèle de menace doit exister, et la sécurité doit faire partie intégrante de l'architecture et de la conception de l'application. Sur la base du modèle de menace, les bons contrôles MASVS-L2 peuvent être sélectionnés et mis en œuvre avec succès. Ce niveau convient aux applications qui traitent des données très sensibles, comme les applications de banque mobile.
OWASP Resilience : résistance à la rétro-ingénierie et à l'altération
Le dernier niveau est Resilience : il assure une protection contre les menaces côté client et s'adresse aux applications mobiles pour lesquelles la protection de la propriété intellectuelle est un objectif métier. Les contrôles de résilience listés dans MASVS-R permettent d'augmenter l'effort nécessaire pour obtenir le code source d'origine et d'entraver l'altération ou le cracking.
Groupes d'exigences de sécurité OWASP :
MASVS a décomposé ses exigences sous la forme d'identifiants MSTG-ID. Les MSTG-ID sont regroupés dans les groupes suivants : Exigences de conception de l'architecture et de modélisation des menaces : Cette exigence traite de la sécurité lors de la planification de l'architecture de l'application mobile. L'objectif est d'identifier tous les composants fonctionnels et les rôles de sécurité. De plus, comme la plupart des applications mobiles sont des clients de services distants, cette exigence garantit que tester l'application mobile de manière isolée ne suffit pas.
-
Exigences de stockage des données et de confidentialité : La protection des données sensibles, comme les identifiants des utilisateurs et les informations privées, est un point d'attention essentiel de la sécurité mobile. D'abord, les données sensibles peuvent être exposées involontairement à d'autres applications exécutées sur le même appareil si des mécanismes du système d'exploitation comme l'IPC sont mal utilisés. Les données peuvent aussi fuiter involontairement vers le stockage cloud, les sauvegardes ou le cache du clavier. Les appareils mobiles se perdent ou se volent plus facilement que d'autres appareils, si bien qu'un adversaire obtenant un accès physique est un scénario plus probable. Cette exigence garantit la présence de protections supplémentaires qui rendent plus difficile la récupération de données sensibles.
-
Exigences de cryptographie : La cryptographie est un ingrédient essentiel de la protection des données stockées sur un appareil mobile. C'est aussi une catégorie où les choses peuvent très mal tourner, surtout lorsque les conventions standard ne sont pas respectées. Le but des contrôles de ce chapitre est de garantir que l'application vérifiée utilise la cryptographie conformément aux bonnes pratiques de l'industrie, notamment : Utilisation de bibliothèques cryptographiques éprouvées Choix et configuration appropriés des primitives cryptographiques
-
Exigences d'authentification et de gestion de session : Dans la plupart des cas, la connexion des utilisateurs à un service distant fait partie intégrante de l'architecture globale de l'application mobile. Même si l'essentiel de la logique se déroule côté endpoint, MASVS définit quelques exigences de base sur la façon dont les comptes utilisateurs et les sessions doivent être gérés.
-
Exigences de communication réseau : Le but de cette section est de garantir la confidentialité et l'intégrité des informations échangées entre l'application mobile et les endpoints de services distants. Au minimum, une application mobile doit établir un canal chiffré et sécurisé pour la communication réseau en utilisant le protocole TLS avec des paramètres appropriés. Le niveau 2 liste des mesures de défense en profondeur supplémentaires, comme le SSL pinning.
-
Exigences d'interaction avec la plateforme : Les contrôles de ce groupe garantissent que l'application utilise les API de la plateforme et les composants standard de manière sécurisée, y compris pour la communication entre applications via des IPC.
-
Exigences de qualité du code et de paramètres de build : L'objectif de ce contrôle est de garantir que les pratiques de codage sécurisé de base sont suivies et que les fonctionnalités de sécurité « gratuites » offertes par le compilateur sont activées.
-
Entraver l'analyse dynamique et l'altération : Les contrôles de cette section doivent être appliqués selon les besoins, sur la base d'une évaluation des risques causés par l'altération non autorisée de l'application et/ou par la rétro-ingénierie du code. Consultez le document OWASP « Technical Risks of Reverse Engineering and Unauthorized Code Modification Reverse Engineering and Code Modification Prevention » pour une liste des risques métier ainsi que des menaces techniques associées.
-
Liaison à l'appareil : L'application implémente une fonctionnalité de « liaison à l'appareil » (device binding) à l'aide d'une empreinte d'appareil dérivée de plusieurs propriétés propres à l'appareil.
-
Entraver la compréhension : Tous les fichiers exécutables et toutes les bibliothèques appartenant à l'application sont chiffrés au niveau du fichier et/ou des segments importants de code et de données à l'intérieur des exécutables sont chiffrés ou compressés. Une analyse statique triviale ne révèle ni le code ni les données importantes.
Couverture du scan MASVS d'Ostorlab
La nouvelle fonctionnalité de standards d'Ostorlab génère automatiquement un rapport présentant les problèmes qui empêchent d'atteindre les niveaux du standard MASVS.

Les rapports sont facilement accessibles en naviguant vers l'onglet des standards dans le rapport de scan. Vous pouvez passer de l'un à l'autre facilement, c'est-à-dire changer de niveau selon l'objectif technique, ce qui vous permet de prioriser le niveau sur lequel vous concentrer. Chaque niveau liste les catégories correspondantes avec une description incluant les problèmes trouvés, des indications claires sur les résultats avec leur évaluation du risque, leurs tags, leur titre, leur description et une référence vers la vulnérabilité elle-même.
Chaque niveau OWASP est suivi du nombre de problèmes trouvés, coloré en rouge ; sinon, vous verrez une étiquette indiquant qu'aucun problème n'a été trouvé.
Vous pouvez déjà générer votre rapport avec le scanner communautaire gratuit d'Ostorlab et lister tous les résultats qui affectent vos différents niveaux de conformité.