Plus de 1 000 applications Android peuvent accéder aux données des utilisateurs sans autorisations appropriées

Les chercheurs ont découvert que de nombreuses applications Android sur le Google Play Store disposaient de moyens de contourner le modèle d'autorisation d'Android pour collecter les données des utilisateurs.

Malgré la perception des utilisateurs, Android est en réalité assez sécurisé en tant que système d’exploitation mobile. Nous acceptons généralement le principe selon lequel le maillon le plus faible est l’utilisateur; tant que vous surveillez ce que vous installez et les autorisations que vous accordez, vous devez être à l'abri de tout accès et distribution non autorisés de vos données. Si vous refusez à une application Android l'accès à votre position, cette application ne devrait avoir aucun moyen de savoir où vous êtes ou où vous avez été. Cependant, certains développeurs d'applications ont trouvé des moyens de contourner le modèle d'autorisation d'Android, selon des chercheurs de l'Institut international d'informatique (ICSI).

Selon CNET, l'étude a été présentée le mois dernier à

ConfidentialitéCon après avoir été divulgué de manière responsable à Google et à la FTC en septembre dernier. Bien que le article publié sur le site Web de la FTC ne répertorie pas les applications exactes que l'équipe a signalées dans son analyse (ces détails viendront plus tard au Conférence Usenix sur la sécurité le mois prochain), il fournit des détails sur leur méthode d'analyse et sur la manière dont les applications contournaient le modèle d'autorisation d'Android. Pour ce que ça vaut, Google affirme que les changements de sécurité et de confidentialité apportés par Google a introduit dans Android Q fermera ces méthodes de contournement. Cet article fournit donc des informations précieuses sur les justifications de Google pour certaines des modifications apportées à la plate-forme dans Android 10. Allons-y.

Comment plus de 1 000 applications ont contourné le modèle d'autorisation d'Android

Les chercheurs distinguent deux techniques différentes de contournement de la sécurité: les canaux secondaires et les canaux secrets. Les techniques de canal secondaire impliquent d'accéder à des informations particulières d'une manière qui n'est pas couverte par le mécanisme de sécurité; par exemple, les applications étaient capables de suivre l'emplacement d'un appareil à l'aide de l'adresse MAC jusqu'à ce qu'Android Pie introduise la randomisation des adresses MAC. Les techniques de canal secret impliquent que deux services coopèrent pour envoyer des données d'un service qui a un accès valide à un autre qui n'en a pas; par exemple, une application disposant d'un accès à la localisation peut partager ces données avec une application à laquelle l'accès n'a pas été accordé.

L'équipe ICSI a analysé 88 113 des applications Android les plus populaires du Google Play Store américain et a découvert plus de 1 000 applications et bibliothèques tierces qui utiliser des canaux secondaires et/ou des canaux secrets pour contourner les mesures de sécurité d'Android afin de pouvoir accéder aux données de localisation et aux identifiants persistants des utilisateurs dispositifs. Leur ensemble de données complet comprenait 252 864 APK, puisque l’équipe a périodiquement récupéré le Play Store à la recherche de nouvelles versions des 88 113 applications qu’elle prévoyait d’analyser. Ils ont d'abord testé le comportement de chaque application sur un Google Nexus 5X exécutant Android 6.0.1 Marshmallow, mais a ensuite retesté ses résultats sur un GooglePixel 2 exécutant Android Pie pour prouver que leurs résultats étaient toujours valables dans la dernière version au moment de la divulgation.

Avec cet ensemble de données, l'équipe a développé une méthode utilisant l'analyse dynamique et statique pour détecter le contournement du modèle d'autorisation d'Android. En d’autres termes, l’équipe a étudié le comportement des applications en auditant le comportement d’exécution de l’application (analyse dynamique) ou en analysant le code à la recherche de comportements potentiellement malveillants (analyse statique). analyse.) Bien sûr, les développeurs d'applications malveillantes connaissent ces techniques, utilisant l'obscurcissement du code et le chargement dynamique de code pour rendre l'analyse statique plus difficile ou TLS. interception pour détecter quand l'application s'exécute dans un environnement virtualisé, l'équipe ICSI a donc utilisé un mélange d'analyse statique et dynamique (analyse hybride) dans son essai. En conséquence, l’équipe a découvert que les données suivantes étaient récupérées par des applications qui ne disposaient pas des autorisations requises :

  • IMEI: Étant donné qu'un IMEI est un identifiant unique et persistant, il est utile pour les services en ligne de le récupérer afin de pouvoir suivre des appareils individuels. L'équipe a découvert que le Salmonades et Baidu Les SDK utilisaient un canal secret pour lire l'IMEI. Les applications ayant un accès légitime à l'IMEI stockaient des fichiers cachés sur le stockage externe contenant l'IMEI de l'appareil afin que d'autres applications sans accès légitime puissent lire l'IMEI. Les applications identifiées utilisant le SDK de Baidu de cette manière incluent les applications des parcs à thème Disney pour Hong Kong et Shanghai, Samsung Health et Samsung Browser.
  • Adresse MAC du réseau: L'adresse MAC du réseau est également un identifiant unique et est généralement protégée par l'autorisation ACCESS_NETWORK_STATE. Selon les chercheurs, les applications utilisaient du code natif C++ pour « appeler un certain nombre d’appels système UNIX non protégés ». L'équipe a identifié 42 applications utilisant le SDK Unity pour ouvrir un socket réseau et un ioctl pour obtenir l'adresse MAC, bien qu'ils aient noté que 748 des 12 408 applications contenaient le code en question sans avoir accès au ACCESS_NETWORK_STATE. autorisation.
  • Adresse MAC du routeur: L'autorisation ACCESS_WIFI_STATE protège le BSSID, mais la lecture du cache ARP dans /proc/net/arp permet à une application d'obtenir ces données sans avoir besoin d'aucune autorisation. Le chercheur a identifié le OpenX SDK comme utilisant cette technique de canal secondaire.
  • Géolocalisation: Les chercheurs ont découvert que l'application Shutterfly accédait aux balises de localisation des métadonnées EXIF ​​​​des photos. Tout ce qui est requis est l'autorisation READ_EXTERNAL_STORAGE.

Dans Android Q, Google exige désormais que les applications disposent de l'autorisation READ_PRIVILEGED_PHONE_STATE pour lire l'IMEI. Les appareils exécutant Android Q transmettent désormais par défaut des adresses MAC aléatoires. Enfin, Android Q Stockage limité les modifications atténuent la capacité des applications à lire les données de localisation des photos. Ainsi, ces problèmes ont été résolus dans la dernière version d'Android, mais comme nous le savons tous, cela va ça prend pas mal de temps pour que la dernière mise à jour se propage.


Conclusion

Dans l’ensemble, cette étude fournit un aperçu éclairant de la manière dont certaines applications accèdent aux données qui devraient être protégées par des autorisations. L'étude n'a porté que sur un sous-ensemble de ce que Google appelle les autorisations « dangereuses », notamment en ignorant les autorisations telles que Bluetooth, les contacts et les SMS. Pour plus de détails sur ce rapport, je vous recommande de lire le document soumis à la FTC.