App

76% des applications mobiles ont des défauts permettant d’êtres piraté !

Par le

En août 2018, des pirates informatiques ont volé des données personnelles à 20 000 utilisateurs de l’application mobile d’Air Canada. Selon McAfee , le nombre de logiciels malveillants destinés aux appareils mobiles ne cesse de croître. Chaque trimestre, 1,5 à 2 millions de nouvelles variantes de programmes malveillants sont découvertes. À la fin de 2018, il y avait plus de 30 millions de variantes de logiciels malveillants. La croissance constante de la quantité et de la variété des programmes malveillants pour les appareils mobiles a alimenté la popularité des attaques sur les composants côté client. Les vulnérabilités de serveurs ne constituent plus la principale menace pour les applications mobiles.

Selon un rapport de Positive Technologies, les applications Android présentent plus de vulnérabilités critiques que les applications iOS.Les vulnérabilités sont communes à la fois aux applications mobiles Android et iOS, les appareils Android étant légèrement plus exposés que leurs homologues iOS (43% contre 38%), selon le rapport Vulnerabilities.

Les tests d’expert sur les applications mobiles iOS et Android montrent que, dans la plupart des cas, le stockage de données non sécurisé est la faille de sécurité la plus courante dans les applications mobiles car 76% de toutes les applications contiennent cette faille. Selon le rapport, dans certains cas, un stockage de données non sécurisé peut permettre aux pirates informatiques de voler des mots de passe, des informations financières, des données personnelles et de la correspondance.

Quelque 89% des vulnérabilités trouvées pourraient être exploitées par des logiciels malveillants. Bien que le risque d’infection augmente sur les appareils jailbreakés, les attaquants ont rarement besoin d’un accès physique au téléphone de la victime, indique le rapport. Une fois sur le terminal de la victime, le logiciel malveillant peut demander l’autorisation d’accéder aux données de l’utilisateur. Si cette autorisation est accordée, le logiciel malveillant peut envoyer des données directement aux attaquants.

En 2018, les applications mobiles ont été téléchargées sur les appareils des utilisateurs plus de 205 milliards de fois. Les développeurs accordent une attention particulière à la conception des logiciels afin de nous offrir une expérience fluide et pratique, et les utilisateurs installent volontiers des applications mobiles et fournissent des informations personnelles. Cependant, un nombre alarmant d’applications sont extrêmement sécurisées et les développeurs ne consacrent que moins d’attention à la résolution de ce problème. Le vol de données sur un smartphone ne nécessite généralement pas même un accès physique à l’appareil.

Comme le montrent les recherches de l’étude, le côté serveur des applications (hébergé par le développeur et responsable du stockage, du traitement et de la synchronisation des informations) est aussi faible que le côté client : 43% des composants côté serveur ont faible niveau de protection. Un tiers (33%) contiennent des vulnérabilités critiques. Les vulnérabilités de gravité élevée les plus courantes côté serveur incluent une autorisation insuffisante et une fuite d’informations

Pour protéger les appareils et les données, les utilisateurs devraient examiner de près le moment où les applications demandent l’accès aux fonctions du téléphone ou aux données, et refuser toute demande d’accès à des données inutiles. Les utilisateurs ne doivent pas non plus ouvrir les liens inconnus envoyés par le biais de textes ou d’applications de chat, ni les télécharger depuis des magasins d’applications tiers.

Recommandations aux développeurs

 

Android
– Utilisez LocalBroadcastManager pour envoyer et recevoir des messages de diffusion non destinés à des applications tierces
– Si l’application accepte la saisie de données sensibles telles que des informations financières, utilisez un clavier personnalisé. Cela sécurisera l’application des attaques qui manipulent le clavier du système
– Désactivez la sauvegarde de l’application en définissant la directive android: allowBackup sur “false”

IOS
– Si vous devez utiliser des liens pour l’interaction entre composants, utilisez des liens universels.
– Pour désactiver l’utilisation de claviers tiers au sein d’une application, implémentez la méthode shouldAllowExtensionPointIdentifier dans l’application UIApplicationDelegate de l’application.

41% des applications mobiles vérifient les données d’authentification côté client

De nombreuses applications mobiles utilisent un code PIN à quatre ou six chiffres pour l’authentification. Il existe plusieurs façons de mettre en œuvre la vérification du code PIN lorsque l’utilisateur se connecte. Cette vérification côté client n’est pas sécurisée : cela impliquerait que le code PIN soit stocké sur le périphérique mobile, ce qui augmente le risque de fuite. Les données d’authentification sont stockées de manière non sécurisée dans 53% des applications mobiles. Les smartphones ont tendance à utiliser la biométrie (Touch ID ou Face ID) pour l’authentification dans les applications. Dans ce cas, le code PIN est stocké sur l’appareil. Le stockage local de données sensibles n’est acceptable que dans des répertoires spéciaux cryptés. Android possède un coffre à clés appelé Keystore. iOS a le trousseau.