4 votes

Quelle est la part du noyau GMS privilégié dans la pile Android ?

Le noyau GMS a une tonne de capacités et ne semble pas fonctionner comme une application typique (comme dans une application vivant dans la couche "Applications" illustrée ci-dessous). Je pensais qu'il aurait plus de privilèges et qu'il pourrait se trouver dans la couche Android Framework ou au même endroit que la mention "Core Libraries". Cependant, j'ai remarqué que u0_a12 UID (pas root o system ) a été rattaché à la com.google.android.gms indiquant qu'il s'agit d'une application appartenant à l'utilisateur. Quelqu'un peut-il nous donner quelques précisions à ce sujet ?

Android Stack

7voto

Irfan Latif Points 16863

Réserves Android Plage d'UID 10000 à 19999 pour les applications - utilisateur, système ou cadre. u0_a12 n'indique pas une application appartenant à un utilisateur, cela signifie simplement que l'UID 10012 qui peut être attribué à n'importe quelle application. Sur Android, chaque application se voit attribuer un UID unique et non nul. Aucune application ne peut s'exécuter avec les privilèges Root, y compris les applications système.

L'UID 0 (Root) est l'utilisateur privilégié dans le contrôle d'accès discrétionnaire (DAC) mais il faut noter que même un processus s'exécutant avec l'UID 0 peut être non privilégié ou un processus avec un UID non nul peut être privilégié. Reportez-vous à Capacités de Linux notamment Capacités ambiantes .

Cependant, le cadre Java d'Android ne s'appuie pas beaucoup sur le DAC, il dispose de son propre mécanisme de contrôle des privilèges par le biais de permissions, par exemple pour le stockage, l'appareil photo, Internet, etc. Autorisations du manifeste ont des niveaux de protection différents. Certains sont accordés sans demander à l'utilisateur, d'autres nécessitent l'approbation de l'utilisateur pour être accordés ou refusés et certains sont réservés uniquement à l'utilisation du système. Pour plus de détails, veuillez consulter cette réponse .

Les services mobiles de Google (GMS) font appel à la fois à la couche applicative et à certaines fonctionnalités réservées aux applications privilégiées, au système et au cadre. Par exemple, les services Play ont android.permission.INTERNET qui est accordée à chaque application qui en fait la demande. Mais il a aussi android.permission.READ_LOGS ( 1 ) qui a un niveau de protection signature|privileged et ne peut pas être accordée aux applications installées par l'utilisateur. De même, GMS Core dispose d'un accès illimité à l'Internet, même dans les cas suivants Économiseur de données y Économiseur de batterie modes ( 2 ) ce qui n'est également possible que pour les applications cadres.


RELATION :

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X