Neutron, notre moteur d’IA, a obtenu un score de 97,1 % sur le benchmark CyberGym de l’UC Berkeley. En savoir plus

Sécurité

Sécurité

Les applications Flutter volontairement vulnérables d'Ostorlab : un terrain d'apprentissage et de test pour la sécurité mobile

Les vulnérabilités courantes des applications Flutter, de la cryptographie faible au trafic en clair et aux WebViews non sécurisées, illustrées dans les apps Flutter volontairement vulnérables d'Ostorlab.

Nous sommes heureux d'annoncer la publication en open source de deux applications Flutter volontairement vulnérables, destinées aux tests et à la formation.

La première application est une application Flutter native axée sur les vulnérabilités iOS.

La seconde application est une application Java/C++/Flutter.

Les deux dépôts sont hébergés sur GitHub et disponibles sous la licence Apache-2.0.

À propos du dépôt

L'Ostorlab Insecure Flutter App est une application Flutter volontairement vulnérable, conçue pour les tests de sécurité et la formation. L'application est conçue pour présenter diverses vulnérabilités de sécurité courantes dans les applications mobiles. Elle constitue ainsi un terrain idéal pour tester et découvrir les différentes vulnérabilités de sécurité de Flutter.

Quelles sont les vulnérabilités courantes des applications Flutter ?

Les classes de vulnérabilités courantes des applications Flutter, toutes démontrées dans les apps volontairement vulnérables d'Ostorlab, sont :

  • Cryptographie faible : mode ECB, IV statiques, hachage faible et identifiants codés en dur.
  • Transport non sécurisé : TLS non chiffré ou mal configuré et trafic en clair.
  • Comportement client dangereux : réglages WebView non sécurisés, exécution de commandes et usage dangereux de la réflexion.
  • Stockage et aléa non sécurisés : stockage non sécurisé via SQLite et shared preferences, path traversal et génération de nombres aléatoires non sécurisée.

Ce sont les mêmes classes que celles des applications mobiles en général.

Pour les travailler sur une cible réelle, Rétro-ingénierie et analyse de sécurité Flutter montre comment aborder le résultat compilé d'une application Flutter, et les ajouts du moteur IA d'Ostorlab pour la détection Flutter détectent automatiquement ces classes de vulnérabilités.

Vulnérabilités illustrées

L'application illustre un large éventail de vulnérabilités, parmi lesquelles, sans s'y limiter :

  • Biometric None CryptObject : met en évidence les vulnérabilités liées à une mise en œuvre incorrecte, ou à l'absence, de protection cryptographique dans l'authentification biométrique.
  • ECB Cipher Mode : illustre les faiblesses de l'utilisation du mode d'opération ECB (Electronic CodeBook) pour les chiffrements cryptographiques.
  • Insecure Commands : montre les vulnérabilités qui apparaissent lorsque des commandes non sécurisées ou système sont exécutées depuis l'application.
  • Reflection API : fournit des exemples d'utilisation dangereuse des API de réflexion.
  • TLS Traffic : explique les menaces de sécurité potentielles lors de l'utilisation d'un trafic Transport Layer Security (TLS) non chiffré ou mal chiffré.
  • Clear Text Traffic : souligne les risques liés à la transmission de données sensibles en trafic en clair.
  • Hardcoded Credentials in URL : montre le risque de coder en dur des identifiants sensibles dans des URL.
  • Insecure Random : met en évidence les problèmes liés à l'utilisation de générateurs de nombres aléatoires non sécurisés pour des opérations sensibles.
  • Oracle Padding : illustre les dangers potentiels des vulnérabilités de type oracle padding.
  • SQLite Database Call : met en évidence des pratiques non sécurisées liées aux appels à la base de données SQLite.
  • Webview Insecure Settings : montre les vulnérabilités potentielles liées à des paramètres WebView non sécurisés.
  • Command Exec : présente les problèmes potentiels liés à l'exécution de commandes système.
  • Hash Call : montre une utilisation incorrecte des fonctions de hachage.
  • Insecure Shared Preferences : montre les risques liés à une gestion non sécurisée des shared preferences.
  • Path Traversal : met en évidence les dangers potentiels des vulnérabilités de traversée de répertoires.
  • Static IV : montre les risques de sécurité liés à l'utilisation de vecteurs d'initialisation statiques dans le chiffrement.

Comment contribuer

Les contributions à l'Ostorlab Insecure iOS App sont toujours les bienvenues et appréciées. Vous pouvez contribuer de plusieurs façons :

  1. Rapports de bugs : si vous rencontrez un bug ou quelque chose qui vous semble anormal, créez une issue sur le dépôt GitHub pour le signaler.
  2. Suggestions d'amélioration : si vous avez une idée pour améliorer l'application, n'hésitez pas à créer une issue détaillant votre suggestion.
  3. Contributions de code : soumettez des pull requests pour améliorer l'application. Il peut s'agir de corriger des bugs, d'améliorer l'interface, d'ajouter de nouvelles vulnérabilités à illustrer ou d'enrichir la documentation.
  4. Vos contributions aideront non seulement à améliorer l'application, mais contribueront aussi à la compréhension, par l'ensemble de la communauté, de la sécurité des applications mobiles.