6 votes

Les applications provenant de "Sources inconnues" sont-elles limitées par des autorisations ?

Je sais que les applications de Google Play ne peuvent rien faire qui ne soit pas précisé dans leur AndroidManifest.xml et sera empêché de le faire. Je veux savoir si les applications non Google Play sont verrouillées avec la même mesure de sécurité.

Android m'indiquera-t-il les autorisations requises avant l'installation et bloquera-t-il les fonctions qui utilisent des autorisations non indiquées dans le manifeste des applications non Google Play ? Parce que Google le dit :

Si une application tente d'utiliser une fonction protégée qui n'a pas été déclarée dans le manifeste de l'application, l'échec de la permission se traduira généralement par une exception de sécurité renvoyée à l'application. Les contrôles d'autorisation des API protégées sont appliqués au niveau le plus bas possible pour empêcher tout contournement. La figure 2 présente un exemple de message d'utilisateur lors de l'installation d'une application qui demande l'accès à des API protégées.

Cela s'applique-t-il aux applications non Google Play ?

7voto

Andrew T. Points 12017

Android me dira-t-il quelles sont les autorisations requises avant l'installation ?

En général, oui. Sur la plupart (sinon la totalité) des appareils Android, il existe une application système appelée "Package installer" qui gère l'installation/mise à niveau d'une application. Lorsque vous installez un fichier APK de source inconnue, cette application s'exécute et affiche toutes les autorisations demandées par l'application, ce qui ressemble à ceci :

Package installer on KitKat

Installateur de paquets sur KitKat

Android bloquera-t-il les fonctions qui utilisent des autorisations non mentionnées dans le manifeste des applications non Google Play ?

Au cours de l'installation, Android ne vérifie pas/teste si une fonction nécessite une autorisation spécifique pour être exécutée. En d'autres termes, l'utilisateur peut toujours installer l'application. Cependant, l'application lancera SecurityException (qui peut se planter/se comporter de manière imprévisible/ne rien faire, selon la manière dont il est traité) lors de l'exécution de la fonction qui nécessite une permission, mais qui n'est pas déclarée dans le fichier manifeste. Cela s'applique à toutes les applications, quel que soit l'endroit où elles sont installées. .

Exemple : effectuer une opération de réseau sans déclarer <uses-permission android:name="android.permission.INTERNET" /> fera planter l'application avec une trace de la pile :

E/AndroidRuntime(18698): Caused by: java.lang.SecurityException: Permission denied (missing INTERNET permission?)

.

4voto

Jason D. Points 134

Une application doit déclarer toutes ses exigences en matière de permissions, car celles-ci lui sont accordées lors de l'installation.

Voir la section "Utilisation des autorisations" ici : http://developer.Android.com/guide/topics/security/permissions.html

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