Exodus Privacy

Rencontre avec Exodus Privacy, qui révèle les trackers des applications Android

Quels trackers contiennent vos applications Android habituelles ? C'est à cette question que tente de répondre l'association Exodus Privacy, avec sa plateforme libre Exodus. Via l'analyse des logiciels et de leur trafic, elle révèle les petits secrets de certains grands noms.

Depuis trois mois, un groupe d’hacktivistes français conçoit la plateforme Exodus. Son but : automatiser l’analyse du contenu et des émissions de données d’applications Android, à partir d’archives d’installation (APK) récupérées sur le Google Play Store. Ce midi, l’outil est publié, avec une première série de 375 rapports, cataloguant 44 trackers. Amazon, Firefox, ProtonMail, Signal, Spotify ou encore VLC sont passés au crible.

Accéder aux rapports d'Exodus Privacy
Consulter le code sur GitHub (licence AGPL v3)

Le Yale Privacy Lab, de l’université du même nom, publie lui un dossier sur le pistage des mobinautes, en approfondissant les travaux du groupe français, avec Le Monde et The Intercept. « Le 18 septembre, j’entrais en contact avec le Yale Privacy Lab avec lequel nous avons pérennisé une collaboration, sans contrat. Ils s’intéressent beaucoup plus à l’analyse légale de ce que réalisent les trackers » nous déclare Esther (alias U+039b ou « Lambda »), qui mène le développement et le projet.

Un mois après cette prise de contact, le 21 octobre, Exodus Privacy devenait officiellement une association. Elle doit pérenniser le développement des outils et les analyses, destinés à devenir une démarche de long terme.

L’équipe s’interroge d’ailleurs sur la possibilité de classer ces « pisteurs », même si elle se refuse à tout jugement. « Ce que nous appelons tracker, c’est un élément logiciel en charge de collecter, de stocker, voire d’envoyer des données concernant l’identité d’un utilisateur ou son activité » détaille Esther.

Avec cette première publication, le projet qu’elle dirige passe une étape importante, après des mois d’un travail initié dans une grande discrétion.
Des débuts très prudents

Les travaux ont commencé fin août, après la publication d’un article sur le tracker Teemo chez Numerama. Il a inspiré plusieurs hacktivistes, en quête de pisteurs dans les applications.

« J’ai tweeté trois commandes simples qui permettaient à n’importe qui de savoir si Teemo est présent dans tel ou tel APK. Rapidement, d’autres personnes qui faisaient la même chose m’ont contactée. C’est comme ça qu’est né l’embryon du groupe » se souvient Esther. Ces trois personnes seront le noyau de l’initiative, qui attirera jusqu’à neuf personnes pendant sa genèse.

Esther n’en est pas à son coup d’essai. Depuis moins d’un an, elle conçoit des outils centrés sur l’activité des internautes, comme la marmite connectée « HotSpoot » dont la flamme change de couleur en fonction du site visité par les personnes connectées à un hotspot Wi-Fi.

Exodus Privacy a débuté dans un bunker numérique. Après un premier contact via un réseau social, chaque nouveau membre était redirigé vers des e-mails chiffrés puis un canal de discussion (aussi chiffré) accessible via Tor. Chacun était prévenu des risques et considéré comme responsable de ses actes, pouvant impliquer les autres participants.

La raison : l’équipe tâtonnait sur les méthodes d’analyse et leur légalité. Publier les résultats d’un décorticage trop profond d’une application pouvait engager légalement le groupe. La discrétion était donc de mise. « Au début, on ne savait pas si ça allait durer ou s’étioler rapidement » note par ailleurs Esther.

L’initiative a commencé à se structurer le 16 septembre, avec la décision de monter une association. De nouveaux membres sont arrivés. L’un d’eux est Aeris, derrière d’autres projets d’analyse technique, dont le décortiqueur de chiffrement de connexion CryptCheck, et administrateur système chez Cozy Cloud.

« Quand je suis arrivé, ils se demandaient quoi faire. Comme ils ne savaient pas trop quels étaient les risques qu’ils prenaient, mieux valait prendre ses précautions » se remémore-t-il. « Quand Esther m’a contacté, j’ai sauté sur l’occasion. Avec CryptCheck, je faisais déjà des analyses de données pour fournir des rapports. J’avais aussi envie de le faire pour les mobiles et potentiellement plus tard les sites Internet. »
Un risque de procès toujours présent, mais une équipe plus sereine

