Les plus grands e-commerçants mondiaux vendent leurs produits par le biais d’applications mobiles utilisées par des milliards d’utilisateurs. Aujourd’hui, 82% des internautes réalisent leurs achats via leur appareil mobile, selon un rapport Statista.
Lorsqu’une application manipule des données personnelles et financières, elle est contrainte par des lois, telles que le Règlement Général sur la Protection des Données (RGPD) ou la Directive sur les Services de Paiement 2 (DSP2), d’intégrer des fonctionnalités de sécurité qui assureront la confidentialité et la protection des données dès la conception.
Le laboratoire de Pradeo a passé au crible les 38 applications e-commerce les plus téléchargées du Google Play avec son outil d’audit de sécurité des applications. Les résultats montrent qu’elles manipulent excessivement les données personnelles des utilisateurs, et ce de manière très peu sécurisée.
Envoi de données sensibles via des connexions non sécurisées
Les applis e-commerce manipulent des informations de cartes de crédit pour des raisons évidentes. Mais il apparaît qu’elles collectent également des données personnelles telles que la liste des contacts, les fichiers audio et vidéo et le journal d’appels pour des raisons floues. Pire encore, la manière dont ces données sont traitées s’avère très risquée.
Le graphique ci-dessous montre que les applications d’e-commerce collectent et envoient sur le réseau des informations sur la géolocalisation des utilisateurs (66%), leur liste de contacts (58%), leur galerie audio et vidéo (47%) et leur journal d'appels (13%). En outre, il met en évidence la répartition des données personnelles envoyées sur le réseau, via des connexions sécurisées (HTTPS avec un certificat de confiance) ou non sécurisées (HTTP ou certificat non fiable).
Des vulnérabilités de code qui menacent la confidentialité des données
Les applis d’e-commerce les plus utilisées au monde ont une moyenne de 13 vulnérabilités de code par application. Voici les vulnérabilités les plus dangereuses qui ont été découvertes, triées par degré de sévérité, suivi du pourcentage d’applications qui disposent de ces vulnérabilités.
- X.509TrustManager: 53%
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, ce qui a pour effet de rendre l'application vulnérable à une attaque de type Man-in-the-Middle.
- HandleSslError: 21%
L'implémentation ignore tous les messages d'erreurs de validation du certificat SSL, ce qui a pour effet de valider des certificats non-valides. Cela rend l'application vulnérable à une attaque de type Man-in-the-Middle.
- PotentiallyByPassSslConnection: 21%
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, ce qui a pour effet de rendre l'application vulnérable à une attaque de type Man-in-the-Middle.
- URLCanonicalisation: 16%
L'échec de mise en forme canonique d'une URL reçue par l'application peut amener à une attaque de type « vulnérabilité transversale » de répertoire qui peut entraîner la divulgation de données sensibles ou la corruption malveillante de données.
- World-Writable 8%
Il ne devrait pas être possible pour d'autres applications d'accéder à ces données, ou qu'elles ne soient accessibles à d'autres programmes ou personnes.
- Implicit-Intent: 87%
Des informations diffusées en utilisant la méthode de l'"intent" implicite sont susceptibles d'être interceptées par une application tierce malveillante.
- Log: 47,4%
Il est risqué de mettre en production une application qui affiche des sorties de log. Une application tierce pourra exécuter une commande et récupérer les logs contenant des informations potentiellement sensibles.
- Broadcast-Activity: 89%
Cela a pour effet de permettre à toute application tierce d’accéder aux données potentiellement sensibles partagées par le composant.
- Broadcast-Service: 90%
Cela a pour effet de permettre à toute application tierce de lancer ou de se lier au service. En fonction du rôle du service, cela peut engendrer la fuite de données ou le lancement de tâches non autorisées.
- Broadcast-Receiver: 84%
Cela a pour effet de permettre à toute application tierce d’envoyer des messages à l'application. Cette faille peut être exploitée pour compromettre l'application, en la détournant de sa tâche première pour la faire exécuter un certain nombre d'actions.
La version anonymisée du rapport de sécurité des applications est disponible sur demande pour la presse. Il indique pour chaque appli :
- La liste des données personnelles envoyées sur le réseau
- La liste des informations du terminal envoyées sur le réseau
- Le nombre de connexions HTTP / HTTPS
- Le nombre de connexions non certifiées
- Le nombre et détail des vulnérabilités
- Le nombre de librairies externes intégrées
Vous pourriez être intéressé par: