Le nouvel OWASP Mobile Top 10
Publication du nouvel OWASP Mobile Top 10, avec ses améliorations, ses mises à jour et les coulisses de sa création.
Depuis la publication du dernier OWASP Mobile Top 10, de nouveaux types de problèmes de sécurité sont apparus, comme la Dependency Confusion, le Task Hijacking et l'usurpation d'application.
L'OWASP Top 10 2023 est une mise à jour majeure. Il apporte de nouvelles façons de protéger les applications mobiles et traite ces nouveaux problèmes de sécurité. Des évolutions clés sont apparues dans la sécurité mobile et ont profondément influencé ce nouveau Top 10. Les plateformes Android et iOS ont connu des changements importants : elles ont renforcé leurs fonctionnalités de sécurité, tout en introduisant de nouvelles surfaces d'attaque et de nouvelles vulnérabilités potentielles.
Parmi les avancées notables figurent l'introduction des instant apps, l'intégration de l'authentification biométrique et l'extension des extensions iOS.
En parallèle de ces changements de plateforme, les applications mobiles sont devenues plus complexes et plus volumineuses. Des frameworks émergents comme Flutter et React Native redéfinissent le développement d'applications, avec à la fois des opportunités et des défis de sécurité.
Surtout, le rôle des applications mobiles dépasse désormais les frontières traditionnelles. Leur intégration dans des secteurs critiques comme les systèmes industriels, l'IoT, le militaire et l'automobile souligne l'importance et l'impact croissants de la sécurité mobile à plus grande échelle.
Dans les coulisses

Compte tenu de l'évolution rapide du paysage de la sécurité mobile, la nécessité d'une mise à jour de l'OWASP Top 10 pour 2023 était évidente.
Cette nouvelle édition est le fruit d'un engagement important de nombreux contributeurs et entreprises. Nous tenons à remercier tout particulièrement Milan Singh Thakur, Kunwar Atul, Mohammed Junaid Tariq et Stefen Lortz pour leurs contributions notables.
Par ailleurs, Google a fourni des données précieuses, et Japan CERT a livré des retours éclairants et partagé ses propres constats pour son top 10.
Ostorlab a joué un rôle essentiel, avec Alaeddine Mesbahi et Mohamed Benchikh comme contributeurs clés. Nous avons synthétisé une vaste base de données de plus de 20 millions d'entrées de vulnérabilités collectées au fil des ans, ce qui a considérablement enrichi la recherche.
L'élaboration du Top 10 s'est étendue sur plusieurs mois et a donné lieu à des réunions publiques hebdomadaires. Ces sessions, d'une durée de 30 à 60 minutes, ont été déterminantes pour discuter de l'avancement, des actions, des tâches et des avis.
Le premier chantier a consisté à établir une méthodologie pour rédiger le nouveau Top 10, en privilégiant une approche fondée sur les données. Cela a exigé une collecte de données approfondie auprès de nombreuses parties prenantes, afin de limiter le biais lié à une source de données unique, une tâche difficile et chronophage.
Une fois les données collectées, elles ont été nettoyées, normalisées et analysées. Après consultation d'une liste de parties prenantes, un projet de Top 10 a été préparé.
Une considération clé était de savoir comment équilibrer la liste en tenant compte d'aspects comme la prévalence, l'impact et la facilité d'exploitation. Chaque aspect a été soigneusement noté, et le classement final a été déterminé à partir de ces notes.
Cette méthode a abouti à une liste qui reflète ce qui est perçu comme les priorités du secteur, et offre une vue équilibrée de la prévalence, de l'impact et de la facilité de détection.
La nouvelle version