L’équipe a fait appel à deux juristes, pour étudier le cadre légal à respecter. L’un est devenu l’avocat de l’association. « Assez tôt, un avocat a accepté de nous défendre pro bono. Nous avons beaucoup discuté avec lui de nos méthodes d’analyse, de constitution des rapports. Une autre analyse a été menée par un juriste et les deux audits légaux aboutissent au fait que nos méthodes sont légales » assure Esther.

La méthode est donc de décompresser l’archive APK de chaque application, et d’y chercher une référence aux trackers (via l’adresse de ses sites). Ensuite, une analyse des données envoyées (en clair ou chiffrées) permet d’avoir une idée des informations transmises, et d’ajouter un nouveau tracker à la plate-forme si besoin.

En décompressant l’archive, Exodus obtient la liste des fichiers pour y chercher une référence à un tracker. Il ne s’agit pas de manipuler ces fichiers pour reconstituer le code source. « Il n’y a pas de décompilation du code de l’APK. On va directement aller chercher des signatures dans le binaire de l’APK » précise l’équipe.

Malgré tout, « notre avocat nous a dit qu’il fallait s’attendre à avoir des plaintes. Même si notre activité n’est pas illégale, on montre des choses que les sociétés n’ont pas forcément envie de montrer. On s’y attend ». Les propriétaires d’applications pourraient d’ailleurs découvrir des éléments intégrés par leur prestataire de développement, pour des raisons techniques ou commerciales, sans leur consentement.

Depuis sa formation en association, l’équipe est bien plus sereine. La responsabilité individuelle devient davantage collective, même si les personnes physiques jugées responsables peuvent toujours être inquiétées pénalement. Désormais, l’activité jusqu’ici cachée s’affiche au grand jour, les discussions se tenant sur un canal IRC public, seuls des éléments réclamant une sécurité spécifique étant toujours transmis confidentiellement.
Découverte : la « flemme » massive des développeurs

Parmi les 345 applications décortiquées, l’outil pour développeurs Crashlytics et la régie publicitaire de Google (Doubleclick) sont de très loin les « trackers » les plus utilisés, devant Localytis, Flurry et HockeyApp.

« On s’attendait déjà plus ou moins à ce qu’on a découvert, malheureusement » avance Aeris. « Aujourd’hui, s’il y a autant de trackers, c’est dû à la flemme des développeurs, qui cherchent des frameworks qui font le café » estime-t-il. Il veut donc « exposer les mauvaises pratiques » de développement, qui mènent à la multiplication de ces appels par les applications. Leurs propriétaires pourraient être prévenus par l’équipe, pour signaler une trop grande gourmandise de ce point de vue.

Il reste que tous les « pisteurs » n’ont pas la même utilité. « Des trackers comme Crashlytics ne font qu’envoyer des informations d’utilisation. Il n’y a pas de nom, prénom, d’adresse e-mail, etc. » rappelle Esther. D’autres sont bien moins délicats, en transmettant des données sensibles, comme la localisation, sans chiffrement.

« On n’a malheureusement pas de terme pour les distinguer. Nous pourrons peut-être, plus tard, avoir une réputation du tracker et différencier l’outil de rapport de bug de celui qui va s’introduire dans la vie privée », via des symboles ou avertissements spécifiques, pense Aeris. Rien qui n’arrive dans l’immédiat, donc.
Des outils conçus par l’équipe

Les logiciels utilisés pour les analyses ont été conçus par l’équipe. Esther a mené le développement, en recodant la plateforme après une première version initiée pendant l’été. Elle est appuyée par les autres membres de l’association sur l’administratif, l’administration système ou encore le site public.

« Clairement, Esther s’est occupée de toute la partie développement, pointe Aeris. Quand on a une idée, on la lance et le lendemain au réveil, tout est fait. On a tout de même pu l’aider sur certaines parties. Je suis intervenu sur l’interception de trafic TLS, via du conseil et du support. »

La plateforme Exodus est conçue via Django (un framework web en Python). Les rapports sont stockés en PostgreSQL, les tâches Celery sont distribuées via RabbitMQ et les fichiers sont stockés via Minio.

Exodus Privacy applications
Un morceau des applications analysées par Exodus
Des analyses réplicables, à automatiser entièrement

