TikTok, Meta, X et autres collectent vos données via les notifications push sur iOS
Apple a depuis longtemps déclaré que l'empreinte digitale, c'est-à-dire le suivi d'un utilisateur par le biais des caractéristiques matérielles et logicielles de son appareil, n'était pas autorisée. Mais apparemment, certaines applications populaires ont trouvé une porte dérobée qu'elles exploitent à la vue de tous.
Tommy Mysk, chercheur en protection de la vie privée, a découvert qu'un certain nombre d'applications iOS populaires utilisent une fonction de notification push, introduite pour la première fois en 2016, pour envoyer des données détaillées sur l'appareil de l'utilisateur aux serveurs de leur entreprise.
Mysk explique qu'il a remarqué ce schéma inquiétant et apparemment persistant en examinant plusieurs apps de médias sociaux, notamment TikTok, Facebook, FB Messenger, Instagram, Threads et X. Toutes ces apps ont tiré parti de la fonctionnalité qui leur permettait de personnaliser leurs notifications push même lorsqu'elles n'étaient pas en cours d'exécution.
Cette fonction n'est pas fondamentalement malveillante et sert un objectif important. Par exemple, elle peut être utile aux applications qui doivent décoder la charge utile de la notification ou télécharger du contenu supplémentaire pour présenter au mieux la notification à l'utilisateur. Lorsqu'une application reçoit une notification push, iOS lui signale de se réveiller et de s'exécuter pendant un court laps de temps. Pendant ce temps, l'application peut faire ce que le développeur veut, y compris modifier l'apparence de la notification push d'une manière ou d'une autre. Ce dernier point est l'objectif initial de la fonction, mais le problème est que l'application peut également collecter des données ou envoyer des informations sur l'utilisateur pendant cette période.
Mysk a observé que les applications qu'il a étudiées ont appris à tirer pleinement parti de ce temps d'exécution limité pour collecter des données à partir de l'appareil et les envoyer à des serveurs distants. Le chercheur qualifie la possibilité d'exécuter du code en arrière-plan de "mine d'or pour les applications gourmandes en données ".
Comment cela fonctionne-t-il, selon Mysk ?
- Le développeur de l'application propose un code pour que l'application s'exécute en arrière-plan.
- Le développeur envoie une notification push à l'utilisateur de l'application. Le développeur envoie une notification push à l'utilisateur de l'application. La notification peut concerner n'importe quoi, qu'il s'agisse d'une nouvelle, d'un score sportif en direct ou d'une nouvelle demande d'ami
- L'appareil de l'utilisateur reçoit la notification push, mais ne l'affiche pas encore à l'écran. iOS reconnaît que la notification push provient de l'application sociale et la réveille en arrière-plan. L'application est maintenant en cours d'exécution, mais l'utilisateur ne peut pas la voir ni interagir avec elle.
- L'application exécute le code que le développeur a préparé en arrière-plan. Et bien que ce code puisse être inoffensif, par exemple pour ajouter des informations supplémentaires, telles que des images, à la notification, il peut également être utilisé pour collecter des données à partir de l'appareil de l'utilisateur et les envoyer aux serveurs du développeur
Ce système peut fournir aux développeurs une combinaison unique des caractéristiques logicielles et matérielles de l'appareil de l'utilisateur.
De nombreuses applications utilisent cette fonction pour envoyer des informations détaillées sur l'appareil tout en fonctionnant discrètement en arrière-plan. Il s'agit notamment de la durée de fonctionnement du système, de la localisation, de la langue du clavier, de la mémoire disponible, de l'état de la batterie, du modèle de l'appareil, de la luminosité de l'écran, pour n'en citer que quelques-uns.
Ces données peuvent ensuite être utilisées pour suivre l'utilisateur à travers les applications, souligne Mysk.
Quelles sont les données recueillies ?
Dans la vidéo décrivant les exemples de cette manipulation, Mysk montre les types de données qui peuvent être collectées par les entreprises de médias sociaux par le biais de l'échappatoire des notifications push. La collecte se fait soit par le biais des propres services de l'entreprise, soit à l'aide d'outils tiers, tels que les outils d'analyse de Google (Google Analytics et Firebase).
Avec TikTok, par exemple, l'application envoie l'heure de démarrage de l'iPhone aux serveurs distants chaque fois qu'elle reçoit une notification push.
Cela signifie que TikTok sait exactement quand l'utilisateur a redémarré son iPhone pour la dernière fois. S'il est collecté sur une certaine période, le temps de démarrage peut indiquer à quelle fréquence l'utilisateur redémarre son iPhone, ce qui peut indiquer la fréquence d'utilisation ou la stabilité de l'appareil. Il peut également servir à identifier l'appareil de l'utilisateur ou à suivre son activité.
Lorsque l'application Facebook envoie une notification push au même appareil, Facebook reçoit les mêmes données concernant la dernière heure de démarrage de l'iPhone de l'utilisateur.
Comme le note le chercheur, ceci pourrait faciliter le suivi de l'utilisateur à travers différentes applications. En effet, l'heure de démarrage peut servir d'identifiant unique pour l'appareil de l'utilisateur. Si, pour un même appareil, plusieurs applications collectent et envoient l'heure de démarrage au même serveur ou à des serveurs différents, ces serveurs peuvent comparer les données relatives à l'heure de démarrage et les relier au même appareil. Ils peuvent ainsi suivre le comportement et les préférences de l'utilisateur à travers différentes applications, même si l'utilisateur n'utilise pas le même compte ou les mêmes informations de connexion pour chaque application. Tout cela fait de l'exploitation de la fonction de notification push par les entreprises de médias sociaux une menace légitime pour la vie privée.
En outre, Mysk note que certaines applications, par exemple Facebook et TikTok, envoient également des données lorsqu'elles effacent leurs notifications dans le Centre de notifications, une fonction d'iOS qui permet d'avoir une vue d'ensemble des alertes provenant des applications.
Par exemple, lorsqu'un utilisateur efface une notification de Facebook, l'application envoie une demande contenant des informations détaillées, notamment sur la mémoire disponible, le dernier événement de l'application, comme le fait d'aimer une publication, le temps écoulé depuis le dernier événement de l'application, l'ID de l'acteur, qui identifie le compte de l'utilisateur sur Facebook, la taille de contenu préférée, l'horodatage (c'est-à-dire la date et l'heure exactes) lorsque la notification a été effacée, le type de connexion, et ainsi de suite.
Twitter (X) gère la collecte des informations de l'utilisateur plus ou moins de la même manière que Facebook et TikTok.
Les trois entreprises utilisent Firebase, un service proposé par Google, note Mysk, qui ajoute que "la fréquence à laquelle de nombreuses applications envoient des informations sur l'appareil après avoir été déclenchées par une notification est époustouflante ".
Nouvelles règles d'Apple pour les développeurs : qu'est-ce qui va changer ?
Mysk place beaucoup d'espoirs dans les nouvelles règles pour les développeurs qu'Apple a mises en place et qui entreront en vigueur au printemps. En dévoilant ces règles, Apple a annoncé que les développeurs devraient expliquer pourquoi leurs applications doivent utiliser certaines API (Application Programming Interfaces), qui sont des méthodes permettant à différentes applications de communiquer et de partager des données.
Les développeurs devront expliquer pourquoi ils ont besoin d'accéder aux informations relatives à l'appareil, non seulement pour leur propre code, mais aussi pour les kits de développement logiciel (SDK) tiers qu'ils ajoutent à leurs applications. Les applications et les SDK tiers devront rédiger une ou plusieurs "raisons approuvées " expliquant pourquoi ils ont besoin d'accéder aux données de l'appareil par le biais d'API spécifiques dans des documents distincts appelés "fichiers manifestes de confidentialité ". Ces raisons doivent être "cohérentes avec la fonctionnalité de l'application " Nous avons rédigé une analyse détaillée de la nouvelle exigence d'Apple pour les développeurs en août - à consulter ici.
Mais la question est de savoir si cela empêchera les entreprises de collecter des données à partir des applications par le biais de la porte dérobée des notifications push. En théorie, cela devrait être le cas, mais seulement si Apple applique sérieusement ces règles et surveille la conformité des développeurs. Ce qui n'est pas du tout garanti.
Nous pensons que les nouvelles règles amélioreront la situation, mais dans quelle mesure ? C'est une question difficile qui comporte de nombreuses variables. Les développeurs devront tenir compte des nouvelles règles, il y a donc des chances qu'ils essaient de les suivre de bonne foi. Toutefois, ceux qui veulent absolument continuer à collecter ces données choisiront probablement de prendre des risques. Il appartiendra alors à Apple et à ses évaluateurs de prendre ces applications en flagrant délit.
Quoi qu'il en soit, nous espérons qu'Apple adoptera une approche proactive et transparente en matière de respect de la vie privée, faute de quoi les données des utilisateurs continueront d'être menacées.