
Comme Google le précise dans le blog des développeurs Android, « Les services d'accessibilité ne doivent être utilisés que pour aider les utilisateurs handicapés à utiliser des appareils et des applications Android. Ils s'exécutent en arrière-plan et reçoivent des rappels du système lorsque AccessibilityEvents est déclenché. De tels événements indiquent une certaine transition d'état dans l'interface utilisateur, par exemple, le focus a changé, un bouton a été cliqué, etc. Un tel service peut éventuellement demander la possibilité d'interroger le contenu de la fenêtre active. Le développement d'un service d'accessibilité nécessite l'extension de cette classe et l'implémentation de ses méthodes abstraites. »
Il s’agit donc là d’une fonctionnalité très puissante, que les auteurs de logiciels malveillants ont également remarquée et incorporée dans leurs applications malveillantes. En effet, une fois qu’une application malveillante reçoit une telle autorisation, la partie est terminée dans la mesure où elle peut alors s’installer comme administrateur de l’appareil. En tant qu’administrateur, elle peut télécharger d’autres applications et exécuter différentes opérations en arrière-plan.
Raison pour laquelle Google a décidé de procéder à un changement dans les conditions d'utilisation des services d'accessibilité d'Android. Dans un courriel envoyé à certains développeurs, l’entreprise a annoncé qu’ils doivent désormais justifier l'utilisation de ces services qui, jusque-là, étaient disponibles pour tous : « les applications requérant les services d’accessibilité doivent uniquement être utilisées pour aider les utilisateurs avec des handicaps à se servir des appareils et applications Android », a insisté Google.

« Action requise : si vous ne l’avez pas déjà fait, vous devez expliquer aux utilisateurs comment votre application utilise "android.permission.BIND_ACCESSIBILITY_SERVICE“ pour aider les utilisateurs handicapés à utiliser des appareils et applications Android. Les applications qui ne parviennent pas à répondre à cette exigence pourraient être supprimées de Google Play. Toutefois, vous pourrez retirer toutes requêtes pour les services d’accessibilité de votre application. Vous pouvez également choisir de supprimer votre application. »
Une annonce qui vise donc indirectement des applications comme LastPass, Tasker, Cerberus et Universal Copy, qui utilisent toutes l'API susmentionnée. Les développeurs devront alors trouver des solutions de contournement pour leurs applications ou supprimer certaines fonctions afin d'éviter à leurs applications d’être éjectées de Play Store. Certaines fonctionnalités, telles que la capacité de LastPass à remplir automatiquement les mots de passe, peuvent utiliser des fonctionnalités plus récentes qui sont livrées avec la dernière version d'Android. Cependant, cela signifie que cette solution ne pourra pas marcher sur des appareils tournant sur des versions plus anciennes de la plateforme.
« Malheureusement, comme leur décision de supprimer les superpositions de systèmes sur Oreo, cette décision prend tout son sens quand vous considérez qu'ils font pour le mieux afin de contrôler les fonctionnalités des applications Android, empêchant les applications de voler les données des utilisateurs à leur insu. Ce qui est un problème assez important pour eux », a commenté le développeur James Fenn. « Cela dit, j'espère qu'ils trouveront un autre moyen de régler ce problème sans avoir à supprimer des centaines de bonnes applications utiles du Play Store. »
Source : blog développeur Android, BC