Le dernier OWASP Top 10 2023 présente des changements notables et introduit de nouveaux défis.
De nouvelles entrées sont apparues en tête de liste. Elles comprennent Improper Credential Usage (utilisation inappropriée des identifiants) et Inadequate Supply Chain Security (sécurité insuffisante de la chaîne d'approvisionnement). Ce changement reflète une tendance préoccupante : la mauvaise gestion des secrets, comme les clés d'API et les identifiants codés en dur, est devenue d'une banalité alarmante.
De plus, les problèmes de chaîne d'approvisionnement, en particulier ceux liés à des dépendances obsolètes et vulnérables, souvent issues de l'open source, sont devenus plus fréquents.
Un autre domaine critique est la fusion des anciens problèmes liés à l'authentification et à l'autorisation, aujourd'hui plus visibles en raison des efforts de simplification de ces processus dans les applications mobiles. Cela comprend l'intégration d'OAuth, de l'authentification biométrique et de la prise en charge des modes hors ligne, qui introduisent chacun diverses vulnérabilités.
Le quatrième problème est étonnamment nouveau, puisqu'il figure parmi les problèmes les plus courants dans d'autres catégories comme le Top 10 web.
La raison en est que les applications mobiles deviennent plus complexes : elles acceptent des entrées d'autres applications via l'IPC, ou peuvent être sollicitées depuis un navigateur via des URL personnalisées, des schémas personnalisés ou des interfaces JavaScript de Webview.
Le problème de la communication non sécurisée, bien que rétrogradé de sa troisième position précédente, reste une préoccupation importante. Malgré les efforts des systèmes d'exploitation pour mettre en place des fonctionnalités comme les configurations de sécurité réseau, le trafic en clair et d'autres pratiques non sécurisées persistent.
Les problèmes de confidentialité sont remontés à la sixième position, sous l'effet d'une sensibilité et d'une préoccupation croissantes pour les applications respectueuses de la vie privée. Des défis demeurent toutefois, en particulier avec les SDK publicitaires tiers qui collectent des données excessives. Parmi les atteintes courantes à la vie privée figurent la collecte des SSID des points d'accès pour suivre la localisation et les déplacements des utilisateurs et identifier les relations entre eux.
La protection du binaire est un autre problème critique, qui englobe la fuite de code source, de symboles de débogage et l'absence d'obfuscation.
La mauvaise configuration de sécurité se classe huitième et conduit à de graves vulnérabilités, comme l'activation de modes de débogage dans des SDK ou des instances Webview, ce qui peut entraîner des fuites de session ou une exploitation à distance.
Le stockage de données non sécurisé, autrefois une préoccupation majeure, a reculé dans le classement. Ce changement est attribué aux améliorations des systèmes d'exploitation, comme le file provider plus sûr d'Android et les nouveaux modes d'accès au stockage, qui réduisent l'impact de ces vulnérabilités.
Enfin, la cryptographie non sécurisée, bien qu'elle reste une préoccupation, a elle aussi reculé en prévalence, grâce à l'introduction de bibliothèques sûres qui simplifient et renforcent les implémentations cryptographiques. Cela tient aussi à la complexité d'exploitation de ces classes de vulnérabilités.
Tirer parti du nouvel OWASP Top 10
L'OWASP Top 10 2023 est un outil essentiel pour prioriser les contrôles de sécurité dans les applications mobiles. Pour l'utiliser efficacement, envisagez l'approche suivante :
-
Revue de l'utilisation des API : recensez toutes les utilisations d'API dans votre application. Assurez-vous que les clés d'API et les secrets ne sont pas intégrés à l'application. Évaluez l'usage de l'épinglage de clés d'API et vérifiez que les permissions de ces clés sont appropriées.
-
Vérification des dépendances : utilisez des fichiers de verrouillage (lock files) et une nomenclature logicielle (SBOM) pour répertorier toutes les dépendances. Cela comprend la vérification minutieuse des dépendances natives pour confirmer qu'elles sont à jour et sûres.
-
Audit des mécanismes d'authentification : dressez la liste de toutes les méthodes d'authentification utilisées, comme celles par mot de passe, SSO, 2FA, SAML et OAuth. Examinez rigoureusement la sécurité de ces implémentations.
-
Contrôle d'accès des API : évaluez les contrôles d'accès de toutes les API de l'application.
-
Analyse de la sécurité des interfaces : identifiez toutes les interfaces exposées de votre application, y compris les activities, les schémas d'URL et les deep links. Assurez-vous qu'elles traitent les données de manière sécurisée.
-
Sécurité du backend et du réseau : assurez-vous que tous les liens vers le backend dans votre application utilisent un trafic chiffré. Vérifiez que les paramètres TLS sont robustes et que les politiques de sécurité réseau sont correctement configurées.
-
Conformité en matière de confidentialité : passez en revue toutes les pratiques de collecte de données. Confirmez qu'aucun SDK tiers ne collecte de données d'utilisateurs sans consentement et que toutes les pratiques respectent les réglementations sur la vie privée.
-
Protection du binaire : dans l'APK ou l'IPA compilé, vérifiez qu'aucun symbole ni code source n'est exposé. Appliquez l'obfuscation si nécessaire.
-
Sécurité de la configuration et du stockage des données : examinez les paramètres de configuration dans le manifest et le fichier info.plist, ainsi que les paramètres de divers frameworks. Vérifiez que le stockage local est sécurisé et que les données sensibles sont chiffrées avec des méthodes standard et sûres.

Par ailleurs, la plateforme Ostorlab peut être une ressource précieuse pour automatiser ces contrôles. Elle offre des capacités d'analyse complètes couvrant les secrets, les dépendances, les pratiques de codage non sécurisées, la communication et les API backend. Les vastes capacités d'Ostorlab, développées au fil de nombreuses années, prennent en charge un large éventail de frameworks et fournissent une vue d'ensemble approfondie de la sécurité de vos applications mobiles.