Logo fr.androidermagazine.com
Logo fr.androidermagazine.com

Autorisations pour les applications Android: comment google réussit-il? ...

Table des matières:

Anonim

Il y a eu beaucoup de nouvelles récemment concernant un manque de sécurité ou de jugement - vraiment, les deux - chez Apple qui permet aux applications iOS d'emprunter vos données de contact et de les envoyer à des parties inconnues sans votre consentement. Apple a adressé cette question aux membres du Congrès américain et prendra des mesures pour renforcer son contrôle dans une future mise à jour iOS. C'est une bonne nouvelle et nous sommes ravis de le voir se produire.

Mais qu'en est-il d'Android? Au cours de tout ce focus sur les applications faisant des choses sans autorisation explicite de l'utilisateur, vous voyez des personnes se référer au modèle des autorisations Android. Nous allons tout décomposer pour vous. Ce n'est pas parfait, mais cela fonctionne plutôt bien - et c'est certainement mieux que l'absence de système de permission.

Passons en revue les autorisations sur Android et la manière dont vous devez être sûr de vous séparer.

De par sa conception, aucune application Android n'est autorisée à effectuer des opérations qui "auraient un impact négatif sur les autres applications, le système d'exploitation ou l'utilisateur". Pour qu'une application ait accès à des éléments tels que les données de contact privées, les données d'une autre application, un accès réseau ou même quelque chose d'aussi banal que l'écriture de ses propres données dans le stockage de l'appareil, l'application doit déclarer qu'elle sera autorisée à le faire, puis vous devez accepter cette permission avant de pouvoir installer l'application. Lorsque vous installez une application, une liste d'autorisations déclarées par cette application vous est présentée.

Et notez que nous disons que les applications "déclarent" des autorisations et ne les "demandent" pas nécessairement. Nous supposons que la sémantique, mais aucune case ne dit "Hé, Jerry! Je suis une application, et j'aimerais beaucoup que vous me laissiez regarder vos informations de contact. Ça va?" Au lieu de cela, les applications Android sont plus directes et disent "Yo, Jerry. Je suis une application. Voici une liste de ce que je peux faire, il suffit de le savoir. Prenez-le ou laissez-le."

Les applications Android déclarent à quelles autorisations elles ont accès, et donc aux bacs à sable dans lesquels elles peuvent jouer. Et vous pouvez choisir de les accepter et d'installer l'application, ou non. Avoir un sens?

Autorisations - directes et personnelles sur l'Android Market

Voici à quoi cela ressemble si vous installez, par exemple, Path. Vous obtenez la liste des macros d'autorisations déclarées par Path. Touchez-en un et l'explication de cette permission est un peu plus détaillée.

Voilà à quoi ça ressemble si vous installez une application à partir d'Android Market. Vous devrez faire défiler la liste pour les voir tous. Un peu plus bas est celui qui a obtenu Path (et d'autres) avec toutes sortes de problèmes sur iOS. Dans sa forme Android, vous pouvez clairement voir que Path déclare l’autorisation «Vos données personnelles - lire les données de contact». Appuyez sur cette permission pour obtenir plus de détails:

"Permet à une application de lire toutes les données de contact (adresses) enregistrées sur votre téléphone. Des applications malveillantes peuvent l'utiliser pour envoyer vos données à d'autres personnes."

Donc, Path vous a dit qu'il a accès à vos données de contact. Cela ne vous dit pas nécessairement ce qu'il va en faire (si nous ne l'avions pas fait, voudriez-vous vraiment savoir?), Mais il vous dit qu'il peut le lire.

Applications en dehors de l'Android Market

Mais que se passe-t-il si vous chargez latéralement une application? Ou utilisez Amazon Appstore? Les applications sont toujours censées déclarer les autorisations qu'elles utilisent et vous voyez cette liste d'autorisations lorsque vous installez l'application. (N'oubliez pas que les applications Amazon Appstore sideloads, de sorte que ce que vous voyez est exactement le même que si vous installiez une application à partir d'un courrier électronique ou d'un téléchargement.)

Voici à quoi ressemblerait le chargement latéral de Gmail. La seule différence réelle entre le chargement latéral et l’installation à partir d’Android Market, dans la mesure où les autorisations disparaissent, c’est que, lorsque vous procédez au chargement auxiliaire, vous n’obtenez pas la description plus détaillée des autorisations.

