Une faille dans TousAntiCovid fragilise la confidentialité de l'application de traçage des contacts, ce qui pourrait permettre de déterminer le statut de santé et l'identification de certains utilisateurs. Il faut souligner d'emblée que le risque demeure limité, mais il existe comme l'ont démontré des chercheurs en sécurité de l'Inria qui dévoilent leur découverte à cette adresse. En attendant un correctif, il est toujours possible de s'en prémunir en désactivant l'option Statistiques et mesure d'audience des paramètres de l'app.
Une des difficultés de TousAntiCovid est de regrouper plusieurs applications en une seule : le traçage des contacts ROBERT, le traçage des contacts par code QR Cléa (deux protocoles qui ont pour objectif commun de minimiser les données), le wallet pour le pass sanitaire et un convertisseur de certificats.
Toutes ces fonctions se partagent une partie de l'état du système (journaux d'événements, minuteries qui déclenchent les requêtes de statuts ainsi que les tokens d'autorisation). Ce sont autant d'opportunités d'attaques pour les plus mal intentionnés. À tout cela s'ajoute un mécanisme qui génère des statistiques afin d'en évaluer l'utilisation et son efficacité depuis le mois de juin.
Cette collecte pose problème, comme le résume Gaëtan Laurent dans ce fil Twitter. TousAntiCovid envoie régulièrement sur le serveur des statistiques générales ainsi qu'un journal d'événements (log) très détaillé enregistrant la plupart des actions de l'utilisateur.
L'app génère plusieurs types de données censées rester cloisonnées : le traçage Bluetooth lié à un pseudonyme (identifiant ID dans la spécification ROBERT), les événements applicatifs (identifiant UUID généré à l'installation de l'application) et les événements de santé qui ne sont liés à aucun identifiant pérenne mais qui présentent des horaires précis. C'est en croisant ces événements que des fuites de données apparaissent.
Les chercheurs ont déterminé qu'il y avait plusieurs manières de « reconstruire » une correspondance entre ces données, par exemple en recoupant les scans de plusieurs utilisateurs réalisés en même temps et au même endroit. Il y a par exemple le protocole Cléa qui cesse de synchroniser ses données lorsqu'un utilisateur se signale positif, alors que le protocole ROBERT poursuit ses envois de données. Par un jeu de devinette, il devient alors possible de déduire que tel utilisateur a été testé positif à la Covid.
Ce que le rapport souligne, c'est que si des barrières empêchent le croisement des données dans TousAntiCovid, elles ne sont pas suffisantes. Pour éviter un suivi potentiel, on peut toujours désactiver le réglage Statistiques et mesure d'audience. Les chercheurs proposent de réduire le niveau de détails des statistiques (une précision d'une heure ou d'une journée suffit pour l'analyse statistique, plutôt qu'à la demi-seconde), ou encore en supprimant des événements.
Source : ZDnet