Android Q protégera mieux votre vie privée avec de nouvelles fonctionnalités

L'analyse d'une version divulguée d'Android Q montre que davantage de mises à niveau de confidentialité seront apportées à Android: blocage des lectures en arrière-plan du presse-papiers, meilleure protection des médias, etc.

Chaque nouvelle version d'Android est dotée de nouvelles fonctionnalités, ce qui signifie qu'Android a besoin de nouvelles autorisations pour accéder à ces fonctionnalités. J'ai trouvé beaucoup de nouvelles autorisations dans le framework Android Q (que je ne couvrirai pas toutes dans cet article car beaucoup d'entre elles ne sont pas intéressantes). Certaines des autorisations que j’ai trouvées n’avaient aucune description, mais leurs noms sont de toute façon assez explicites. Plongeons-nous et discutons des nouvelles améliorations de confidentialité en coulisses dans Android Q, ainsi que de quelques autres fonctionnalités intéressantes que j'ai trouvées.

Un merci spécial à PNF Software pour nous avoir fourni une licence d'utilisation Décompilateur JEB. JEB Decompiler est un outil d'ingénierie inverse de qualité professionnelle pour les applications Android.

Blocage de l'accès au presse-papiers en arrière-plan

Saviez-vous que toutes les applications Android peuvent lire votre presse-papiers, et vous n'avez pas besoin de leur accorder une autorisation d'exécution pour le faire? De nombreuses personnes copient probablement des informations sensibles telles que les noms d'utilisateur, les mots de passe, les adresses, etc. tout le temps, il serait donc facile pour n'importe quelle application de récupérer ces données en arrière-plan. C'est pourquoi de nombreuses applications de gestion de mots de passe comme GarderPass disposent de leurs propres claviers que vous pouvez utiliser pour contourner le gestionnaire de presse-papiers Android. Les applications de gestion de mots de passe effacent souvent le presse-papiers pour vous après avoir copié et collé quoi que ce soit. La raison pour laquelle les applications Android doivent lire le presse-papiers est qu’elles ne peuvent accepter aucun texte du presse-papiers sans celui-ci, ce qui signifie que vous ne pouvez pas coller le texte que vous avez copié. Heureusement, Android Q cherche à changer cela.

Une nouvelle autorisation a été ajoutée appelée «READ_CLIPBOARD_IN_BACKGROUND" On dirait qu'il fera exactement ce qu'il dit: limiter les applications qui peuvent lire le presse-papiers en arrière-plan. Le niveau de protection de cette autorisation est « signature », ce qui signifie que seules les applications signées par l'OEM peuvent bénéficier de cette autorisation.

<permissionandroid: name="android.permission.READ_CLIPBOARD_IN_BACKGROUND"android: protectionLevel="signature"/>

Prise en charge de la rétrogradation des applications ?

Avez-vous déjà installé une mise à jour pour une application sur Google Play et l'avez-vous immédiatement regretté? Parfois, un développeur propose une mise à jour qui casse quelque chose qu'il n'avait pas prévu, mais une fois la mise à jour publiée et installée, il est trop tard pour faire quoi que ce soit. Le développeur doit rapidement publier un correctif et l'utilisateur doit soit cesser d'utiliser l'application jusqu'à ce qu'une mise à jour soit publiée, soit désinstaller l'application et charger une ancienne version. Il n'y a aucun moyen de rétrograder une application à moins que vous n'ayez un appareil rooté avec une application comme Renfort en titane, car le gestionnaire de packages d'Android vous empêche d'installer d'anciennes versions d'applications. Il y a une bonne raison pour le faire, car l'installation d'une ancienne version d'une application pourrait entraîner une panne si le les données de l'application ne sont pas effacées ou cela pourrait exposer l'utilisateur à un danger si l'ancienne version est vulnérable à un problème de sécurité. défaut.

Bien que nous ne sachions pas avec certitude si Google autorisera les utilisateurs à restaurer des applications vers une ancienne version, nous avons trouvé plusieurs autorisations et commandes dans Android Q qui suggèrent que ce sera possible. Tout d’abord, le nouveau «PACKAGE_ROLLBACK_AGENT" et "MANAGE_ROLLBACKS" Les autorisations suggèrent que l'application de marché préinstallée peut agir comme un agent pour gérer la restauration des versions de l'application. La première autorisation est « signature », tandis que la seconde est « installateur » en plus de « signature », cela signifie donc uniquement une application signée par la plate-forme avec la possibilité de installer des applications (généralement, seul le gestionnaire de packages, Google Play Store ou d'autres magasins d'applications propriétaires, selon l'appareil) peut utiliser ces autorisations. Deux nouvelles intentions de diffusion protégées ont été ajoutées: «PACKAGE_ENABLE_ROLLBACK" et "PACKAGE_ROLLBACK EXECUTED.» Ces diffusions ne peuvent pas être envoyées par des applications tierces et sont probablement destinées à permettre à l'application concernée de savoir quand elle a été rétrogradée (beaucoup plus comme la façon dont les applications sont informées de leur mise à jour, ce qui leur donne la possibilité d'afficher un message au prochain démarrage.) Enfin, un nouveau drapeau a été ajouté à le "pm install"commande shell. Le drapeau, appelé «--enable-rollback", peut vous permettre de restaurer une application vers une version antérieure. Cependant, je n'ai pas réussi à le faire fonctionner.

