Blog | Pradeo

Vulnérabilités OWASP: Quand les applications mobiles ne résistent pas aux attaques

Rédigé par Roxane Suau | 5 août 2019 12:26:08

Les applications mobiles sont au sommet de notre consommation digitale et manipulent chaque jour les données de millions d’utilisateurs à travers le monde. La demande constante d’instantanéité et de renouvellement pousse les organisations à publier de nouvelles applications à un rythme effréné, laissant régulièrement les tests de sécurité sur la touche.

Une application mobile peut présenter deux types de faille :

  1. Comportement non désiré : Elle se comporte de manière inattendue en réalisant des actions superflues en arrière plan
  2. Vulnérabilité : Elle peut contenir des vulnérabilités qui l’expose aux attaques.

 

Afin d’aider les développeurs à créer et à maintenir des applications sécurisées, le collectif OWASP classifie un grand nombre de vulnérabilités liées aux applications mobiles dans le projet « OWASP Mobile Security Project ».

Le moteur d’analyse Pradeo Security intègre les vulnérabilités OWASP parmi une centaine d’autres et détecte leur présence dans chacune des applications mobiles qu’il analyse. Sur un échantillon de 2 millions d’applis récemment auditées par la plateforme, les chercheurs de Pradeo ont découvert que près d’un tiers d’entre elles comportent des vulnérabilités OWASP.

Ces vulnérabilités se classent parmi quatre grandes catégories :

Fuite de données

Parmi les vulnérabilités détectées dans les applications mobiles analysées, 47% peuvent mener au vol ou à la fuite de données. La divulgation de données est devenue au cours des dernières années une des principales menaces auxquelles les entreprises doivent faire face.

Exemples de vulnérabilités entrant dans cette catégorie :

  • Broadcast-Activity : Cette vulnérabilité se manifeste quand le composant "Activity" de l'application n'a pas un niveau de protection assez élevé. Cela peut permettre aux applications tierces de contourner certaines mesures de sécurité afin d’accéder à des données sensibles.
  • Broadcast-Service : Cette vulnérabilité se manifeste quand le composant "Service" de l'application n'a pas un niveau de protection assez élevé. Cela peut permettre aux applications tierces de lancer ou de se lier au service.
  • Implicit-Intent : Toutes les informations diffusées via cette méthode sont susceptibles d'être interceptées par une application tierce.

 

Attaque de type Man-In-The-Middle (MITM)

Une attaque de type Man-In-The-Middle correspond à l’interception par une entité tierce d’une communication entre deux parties. L’auteur de l’attaque espionne illicitement la communication et l’altère parfois, tout en s’assurant que l’échange paraisse normal. 4,6% des applications testées disposent de vulnérabilités pouvant mener à ce type d’attaque, exposant les utilisateurs à des vols de fonds, vols de données ou encore à la prise de contrôle de leurs objets connectés lorsqu’il s’agit d’applications IoT.

Exemples de vulnérabilités entrant dans cette catégorie :

  • 509TrustManager : Cette vulnérabilité correspond à l’implémentation non sécurisée de l'interface X509TrustManager qui ignore toutes les erreurs de validation du certificat SSL lors de l'établissement d'une connexion en HTTPS à un hôte distant.
  • HandleSslError : Tous les messages d'erreurs de validation du certificat SSL sont ignorés, ce qui a pour effet d’authoriserdes certificats non-valides.
  • PotentiallyByPassSslConnection : Cette vulnérabilité correspond à l’implémentation non sécurisée contournant la validation du certificat SSL lors de l'établissement d'une connexion en HTTPS à un hôte distant.

 

Attaque par déni de service (DoS)

Une attaque par déni de service a pour but de rendre indisponible un service en le submergeant de requêtes erronées et inutiles. Le but étant d’affecter le fonctionnement de la ressource pour nuire à une organisation. Parmi les applications analysées, 3% comportent des vulnérabilités aux attaques de ce type, mettant en péril la bonne exécution du service qu’elles offrent.

Exemples de vulnérabilités entrant dans cette catégorie :

  • URLCanonicalisation : En fonction de l'implémentation de ContentProvider, l'utilisation de la méthode peut conduire à une vulnérabilité de traversée de répertoire.
  • MaliciousIntents : Une application tierce malveillante peut envoyer un "intent" vers un composant de l'application qui ne devrait pas être en position de le recevoir.

 

Faible chiffrement

Les techniques de chiffrement visent à rendre illisibles certaines données afin d’en assurer leur sécurité. 1,5% des applications testées montrent des faiblesses de chiffrement, laissant la porte ouverte vers des données sensibles.

Exemples de vulnérabilités entrant dans cette catégorie :

  • AES : La méthode de chiffrement AES ne permet pas d’assurer la confidentialité, l'intégrité et l'authenticité des données.
  • ECB : L'application utilise le mode ECB dans l'algorithme de chiffrement. Le mode ECB est connu pour être faible, car il produit le même texte chiffré pour des blocs identiques de texte en clair.