Le succès de StopCovid est aussi compromis par les protections d’Android

Nicolas Furno |

Depuis le départ, on évoque surtout les blocages liés à l’iPhone, mais l’app StopCovid voulue par le gouvernement français pourrait être tout aussi bloquée côté Android. Alors même que Google et Apple travaillent conjointement sur une API de suivi pensée spécifiquement pour créer une app de ce type, la France préfère développer sa propre solution, autour d’une approche centralisée. Problème, cette app ne sera sans doute pas viable techniquement, tant sur iOS que sur Android.

Le gouvernement a reconnu très vite que les limites imposées par Apple pour la sécurité des utilisateurs d’iOS ne permettaient pas d’avoir une app StopCovid efficace. Pour l’heure, la réponse officielle est toujours d’essayer de convaincre la firme de Cupertino de modifier son système, une tâche menée par Orange. L’opérateur historique français travaille aussi sur Android, où il a même déjà créé un prototype d’app. Le chercheur en sécurité @fs0c131y a mis la main sur cette app, qui donne une bonne idée des contraintes qui s’imposeront aussi à une app Android.

StopC19, un prototype de ce que StopCovid pourrait finir par être.

Précisons d’emblée que « StopC19 » n’est pas l’app StopCovid que le gouvernement présentera au parlement, avant éventuellement de la proposer aux Français. C’est un prototype d’app conçu à la fois par Orange et Sopra Steria, un « leader européen du conseil, des services numériques et de l’édition de logiciels » d’après son propre site. On ne connaît pas le rôle précis de cette app, mais il est évident qu’elle ne devait pas être disponible publiquement. Il s’agit probablement d’un prototype destiné à tester le mécanisme de suivi par Bluetooth, ou peut-être une version de travail destinée à être présentée au gouvernement.

Quoi qu’il en soit, c’est une app intéressante pour rappeler qu’Android n’est pas une plateforme beaucoup plus ouverte qu’iOS. On a beaucoup parlé de l’iPhone, mais les smartphones Android qui représentent l’écrasante majorité du marché français sont à peine mieux lotis dans ce domaine.

Ce qui est vrai, c’est qu’une app Android peut demander à s’exécuter en permanence, même sans devoir rester à l’écran. C’est d’ailleurs le cas de StopC19, qui lance un service « Foreground ». Concrètement, cela veut dire qu’elle peut utiliser le Bluetooth de l’appareil en permanence, même si l’utilisateur change d’app. Mais comme c’est une activité qui peut vider la batterie très rapidement et poser de multiples problèmes de sécurité, Google a aussi prévu une série de contre-mesures pour éviter les abus.

Pour commencer, une notification s’affichera en permanence à l’écran pour signaler qu’une app reste active. Android impose cette mesure qui vise à informer l’utilisateur de ce qui se passe. Pour se débarrasser de la notification, il n’y a qu’une seule option : forcer la fermeture de l’app, bloquant ainsi toute possibilité de suivi des malades et des personnes qui ont été à leur contact.

Même si l’effort pédagogique nécessaire pour convaincre tous les utilisateurs de StopCovid de garder cette notification était effectué et même si ces utilisateurs suivaient les consignes, Android finirait par revenir à la charge. En effet, le système mobile de Google surveille les apps qui demandent un tel accès et en cas d’abus, il peut afficher une deuxième alerte pour prévenir son utilisateur. C’est un petit peu le même concept que pour la géolocalisation permanente avec iOS 13 : vous pouvez accorder ce droit à une app, mais le système revient régulièrement à la charge pour s’assurer de votre accord.

L’app StopC19 crée non seulement un service qui fonctionne en permanence, l’app demande aussi un accès à internet, à la géolocalisation du smartphone1 et à d’autres informations qui lui permettent notamment de se relancer directement au démarrage. Avec un tel accès, il ne fait aucun doute qu’Android va considérer que c’est un abus et notifier régulièrement l’utilisateur, multipliant les chances à chaque fois qu’il supprime l’app de son smartphone.

AirBattery, une app Android qui repose sur un service de premier plan et qui affiche une notification permanente quand elle est utilisée.

Si la notification ne suffit pas à décourager les volontaires, l’impact de cette app sur l’autonomie et aussi potentiellement sur les performances générales finira sans doute de faire le travail. StopC19 exploite aussi l’une des options fournies par Google aux développeurs pour qu’un smartphone ne passe jamais en veille. C’est utile pour une app qui doit afficher une vidéo, cela peut aussi servir à maintenir le CPU actif plus longtemps (par exemple, pour exporter une vidéo à l’arrière-plan) ou pour maintenir l’accès à une puce sans fil en permanence. Ce qui est essentiel pour le Bluetooth dans le cadre d’une app de suivi.

L’app StopCovid devra s’accommoder des limites imposées par les deux plateformes mobiles. Elles sont plus strictes et directes sur un iPhone, mais cela ne veut pas dire que les smartphones Android laisseront une liberté totale aux créateurs de l’app, loin de là. Comme Apple, Google pourrait aider le gouvernement français en modifiant son système mobile, mais pourquoi est-ce que l’entreprise le ferait, alors qu’elle propose une API officielle ?


  1. D’après les informations rapportées par le quotidien Le Monde, la piste de la géolocalisation a été envisagée à un moment, mais abandonnée depuis pour StopCovid. Cette app est peut-être un prototype conçu quand l’idée était encore sur la table.  ↩

Accédez aux commentaires de l'article