0 votes

Permissions Android et logiciels malveillants

Une application Android malveillante peut-elle "cacher" certaines autorisations importantes et tromper ainsi l'utilisateur en lui faisant croire qu'elle est "bonne" (ou destinée à faire uniquement ce qu'elle est censée faire). L'utilisateur peut donc "croire" que l'application est authentique et l'installer ? En bref, existe-t-il un moyen pour une application de falsifier ses autorisations ? Je sais qu'il y a un AndroidManifest.xml que chaque développeur d'application doit personnaliser afin d'obtenir les autorisations nécessaires. Et très certainement, c'est ce qui est affiché à l'utilisateur afin qu'il/elle puisse reconnaître avant d'installer l'application. Maintenant, ma question est la suivante : existe-t-il un moyen de ne pas "montrer" à l'utilisateur l'une des permissions ?

1voto

Andrew Webb Points 1002

Non. Du moins pas sans buguer. Toutes les permissions non écrites dans le manifeste ne seront pas accordées à l'application par Android. Depuis Android 6, une application peut également demander des permissions au moment de l'exécution. Dans ce cas, elles ne sont pas dans le manifeste et l'utilisateur ne les accorde pas lors de l'installation mais dès que l'application demande ces permissions, l'utilisateur devra les accorder.

En bref, vous avez le contrôle des autorisations et il n'existe aucun moyen facile de contourner ce système.

Il est toutefois possible d'utiliser d'autres applications pour contourner le traitement des autorisations. Par exemple, si votre application inclut une fenêtre de navigateur Chrome, il n'est pas nécessaire que votre application ait la permission d'accès à Internet puisque Chrome a déjà cette permission.

0 votes

Qu'en est-il des applications natives. Tout composant natif qui effectue plusieurs actions au sein de l'application Android principale doit-il également demander explicitement des autorisations ?

1voto

Milner Points 533

A ma connaissance : Pas directement. Mais avec les règles d'autorisation actuelles de Google, vous pouvez toujours vous faire avoir :

L'approche habituelle consiste à publier d'abord une "application propre" qui ne demande que les autorisations de base - mais qui prend soin de couvrir tous les "groupes d'autorisations" dont elle aura besoin par la suite (voir : Groupes de permissions Android ). Ainsi, il pourrait, par exemple, demander la INTERNET (qui est même automatiquement accordée, et demandée par environ 80 % de toutes les applications, ce qui la rend peu suspecte), qui appartient à l'option NETWORK groupe. Plus tard, le développeur publiera une mise à jour, qui demandera alors en plus, par exemple, les autorisations de CHANGE_NETWORK_STATE , CHANGE_WIFI_STATE y DOWNLOAD_WITHOUT_NOTIFICATION - qui appartiennent également à la NETWORK groupe. 1 Comme l'application installée possède déjà une permission de ce groupe, l'utilisateur devra PAS sont informés de ces nouvelles autorisations (la boîte de dialogue d'installation de l'application Google Play Store affichera "Cette application ne requiert aucune nouvelle autorisation significative"), considérant ainsi l'application comme "sûre". Mais avec ces nouvelles autorisations, l'application est maintenant capable d'établir des connexions aux réseaux de son choix au moment de son choix, et de télécharger des "trucs" - sans que l'utilisateur ait à faire quoi que ce soit.

Bien sûr, on peut toujours vérifier la liste complète des autorisations avant chaque mise à jour. Mais 1) le lien correspondant n'est pas vraiment évident (il faut aller jusqu'au bout de la page playstore de l'application pour le voir), 2) cela voudrait dire qu'il faut se rappeler quelles sont les permissions dont dispose déjà la version installée, et 3) c'est un travail fastidieux au moins quand il s'agit de 10 permissions et plus (ce n'est pas un cas rare : environ 25%+ de toutes les applications nécessitent 10 permissions ou plus). En dehors de cela, 4) si la "mise à jour automatique" est activée dans l'option Google Play Store (qui est la valeur par défaut), ces mises à jour seraient installées sans que l'utilisateur ait la possibilité de les vérifier auparavant.

Ce n'est donc même pas possible, mais Google rend ce scénario très facile à utiliser pour les "méchants". Il n'en a pas toujours été ainsi : jusqu'à la mi-2013, lors des mises à jour, chaque autorisation ajoutée était portée à l'attention de l'utilisateur. Ce nouveau système a été mis en place pour "améliorer l'expérience utilisateur" et "rendre le Playstore plus convivial". Malgré les critiques relatives à la sécurité, le système a été maintenu.


1 : Il s'agit juste d'un exemple de constellation. Considérez d'autres <a href="https://developer.android.com/reference/android/Manifest.permission_group.html" rel="nofollow noreferrer" title="Developer Reference: Permission groups">Groupes de permission </a>et leurs permissions également - par ex. <a href="https://android.izzysoft.de/applists/perms#BLUETOOTH" rel="nofollow noreferrer"><code>BLUETOOTH</code></a> y <a href="https://android.izzysoft.de/applists/perms#BLUETOOTH_ADMIN" rel="nofollow noreferrer"><code>BLUETOOTH_ADMIN</code></a> .

0 votes

En bref, il est possible de "cacher" les autorisations lors de l'installation, puis de les poser lors de l'exécution et, si l'utilisateur l'autorise, l'application peut se voir accorder n'importe quoi. Mais pour en revenir à ma question, il n'est toujours pas "possible" d'avoir des permissions "illicites", c'est-à-dire celles dont l'utilisateur n'a pas connaissance, n'est-ce pas ?

0 votes

@user907810 Non, une application ne peut pas masquer les autorisations, ce qui est le cas de l'application Google Playstore. Si vous activez sources inconnues , télécharger le .apk et déclencher son installation via, par exemple, un gestionnaire de fichiers, l'installateur vous montrerait chaque permission ajoutée. Et grâce à Playstore qui cache certaines permissions : Oui, à moins que l'utilisateur ne vérifie la liste complète des permissions avant l'installation (ou via Paramètres ' Applications lorsqu'il est déjà installé), il peut y avoir de nombreuses autorisations dont il n'a pas connaissance (je pourrais en citer plus de 20 d'emblée).

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