Comment Android Q améliore les contrôles de confidentialité et d'autorisation sur Android Pie

Android Q apportera une refonte à la gestion des autorisations et des améliorations pour protéger la confidentialité des utilisateurs. Voici ce que Google a changé depuis Android Pie.

La pénétration du marché d'Android 9 Pie est à peine un un éclair sur le radar par rapport aux anciennes versions d'Android, mais cela ne retardera pas les projets de Google de publier la prochaine version d'Android, Android Q. Nous nous attendons à ce que Google dévoile la première version Developer Preview d'Android Q le mois prochain, mais avant celle de Google. annonce que nous avons réussi à mettre la main sur une version d'Android Q qui est probablement assez avancée dans le développement de Google faire du vélo. Dans notre premier article détaillant les changements à venir dans la prochaine version de Dessert, nous avons parlé de la nouvelle interface de contrôle des autorisations. Cependant, je n'ai montré que quelques captures d'écran du système de gestion des autorisations remanié, j'ai donc voulu donner plus de détails. J'ai également effectué davantage de tests et rassemblé plus d'informations sur les nouvelles autorisations dans Android Q, la fonctionnalité « rôles », le nouveau programme d'installation du package, etc. Mais d’abord, voici un bref récapitulatif de la gestion des autorisations sous Android.

Un bref historique de la gestion des autorisations sous Android

Android 4.3 Jelly Bean introduit pour la première fois gestion granulaire des autorisations via la fonctionnalité « App Ops », même si elle était cachée à l'utilisateur. Android 4.4 KitKat a même introduit de nouvelles autorisations contrôlables par l'utilisateur dans l'interface App Ops, même si vous accès root nécessaire et un module Xposed pour y accéder. Enfin, Android 6.0 Marshmallow a introduit le système d'autorisations que nous connaissons tous, bien qu'avec des limitations sur les autorisations que vous pouvez restreindre. L'ancienne fonctionnalité App Ops existe toujours dans Android, bien qu'elle ne soit accessible que via la ligne de commande (cmd appops). Certaines applications sur le Google Play Store, profitez de l'implémentation de la ligne de commande d'App Ops pour fournir une interface de gestion des autorisations plus puissante. Google n'expose pas App Ops aux utilisateurs, car ceux-ci peuvent ne pas savoir ce qu'ils font, ce qui les amène à refuser à une application certaines autorisations dont elle pourrait réellement avoir besoin pour fonctionner correctement. Malheureusement, depuis l'introduction de la gestion des autorisations dans Android Marshmallow, nous n'avons constaté aucun changement majeur dans cette fonctionnalité, c'est-à-dire jusqu'à Android Q.

Opérations d'application dans Android 4.3 Jelly Bean

Android 6.0 Marshmallow a également connu un changement majeur dans la manière dont certaines autorisations sont accordées aux applications. Avant Android 6.0, tout autorisations définies dans un le fichier manifeste de l'application sont accordés dès l’installation. Avec Android 6.0, Google introduction de la gestion des autorisations d'exécution pour certaines autorisations qu'ils jugent dangereuses, telles que l'accès au stockage externe, l'accès à la caméra, l'accès à la localisation, etc. Les autorisations d'exécution ne sont accordées qu'après l'installation d'une application, et l'utilisateur doit consentir explicitement à l'octroi de ces autorisations en appuyant sur « autoriser » dans une boîte de dialogue d'autorisation lorsque cela est demandé. Jusqu'à Google réprimé sur les applications ciblant un niveau d'API plus ancien, les développeurs d'applications pouvaient contourner les autorisations d'exécution en ciblant le niveau d'API 22 ou inférieur (Android Lollipop ou version antérieure). Android Q avertira les utilisateurs essayer d'exécuter une application ciblant le niveau d'API 22 ou inférieur, incitant davantage les développeurs à mettre à jour leurs applications pour éviter d'être humiliés par le système d'exploitation. Ainsi, au moment où Android Q arrive sur les appareils, presque toutes les applications sur l'appareil d'un utilisateur devraient être soumises aux contrôles de gestion des autorisations introduits dans Android 6.0+. Dans cet esprit, Google nettoie les contrôles d'autorisation dans Android Q pour permettre aux utilisateurs de gérer plus facilement le niveau d'accès des applications sur leur appareil.