Les outils sont répartis entre Exodus, pour l’analyse statique des applications (ce qu’elles contiennent) et Electra, qui gère l’analyse des données échangées avec l’extérieur.

Chaque archive APK est récupérée automatiquement sur le Play Store, puis décompressée et passée à la moulinette de « grep », une commande Linux permettant de chercher des caractères dans un fichier. Un rapport est ensuite généré et ajouté à la plateforme.

Cette partie, d’apparence anodine, pose déjà son lot de problèmes. « L’API Google limite les demandes, avec des contrôles très poussés, qui nous ennuient assez furieusement. Il faudra qu’on arrive à trouver des systèmes de récupération » s’agace Aeris, qui pense par exemple multiplier les machines téléchargeant les fichiers.

« On doit parfois repasser manuellement. Par exemple, l’APK d’Adblock est en rouge cramoisi parce qu’il référence tous les trackers. Il faut qu’on passe derrière pour dire qu’il s’agit d’une application qui n’est pas dangereuse » ajoute le spécialiste.

Electra se charge, pour sa part, de lancer une machine virtuelle avec Android (en version x86), d’exécuter Wireshark et mitmproxy (pour analyse le trafic), puis l’application pendant 80 secondes. Le trafic est enfin transmis à Exodus, qui le référence. Des actions manuelles sont parfois nécessaires, pour accepter les autorisations demandées (sans jamais créer de compte) ou rendre l’application plus loquace via une interaction.

« Wireshark voit ce qui n’est pas chiffré (requêtes DNS, trafic UDP…) et mitmproxy sert à voir ce qui passe » dans le trafic chiffré. L’utilisation d’Electra est ensuite « assez manuelle », la machine virtuelle tournant sur les ordinateurs de développement. « À terme, il y aura des fermes de vérification pour mener ça en parallèle » espère encore Aeris.
Une méthode avec ses limites

Les outils, qui permettent de centraliser et historiser la présence des trackers, ont leurs limites. Tout « pisteur » ajouté l’est manuellement par un membre de l’équipe, après analyse réseau d’une première application le contenant. « On ne peut pas garantir l’exhaustivité de nos rapports. Si par exemple, on dit que dans telle application on a découvert tel ou tel tracker, rien ne garantit qu’il n’y en ait pas un ou plusieurs autres dedans » précise Esther.

Pour le moment, seuls les membres du bureau de l’association peuvent soumettre des applications à l’analyse. L’équipe compte proposer, par la suite, des soumissions par les internautes, mais le processus doit être entièrement automatisé et les ressources serveur suffisantes.

« Il faut être extrêmement vigilants là-dessus. Si une personne biaise la détection, on obtient des résultats faux. Vu que c’est un système automatisé fondé sur des données versionnées, enregistrées… Si jamais la signature qu’on recherche ne correspond pas à un tracker, on pourra aisément démontrer qu’il n’y a pas de malveillance humaine » nous déclare encore Esther.

Quelques applications sont aussi récalcitrantes à l’analyse. Elles peuvent planter en détectant la sandbox en x86, limiter ou simplement interdire leur utilisation, par exemple si le téléphone est vu comme rooté.

Les applications iOS sont encore hors du champ d’investigation. Le système d’Apple est une toute autre paire de manches qu’Android. L’impossibilité d’exécuter un simulateur iOS sur PC est une des limites évoquées.
Pas de calendrier, mais des projets

Par la suite, « le but est d’analyser le plus possible d’applications, de voir les mises à jour » avance Aeris. Après l’officialisation du projet, aujourd’hui, aucun calendrier n’est défini pour les prochaines évolutions. L’automatisation du processus d’analyse est la priorité.

« On ajoutera petit à petit des fonctionnalités : la possibilité de pousser des APK, de classer, d’avoir une analyse dynamique plus fine quand on intercepte du trafic… » promet Aeris.

Aujourd’hui, l’admet Esther, « récupérer tous les outils et les installer sur son PC, est assez compliqué ». Deux futures vidéos guideront les internautes dans la lecture des rapports et la reproduction des analyses.

Côté financement, l’association compte uniquement sur ses (futurs) membres, malgré une adhésion gratuite. La réponse publique au projet sera déterminante, tout comme celle des entreprises concernées, qui se voient mises sous les projecteurs via un angle qu’elles n’avaient sûrement pas envisagé.