<protected-broadcast android: name="android.intent.action.PACKAGE_ENABLE_ROLLBACK"/>
<protected-broadcast android: name="android.intent.action.PACKAGE_ROLLBACK_EXECUTED"/>
<permissionandroid: name="android.permission.PACKAGE_ROLLBACK_AGENT"android: protectionLevel="signature"/>
<permissionandroid: name="android.permission.MANAGE_ROLLBACKS"android: protectionLevel="installer|signature"/>

Sécuriser les fichiers sur le stockage externe

Le stockage de données dans Android implique le « stockage interne » (/data à l’exclusion de /data/media) et le « stockage externe » (/data/media et toutes les cartes SD ou clés USB montées). Les APK et leurs données les plus sensibles sont stockés dans la mémoire interne, tandis que tous les médias partagés comme les documents, images, vidéos, etc. sont stockés dans un stockage externe. Par défaut, les applications ne peuvent lire et écrire des fichiers que dans un seul répertoire du stockage externe: /data/media/[user]/Android/data/[package_name]. (Pour en savoir plus sur ce comportement, je vous recommande de lire mon article sur sdcardfs dans Android Oreo.) Une fois que l'utilisateur accorde à une application une autorisation dans le cadre du groupe d'autorisations de stockage externe (READ_EXTERNAL_STORAGE ou WRITE_EXTERNAL_STORAGE), l'application peut alors lire ou écrire n'importe quel fichier sur un stockage externe. Ceci est problématique car vous accordez à une application la possibilité de récolter potentiellement de nombreuses données vous concernant alors que vous vouliez simplement la laisser lire ou écrire certains fichiers. Pour résoudre ce problème, Google semble introduire quelques nouvelles autorisations liées au stockage externe dans Android Q. Les autorisations porteront sur les fonctionnalités suivantes :

  • Possibilité de lire les emplacements de vos médias. (Blocage probable de l'accès aux métadonnées des images par défaut.)
  • Possibilité d'accéder aux fichiers musicaux.
  • Possibilité d'accéder aux photos.
  • Possibilité d'accéder aux vidéos.

Pour les applications qui détiennent déjà le READ_EXTERNAL_STORAGE ou WRITE_EXTERNAL_STORAGE autorisations avant la mise à jour d'Android Q, ils obtiendront le nouveau lire autorisations mais pas les nouvelles écrire autorisations. Par exemple, une application déjà accordée READ_EXTERNAL_STORAGE par l'utilisateur se verra automatiquement accorder le READ_MEDIA_IMAGES autorisation mais pas le WRITE_MEDIA_IMAGES autorisation.

Chaînes pertinentes du framework-res d'Android Q

<stringname="permgroupdesc_aural">access your musicstring>
<stringname="permgrouplab_visual">Photos & Videosstring>
<stringname="permgrouprequest_aural">Allow <b>%1$s</b> to access your music?string>
<stringname="permgroupdesc_visual">access your photos & videosstring>
<stringname="permgrouplab_activityRecognition">Activity recognitionstring>
<stringname="permgrouplab_aural">Musicstring>
<stringname="permdesc_videoRead">Allows the app to read your video collection.string>
<stringname="permdesc_videoWrite">Allows the app to modify your video collection.string>
<stringname="permdesc_imagesRead">Allows the app to read your photo collection.string>
<stringname="permdesc_imagesWrite">Allows the app to modify your photo collection.string>
<stringname="permdesc_audioRead">Allows the app to read your music collection.string>
<stringname="permdesc_audioWrite">Allows the app to modify your music collection.string>
<stringname="permlab_audioRead">read your music collectionstring>
<stringname="permlab_audioWrite">modify your music collectionstring>
<stringname="permdesc_mediaLocation">Allows the app to read locations from your media collection.string>



"android.permission.READ_EXTERNAL_STORAGE"

targetSdk="10000">
<new-permission name="android.permission.READ_MEDIA_AUDIO" />
<new-permission name="android.permission.READ_MEDIA_VIDEO" />
<new-permission name="android.permission.READ_MEDIA_IMAGES" />
split-permission>

"android.permission.WRITE_EXTERNAL_STORAGE"
targetSdk="10000">
<new-permission name="android.permission.READ_MEDIA_AUDIO" />
<new-permission name="android.permission.READ_MEDIA_VIDEO" />
<new-permission name="android.permission.READ_MEDIA_IMAGES" />
split-permission>

En savoir plus

Le retour de l’accès à la localisation en arrière-plan

Android Oreo et Android 9 Pie ont fait de grands pas en avant pour garantir la confidentialité des utilisateurs, mais certains utilisateurs ont estimé que Google allait trop loin. Un de ces domaines qui peut être considéré comme une régression de caractéristiques est celui accès à l'emplacement en arrière-plan. L'accès à la localisation dans Android Oreo et versions ultérieures est fortement limité, voire carrément supprimé, pour les applications exécutées en arrière-plan. les applications doivent être au premier plan ou disposer d'un service de premier plan en cours d'exécution si elles souhaitent interroger en permanence les paramètres de l'appareil. emplacement. Cela empêche les applications d'espionner votre position en arrière-plan, mais cela empêche également l'utilisateur de cartographier sa propre position à l'aide d'une application en arrière-plan. Il s'agit d'un problème que nous avons abordé dans un article séparé, et il semble que Google ajoute une nouvelle autorisation dans Android Q pour répondre aux préoccupations de ces développeurs et utilisateurs.

Dans Android Q, une nouvelle autorisation a été ajoutée pour permettre à une application d'avoir un accès en arrière-plan à l'emplacement de l'appareil. La description de l’autorisation à l’utilisateur prévient que « l’application aura toujours accès à l’emplacement, même lorsque vous n’utilisez pas l’application ». Cette autorisation peut obtenir des autorisations « en plus de l'emplacement approximatif ou précis » afin que l'application « puisse accéder à l'emplacement tout en s'exécutant en arrière-plan ». En revanche, l'autorisation de localisation grossière ne peut obtenir votre position qu'en fonction de sources réseau telles que des tours de téléphonie cellulaire ou des réseaux Wi-Fi, mais uniquement lorsque l'application est dans le premier plan.

Chaînes pertinentes du framework-res d'Android Q

<stringname="permgroupbackgroundrequest_location">Always allow <b>%1$s</b> to access this device’s location?string>
<stringname="permgroupbackgroundrequestdetail_location">The app will always have access to the location, even when you’re not using the app.string>
"permdesc_accessBackgroundLocation">If this is granted additionally to the approximate or precise location access the app can access the location while running in the background.</string>
"permdesc_accessCoarseLocation">This app can get your location based on network sources such as cell towers and Wi-Fi networks, but only when the app is in the foreground. These location services must be turned on and available on your phone for the app to be able to usethem.string>
"android.permission.ACCESS_FINE_LOCATION"
targetSdk="10000">
<new-permission name="android.permission.ACCESS_BACKGROUND_LOCATION" />
split-permission>

"android.permission.ACCESS_COARSE_LOCATION"
targetSdk="10000">
<new-permission name="android.permission.ACCESS_BACKGROUND_LOCATION" />
split-permission>

En savoir plus

Reconnaissance de l'activité physique

Une nouvelle autorisation a été ajoutée à Android Q qui permet à une application de « reconnaître votre activité physique ». Techniquement, ce n’est pas nouveau puisque c’est fait déjà partie des services Google Play, mais cela pourrait signifier que Google dissociera l'autorisation des services Play. Compte tenu de l’importance des services Google Play dans la fourniture des fonctionnalités de base d’Android, il est bon de voir une partie de sa puissance restituée à l’AOSP.

<stringname="permgroupdesc_activityRecognition">recognize activitystring>
<stringname="permgrouprequest_activityRecognition">Allow <b>%1$s</b> to recognize your physical activity?string>
<stringname="permdesc_activityRecognition">This app can recognize your physical activity.string>

Pour plus d'actualités sur Android Q, consultez notre étiqueter avec les dernières nouvelles triées par date. Nous avons récemment publié un article contenant de nombreuses preuves indiquant que Google travaille sur prenant en charge le matériel d'authentification faciale de type Face ID dans Android Q. Nous avons également un première prise en main de la version divulguée d'Android Q (et il y a même une vidéo) que vous devriez consulter ici. Nous publierons davantage de nos découvertes sur cette première version d'Android Q que nous avons obtenue, alors restez à l'écoute.