Gestion des autorisations plus facile dans Android Q par rapport à Android Pie

D'Android 6.0 Marshmallow à Android 9 Pie, la gestion des autorisations d'exécution existante permet uniquement à l'utilisateur d'autoriser ou de refuser certaines autorisations à une application. Nous avons noté dans notre article précédent qu'Android Q permettra à l'utilisateur de restreindre une autorisation uniquement lorsque l'application est en cours d'utilisation. Cette fonctionnalité a enthousiasmé beaucoup de gens, mais nous devons préciser que seule l'autorisation de localisation peut être limitée lorsqu'une application est en cours d'utilisation. Cela signifie que vous ne pouvez pas restreindre le microphone ou la caméra uniquement lorsque l'application est en cours d'utilisation. Vous ne devriez pas en être déçu, car Android Pie est déjà disponible. introduit certaines restrictions sur l'utilisation en arrière-plan du caméra et microphone en exigeant que les applications soient au premier plan ou utilisent un service de premier plan. De plus, Android Q développe cela en divulguer à l'utilisateur chaque fois qu'une application utilise le microphone, la caméra ou accède à l'emplacement de l'appareil. Ceci est affiché à l'utilisateur sous forme d'icônes de barre d'état dans le coin supérieur droit. Lorsque la barre d'état est développée, le texte affiché à côté des icônes indique à l'utilisateur quelle application utilise actuellement l'une de ces 3 autorisations sensibles. Enfin, si l'utilisateur appuie sur cette icône, une boîte de dialogue s'affiche qui indique à l'utilisateur quelle(s) application(s) utilisent quelle(s) autorisation(s). Encore une fois, cela s'applique uniquement aux autorisations de la caméra, de l'emplacement et du microphone.

Google semble encourager les utilisateurs à restreindre l'accès à la localisation uniquement lorsqu'une application est en cours d'utilisation, car ils l'ont fait dans un rappel dans Android Q lorsque l'utilisateur a autorisé une application à toujours accéder à sa position. Ce rappel se présente sous la forme d'une notification qui indique à l'utilisateur qu'une application a utilisé sa position et qu'elle a toujours la possibilité de le faire. En appuyant sur la notification, vous accédez à la page d'autorisation de localisation pour cette application, permettant à l'utilisateur de choisir de restreindre l'autorisation de localisation uniquement pendant que cette application est en cours d'utilisation. Félicitations pour cela, Google.

Enfin, dans la version que j'ai, l'interface utilisateur pour les autorisations d'accès spéciales aux applications (telles que l'optimisation de la batterie, l'administration de l'appareil, l'accès Ne pas déranger, l'accès aux notifications, etc.) est inchangée. Cependant, une nouvelle autorisation spéciale « Accès SMS aux applications financières » a été ajoutée à la liste, même si je ne sais pas comment elle diffère de l'autorisation "Accès SMS Premium", dont les applications ont besoin pour envoyer des messages texte à Premium Nombres. Il est possible que cette nouvelle autorisation soit destinée aux applications bancaires qui utilisent les SMS pour certaines transactions, conformément à Les nouvelles politiques de Google Play restreindre les autorisations SMS et journal d’appels.

Gestion des autorisations dans Android Q

Voici une galerie de captures d'écran montrant les nouvelles modifications apportées à l'interface de gestion des autorisations dans Android Q. J'ai inclus des descriptions détaillées de chaque page dans les légendes de chaque image.

Accorder des autorisations dans Android Q