Pourquoi tout ça? Les applications Android sont «en mode bac à sable» - elles jouent dans leur propre espace et possèdent leurs propres fichiers de données dans ce bac à sable. Ils ne peuvent partager le jeu dans le bac à sable de quelqu'un d'autre qu'après avoir explicitement demandé l'autorisation, et cela via les écrans que vous voyez ci-dessus. Lorsque vous acceptez ces autorisations et installez l'application, vous lui accordez la permission de jouer dans les sandbox où l'application dit vouloir jouer.

Du côté des développeurs … et comment les consommateurs doivent faire leur part

En coulisse, les développeurs d'applications déclarent ces autorisations dans le fichier AndroidManifest.xml, élément obligatoire du code source d'une application Android. Ces déclarations sont statiques et chacune d'entre elles est présentée à l'utilisateur comme nous l'avons vu ci-dessus. Android n'a aucun moyen d'octroyer des autorisations de manière dynamique au moment de l'exécution, car, selon les développeurs du système d'exploitation Android, "cela complique l'expérience utilisateur au détriment de la sécurité". Forcer une application à vous dire ce qu'il veut faire, au début, et ne jamais pouvoir changer - c'est le modèle de sécurité le plus élevé.

Le revers de la médaille? C'est aussi le plus facile à ignorer pour les utilisateurs.

Nous savons tout ce qui s'est passé avec Path sur iOS. Comme beaucoup d'autres applications iOS, il utilisait le contact sans autorisation. Pas à des fins néfastes, mais néanmoins, sans autorisation préalable, et sans demander plus tard. Path for Android a envoyé toutes sortes de données à ses serveurs, comme sur iOS. Mais comme nous l'avons montré dans ce message, sous Android, Path doit d'abord déclarer l'autorisation. Ou plus précisément, il déclare une permission et vous l'acceptez ou la refusez.

Le problème est que lorsque vous installez une application, vous allez très probablement survoler la section des autorisations. Vous ne devriez vraiment pas, mais nous le faisons tous. Le fait que les autorisations ne soient pas écrites en langage clair fait partie du problème. Mais même s’ils l’étaient, la plupart d’entre nous cliquons de toute façon. C'est comme ça, sur chaque plate-forme. D'autre part, il y a ceux qui craignent les autorisations parce qu'ils ne les comprennent pas. Encore une fois, un langage plus convivial aiderait ici.

Une des solutions consiste à demander à l'application des autorisations au moment de l'exécution, lorsqu'elle souhaite faire quelque chose qu'elle ne peut pas faire normalement. Nous avons déjà lu que l’équipe Android pense que cela est gênant et peu sûr, ce qui risque de ne pas se produire.

Une autre solution consiste à autoriser les autorisations sélectionnées, un peu comme RIM le fait avec BlackBerry. Vous vous retrouvez avec des applications dont la moitié seulement fonctionne parce que vous avez refusé des autorisations, tout comme BlackBerry. Il n'y a pas vraiment de méthode infaillible, si ce n'est de tout lire lorsque vous installez cette application et d'essayer de comprendre ce que cela demande et pourquoi.

C’est là que nous intervenons tous. Certains d’entre nous comprennent les autorisations d’application plus que d’autres, et quand une application fait quelque chose qu’elle ne devrait pas faire, vous entendez le tollé. Lire les autorisations. Lire les commentaires du marché. Lire Android Central. Quand quelque chose ne va pas, vous en entendrez parler.

Et une dernière chose …

Une note spéciale doit aller ici sur les vulnérabilités de sécurité. Chaque programme d’ordinateur - et c’est-à-dire chaque système d’exploitation mobile - en est rempli. Lorsqu'une vulnérabilité est trouvée qui permet à une application de contourner le modèle de sécurité, Google la corrige rapidement. Cela arrive et ça va toujours arriver. La rapidité avec laquelle cette mise à jour vous est transmise dépend des personnes qui fabriquent votre téléphone. Ils méritent le crédit quand ils le font correctement, et le mépris quand ils prennent trop de temps et le font mal. Ce n'est pas quelque chose qui va disparaître de si tôt, et nous sommes là pour vous aider à faire appel à un OEM qui ne garde pas les choses aussi sûres qu'elles ne le devraient.

Si vous souhaitez approfondir vos droits sur les autorisations Android, consultez la page de développement Google correspondante.