Les chercheurs de Pradeo ont découvert que certaines applications du Google Play publiées par SEGA, la célèbre société de jeux vidéo, divulguent la géolocalisation de ses utilisateurs ainsi que des informations liées à leurs terminaux mobiles, sans que ceci ne soit nécessaire à l’exécution des jeux. Des millions d’utilisateurs sont affectés par cette fuite de données.
Les applications concernées sont les suivantes :
- Sonic Dash – de 100 à 500 millions de téléchargements
- Sonic the Hedgehog™ Classic – de 10 à 50 millions de téléchargements
- Sonic Dash 2: Sonic Boom – de 10 à 50 millions de téléchargements
En analysant les applications susmentionnées, notre moteur d’analyse comportementale à découvert les faits suivants :
- Elles géolocalisent les utilisateurs et divulguent leur emplacement
- Elles transmettent des données relatives aux terminaux
- Les informations collectées sont envoyées vers 11 serveurs distants (en moyenne), dont 3 suspects
- Elles contiennent en moyenne 15 vulnérabilités OWASP
Atteinte à la confidentialité des données
Dernièrement, le laboratoire de Pradeo a constaté une augmentation du nombre d’applications officielles qui dupent leurs utilisateurs en demandant l’accès à des données dont elles n’ont en réalité pas besoin. La plupart du temps, lorsque les utilisateurs installent des applications téléchargées sur Google Play, ils acceptent les permissions demandées sans se poser de questions. En conséquence, les éditeurs d’applis collectent les données sensibles de leurs clients, telles que la géolocalisation, des informations sur leurs terminaux, des données utilisateurs (photo, liste de contacts, historique de navigation, SMS…), etc.
Dans ce cas, les applications SEGA en question collectent et divulguent la géolocalisation et les données des terminaux.
Données envoyées vers des serveurs non certifiés
La plupart des serveurs distants vers lesquels les applications SEGA envoient des données ont pour objectif de traquer les utilisateurs à des fins marketing. Cependant, ce qui a attiré l’attention des chercheurs de Pradeo est le fait que trois des serveurs auxquels les données sont envoyées sont non certifiés et représentent une menace potentielle.
Des vulnerabilities OWASP critiques
En analysant les trois applications SEGA, des vulnérabilités critiques ont été identifiées dont deux qui les rendent faillibles aux attaques de type Man-In-The-Middle (X.509TrustManager and Potentially_ByPass-SSL_Connection). Les autres vulnérabilités OWASP détectées les plus importantes peuvent mener au vol de données, au déni de service et à la corruption de données. (Liste complète des vulnérabilités détectées en fin d’article.)
Fiches d’identité :
Sonic Dash - Package: com.sega.sonicdash - SHA1 : d7fc33843fab48666bafb85392e2d1cd4f116e6b
Sonic the Hedgehog™ Classic - Package : com.sega.sonic1px - SHA1 : 0b1b33cdbc71ff07e6a76a9b425e534a64a005c9
Sonic Dash 2: Sonic Boom - Package : com.sega.sonicboomandroid - SHA1 : a54fadc572e9ef12d07dd61230d41fcbe3f24e17
Données divulguées :
- Géolocalisation
- Informations du réseau téléphonique: nom et pays de l'opérateur, type de réseau utilisé (3G, 4G…)
- Informations du terminal: Constructeur, nom du modèle, niveau de batterie, niveau maximum de batterie, version du système d'exploitation...
Vulnérabilités OWASP détectées parmi les 3 applications :
BROADCAST-ACTIVITY | Cela a pour effet de permettre à toute application tierce d’accéder aux données potentiellement sensibles partagées par le composant. |
BROADCAST-SERVICE |
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. |
BROADCST-RECEIVER |
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. |
URLCANONICALISATION |
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. |
LOG | 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. |
IMPLICIT-INTENT |
Des informations diffusées en utilisant la méthode de l'"intent" implicite sont susceptibles d'être interceptées par une application tierce malveillante. |
X.509TRUSTMANAGER |
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. |
POTENTIALLY_BYPASS SSL_CONNECTION |
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. |
D_ROOTCHECK |
Cette application peut essayer de détecter si le terminal est rooté (super utilisateur). |
D_WEBVIEWDEBUG | Le débogage à distance d'une WebView est activé. |
D_SQLITE | L'application utilise la base de données SQLite et exécute une requête SQL en brute. L'entrée d'un utilisateur sans confiance dans les requêtes SQL brutes peut provoquer des injections SQL. |
D_EXTSTORAGE | L'application peut lire / écrire sur le stockage externe. Toutes les applications peuvent lire les données écrites dans le stockage externe. |
D_TMPFILE | L'application crée un fichier temporaire. Les informations sensibles ne doivent jamais être écrites dans un fichier temporaire. |
D_JSENABLED | Implémentation d'une WebView non sécurisée. L'exécution de code contrôlé par l'utilisateur au sein d’une WebView est un trou de sécurité critique. |
SQLC_PASSWORD | Cette application utilise le chiffrement SQL. |
D_CON_WORLD_READABLE | Le fichier est lisible par tous. Toute application peut lire le fichier. |
WORLD-READABLE | Il ne devrait pas être possible pour d'autres applications d'accéder à ces données, ou que les données soient accessibles à d'autres programmes ou à d'autres personnes si le propriétaire des données n'en a pas l'intention. |
ECB | L'application utilise le mode ECB dans l'algorithme de chiffrement cryptographique. Le mode ECB est connu pour être faible, car il en résulte le même texte chiffré pour des blocs identiques de texte clair. |
Découvrez le moteur d'analyse comportementale de Pradeo