Voici des captures d'écran montrant la gestion des autorisations d'exécution dans Android Q. Nous avons déjà parlé de ce que montrent les deux premières captures d'écran, mais la troisième capture d'écran est une toute nouvelle fonctionnalité d'Android Q dont je n'ai jamais parlé auparavant. La possibilité pour Android de permettre à l'utilisateur de contrôler les autorisations avant d'exécuter une application héritée (définie comme une application ciblant le niveau d'API bonne configuration, mais Google a finalement basculé le commutateur et l'a activé dans Android Q.

Surveillance en temps réel des autorisations dans Android Q

Voici des captures d'écran qui montrent comment Android Q alertera l'utilisateur lorsqu'une application accède à l'une des nombreuses autorisations sensibles/dangereuses, notamment la caméra, l'emplacement et le microphone.

Nouvelles restrictions sur l'accès au Presse-papiers et l'accès aux fichiers externes

Restrictions d'accès au Presse-papiers en arrière-plan

Dans mon article précédent, j'ai noté une nouvelle autorisation dans le cadre d'Android Q qui suggérait que les applications non système exécutées en arrière-plan ne seraient plus en mesure de lire le presse-papiers du système. Après avoir fait fonctionner le Google Play Store, j'ai décidé d'installer quelques applications de gestion de presse-papiers populaires telles que Gestionnaire du presse-papiers, Tondeuse, et Pile de clips pour tester si j'avais raison. Pour le meilleur ou pour le pire, Google bloque l'accès au presse-papiers en arrière-plan dans Android Q, comme aucune des applications que j'ai testées n'a pu détecter le texte que j'ai copié dans le presse-papiers. J'ai même confirmé que ces applications ont bien le "READ_CLIPBOARD" autorisation qu'ils ont demandée à l'aide de la commande App Ops suivante :

adb shell cmd appops query-op --user 0 READ_CLIPBOARD allow

Heureusement, copier et coller du texte vers et depuis n'importe quelle application fonctionne toujours, mais les applications exécutées en arrière-plan ne peuvent plus lire le texte copié. Il est trop tôt pour dire si ce changement tuera les applications de gestion du presse-papiers, car il est possible que Google introduise une nouvelle API pour faire d'une application un gestionnaire de « gestionnaire de presse-papiers » par défaut. Cependant, je ne vois aucune preuve que cela se produise dans Android Q.

Accès aux fichiers de stockage externe

J'ai couvert à peu près tout sur ce changement dans mon article précédent, mais voici un résumé de ce que Google modifie dans Android Q en ce qui concerne l'accès aux fichiers de stockage externe. Tout d’abord, nous devons définir ce que signifie « stockage externe ». Sous Android, le stockage externe est l'emplacement où sont stockés tous les fichiers et dossiers que vous pouvez voir lorsque vous branchez votre téléphone à un ordinateur, tels que les téléchargements, DCIM, la musique, les films et les images. Les applications sont censées stocker uniquement les fichiers dans un stockage externe auxquels d'autres applications pourraient vouloir accéder, comme la musique, les images, les vidéos, les documents, etc.

Pour qu'une application puisse accéder aux fichiers sur un stockage externe, l'application doit contenir le READ_EXTERNAL_STORAGE et/ou WRITE_EXTERNAL_STORAGE autorisations, qui sont toutes deux des autorisations d’exécution. Une fois qu'une application dispose de ces autorisations, il n'y a aucune restriction quant aux fichiers du stockage externe qu'elle peut lire ou modifier. Dans Android Q, Google décompose ces deux autorisations en autorisations plus granulaires, permettant à l'utilisateur de restreindre une application afin qu'elle ne puisse lire ou écrire que certains types de fichiers. Plus précisément, les nouvelles autorisations d'Android Q permettront à l'utilisateur de restreindre une application afin qu'elle puisse uniquement :

  • Lisez les emplacements sur vos médias.
  • Lire ou écrire des fichiers musicaux.
  • Lire ou écrire des photos/fichiers image.
  • Lire ou écrire des fichiers vidéo.

Une application qui a déjà reçu l'autorisation READ_EXTERNAL_STORAGE avant la mise à niveau de l'utilisateur vers Android Q se verra automatiquement accorder les autorisations de « lecture » répertoriées ci-dessus, mais pas celles d'« écriture ». autorisations.

Accès à la localisation en arrière-plan

L'année dernière, un rapport de Le New York Times a mis en lumière l'omniprésence des applications qui suivent la localisation des utilisateurs pour les vendre aux annonceurs. Un suivi de localisation incorrect est un problème dont Google est bien conscient, après avoir été accusés eux-mêmes. Android 8.0 Oreo introduit restrictions sur la fréquence à laquelle les applications exécutées en arrière-plan peuvent accéder à l'emplacement d'un appareil. Les demandes de localisation des applications exécutées en arrière-plan sont fortement limitées, donc si une application souhaite suivre votre position avec n'importe quel degré de précision, il doit divulguer qu'il le fait avec une activité visible ou un service de premier plan et un service persistant. notification.

Cependant, chaque fois que Google modifie le fonctionnement des principales API Android, les développeurs dont les applications ont légitimement utilisé ces API comme prévu sont affectés. Nous avons vu cela se produire récemment avec les restrictions de Google Play sur les autorisations SMS et journal d'appels, ce qui entraîne de nombreuses les applications populaires perdent des fonctionnalités clés. La même situation s'est produite lorsque Google a limité l'accès à la localisation en arrière-plan, les utilisateurs d'un logiciel populaire application de golfse plaindre qu'ils ne pouvaient plus l'utiliser pour suivre leurs tirs. Heureusement, Android Q ajoute un nouveau "ACCESS_BACKGROUND_LOCATION" autorisation qui, lorsqu'elle est accordée, permet toujours à une application d'accéder à l'emplacement d'un appareil, même lorsque l'application s'exécute en arrière-plan. Ainsi, la nouvelle version d'Android continuera non seulement à protéger les utilisateurs contre l'accès indésirable à la localisation en arrière-plan, mais fournira également un mécanisme permettant aux utilisateurs d'autoriser les applications. de leur choix pour surveiller leur emplacement en arrière-plan.

L'ajout de "rôles" dans Android Q

Chez Daniel vidéo pratique pour notre Chaîne YouTube de XDA TV, vous l'avez peut-être entendu mentionner une nouvelle section « Rôles » dans les paramètres des applications par défaut (Paramètres --> Applications et notifications --> Applications par défaut). Les seuls « rôles » présentés dans la vidéo concernaient le navigateur, le téléphone et la messagerie, ce qui semblait redondant puisqu'il existe déjà des catégories d'applications par défaut pour le navigateur, les applications téléphoniques et les applications SMS. Après avoir passé un peu plus de temps avec Android Q sur le Pixel 3 XL, j'ai découvert un service de « rôle » pour lequel je pouvais vider l'état via le 'dumpsys role' commande. Après cela, j'ai trouvé plusieurs « rôles » qui ne correspondent à aucune des catégories d'applications par défaut qui existent déjà: CAR_MODE_DIALER_APP, CALL_COMPANION_APP, CALL_SCREENING_APP, et PROXY_CALLING_APP. Après avoir installé quelques applications propriétaires de Google, j'ai réussi à faire apparaître « l'application téléphonique en mode voiture » et « l'application de filtrage des appels » dans les pages « rôles », comme indiqué ci-dessous.

J'ai décompilé le nouveau système APK responsable de l'interface de gestion des autorisations d'Android Q, une nouvelle application appelée "PermissionController", et j'ai trouvé un fichier rôles.xml qui fait allusion à ce que les "rôles" feront dans le prochain Android version. Je ne vais pas coller l'intégralité du XML ici, mais je vais partager un extrait de l'un des rôles qui devrait vous aider à comprendre ce que feront les rôles.

PermissionController.apk/res/xml/roles.xml

Disons que je sélectionne une application pour avoir le rôle "galerie". Pour qu'une application s'affiche en tant qu'application de galerie valide, elle doit avoir un composant requis: une activité qui se lance avec les filtres d'intention d'action et de catégorie. android.intent.action.MAIN et android.intent.category.APP_GALLERY respectivement. Si cela est vrai et que l'application reçoit le rôle "Galerie" de la part de l'utilisateur, l'application se verra automatiquement accorder des autorisations. dans l'ensemble d'autorisations "media_visual", qui, je crois, fait référence à la nouvelle autorisation audio, vidéo et images que j'ai décrite plus tôt. En fait, le nouveau WRITE_MEDIA_VIDEO et WRITE_MEDIA_IMAGES les autorisations sont explicitement autorisées pour une application avec le rôle « galerie ». Enfin, l'application devient le gestionnaire préféré lorsqu'une autre application envoie une intention d'appeler une application de galerie.

Fondamentalement, toute application dotée d'un certain "rôle" et disposant des composants et des autorisations requis déclarés se voit automatiquement accorder d'autres ensembles d'autorisations pertinents pour ses cas d'utilisation. Dans l'exemple que j'ai publié ci-dessus, une application avec le "rôle" de galerie reçoit automatiquement l'autorisation d'accéder aux ensembles d'autorisations liés à l'accès aux fichiers dont elle a besoin pour fonctionner. Vraisemblablement, cela signifie qu'une application à laquelle l'utilisateur a accordé le rôle de galerie n'aurait pas besoin de demander à l'utilisateur l'autorisation de lire ou d'écrire des fichiers image ou vidéo.

A en juger par les noms, le CAR_MODE_DIALER_APP, CALL_COMPANION_APP, CALL_SCREENING_APP, et PROXY_CALLING_APP les rôles permettront à l'utilisateur de choisir une application de numérotation différente lorsqu'il conduit, une application pour exécuter diverses fonctions pendant que l'utilisateur est dans un appel téléphonique, une application pour filtrer les appels téléphoniques avant que l'utilisateur ne décroche et une application pour faciliter les appels avec un numéro intermédiaire, respectivement. Nous ne pensons pas que le rôle de filtrage des appels soit directement lié à celui du Google Pixel. Écran d'appel fonctionnalité, à en juger par ce que nous avons vu dans AOSP. Il est plutôt destiné aux applications qui souhaitent agir comme un videur pour les appels indésirables, comme un filtre d'appels.

Programme d'installation de packages repensé

Le programme d'installation du package par défaut d'Android (l'application qui gère l'installation de nouvelles applications) fait l'objet d'une refonte. Plutôt que d'afficher une activité en plein écran chaque fois que vous souhaitez installer une nouvelle application, le programme d'installation du package mis à jour dans Android Q affiche une petite boîte de dialogue au milieu de l'écran. Cette interface utilisateur d’installation de mini packages est utilisée depuis longtemps pour les tablettes Android, mais c’est la première fois que nous la voyons sur les smartphones Android.

Sous Android Q, l'exécution d'une application ciblant le niveau d'API 22 ou inférieur (Android 5.0 Lollipop) affichera un avertissement indiquant que l'application est obsolète. Cet avertissement, je suppose, est suffisant pour dissuader la plupart des utilisateurs de s'embêter avec des applications ciblant les versions pré-Android Marshmallow. Ajoutez à cela le fait que Google exigera que toutes les applications soumises au Play Store après août 2019 ciblent API niveau 28, vous pouvez voir comment les développeurs avec des applications obsolètes sont obligés de retravailler leurs applications pour cibler une API plus récente. niveau. Quel est le rapport avec le nouveau programme d’installation du package? Eh bien, étant donné qu'Android 5.0 Lollipop est le dernier niveau d'API sans demandes d'autorisation d'exécution obligatoires pour certaines autorisations sensibles, la mort éventuelle des applications ciblant Le niveau d'API 22 et inférieur signifie que Google n'a plus besoin de faire de la place dans le message d'installation du package pour afficher une longue liste d'autorisations pour lesquelles une application est accordée. installation.

Cependant, vous ne verrez probablement pas ce programme d'installation de package simplifié sur tous les appareils Android Q. Huawei, par exemple, personnalise le programme d'installation du package avec un scanner de virus et de logiciels malveillants intégré (quelque chose que je déteste) ainsi qu'un gestionnaire d'autorisations intégré (quelque chose que j'aime.) EMUI 10, par conséquent, s'en tiendra probablement au programme d'installation de packages plein écran que nous sommes tous habitué.

Nouvelles options de blocage d'appels

Une caractéristique nous pensions qu'il arriverait dans Android Pie a fait son chemin dans Android Q, vous montrant à quel point nous sommes proches de la finalisation des fonctionnalités principales d'Android Q. La fonctionnalité que nous avons trouvée à l'époque vous permettrait de bloquer les appels provenant de numéros de téléphone inconnus, privés, payants ou de tout numéro ne figurant pas dans votre liste de contacts. Voici une capture d'écran de la fonctionnalité de l'application de numérotation AOSP. L'application Google Phone n'a pas encore été mise à jour avec cette fonctionnalité, mais nous supposons qu'elle l'obtiendra bientôt.

Toutes les applications installées affichent désormais les icônes du lanceur (bug possible ?)

La plupart des applications sur votre appareil ont des icônes de lancement, car elles sont censées servir de passerelles vers leur interface utilisateur. Cependant, toutes les applications ne disposent pas d'une interface utilisateur, auquel cas un développeur peut choisir de ne pas déclarer d'activité avec les filtres d'intention d'action et de catégorie. android.intent.action.MAIN et android.intent.category.LAUNCHER respectivement. Je ne sais pas s'il s'agit simplement d'un bug, mais dans Android Q, toutes les applications, même celles qui tentent de masquer leurs icônes de lancement de la manière décrite ci-dessus, afficheront des icônes dans le lanceur. J'ai testé cela sur les lanceurs AOSP, Pixel Launcher et Nova Launcher d'origine sur un Google Pixel 3 XL fonctionnant la version divulguée d'Android Q et l'a comparée à un Google Pixel 2 XL exécutant le dernier Android 9 Pie construire. Lorsque vous appuyez sur l'une de ces icônes, cela vous amène simplement à la page d'informations de cette application dans Paramètres.

Hyperion Dock, un module complémentaire pour Hyperion Launcher, n'affiche normalement pas d'icône de lanceur. C’est cependant le cas dans Android Q.

S'il ne s'agit pas simplement d'un bug, cela permettrait aux utilisateurs de savoir rapidement si une nouvelle application a été installée, même si cette application tente de se cacher de l'utilisateur.

Vignette Paramètres rapides « Capteurs désactivés »

Il existe une nouvelle vignette Paramètres rapides appelée « Capteurs désactivés » qui active non seulement le mode avion, mais également désactive toutes les lectures des capteurs sur l'appareil. Je l'ai confirmé en installant DevCheck du développeur reconnu XDA flar2 et en comparant la sortie des lectures du capteur avec et sans la bascule « capteurs désactivés ». Lorsque la vignette « Capteurs désactivés » est activée, l'appareil cesse de signaler tous les capteurs de l'appareil. Je ne sais pas si cette vignette de configuration rapide est uniquement destinée au débogage des ingénieurs de Google, mais ce serait un fonctionnalité utile pour toute personne vraiment préoccupée par les données que son appareil collecte sur son environnement.

Informations sur l'appareil et le système DevCheckDéveloppeur: flar2

Prix ​​: Gratuit.

4.6.

Télécharger

En savoir plus sur Android Q

C'est tout ce que j'ai trouvé jusqu'à présent dans Android Q en matière de confidentialité et d'autorisation. Restez à l'écoute pour mon dernier article couvrant tous les petits ajustements de l'interface utilisateur et de l'expérience utilisateur. Suivez notre Balise Android Q pour plus d'articles comme celui-ci. Voici un lien vers certains des articles auxquels j'ai fait référence le plus souvent, ainsi que quelques autres que je pense que vous devriez lire :

  • Exclusif: la première version d'Android Q comporte un thème sombre à l'échelle du système, une refonte des autorisations, des allusions à un « mode bureau » et bien plus encore.
  • Exclusif: Google travaille sur une fonctionnalité de type Face ID pour Android Q
  • Android Q peut bloquer les lectures du presse-papiers en arrière-plan, mieux protéger vos fichiers multimédias, prendre en charge la rétrogradation des applications, etc.
  • Android Q peut être livré avec de nouvelles superpositions de polices, de formes d'icônes et de couleurs d'accentuation
  • "Dynamic Android" peut permettre aux développeurs de tester un AOSP GSI sur n'importe quel appareil Android Q
  • Mode sombre d'Android Q: comment le prochain système d'exploitation Android de Google s'attaquera aux thèmes d'une lumière aveuglante