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

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

Données en exode

Avatar de l'auteur
Guénaël Pépin

Publié dans

Internet

24/11/2017 11 minutes
17

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.

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 analyser 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é.

17

Écrit par Guénaël Pépin

Tiens, en parlant de ça :

Sommaire de l'article

Introduction

Des débuts très prudents

Un risque de procès toujours présent, mais une équipe plus sereine

Découverte : la « flemme » massive des développeurs

Des outils conçus par l'équipe

Des analyses réplicables, à automatiser entièrement

Une méthode avec ses limites

Pas de calendrier, mais des projets

Commentaires (17)


Tous mes vœux de bonheur aux heureux parents du projet. <img data-src=" />


Intéressant.

Mais effectivement, leur rapport ne permet pas de savoir facilement ce que les trackers trouvés font exactement.



Par exemple, ils ont trouvé deux trackers dans Firefox Privacy report for Firefox Browser fast & private





Merci pour cet article de qualité <img data-src=" /><img data-src=" /><img data-src=" />




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.



ce que tu demandes nécessite de faire du reverse engineering. c’est assez scabreux légalement parlant il me semble.


DoubleClick, c’est Google, LeanPlum c’est un boite d’analytics spécialisée pour le mobile


Ce qu’il manque, ce n’est que le début évidemment, c’est une présentation plus complète des données.




  • par type d’appli (journaux, média, vente, météo, etc…): nombre de trackers moyen? type de trackers?

  • Par nombre de trackers décroissants

  • On a la liste des trackers d’une appli, mais pas la liste des applis d’un tracker

  • pas de classement des trackers: on lit que l’équipe ne veut pas faire de classement des applis, mais on ne parle pas des trackers. Quid par exemple de Tealium? a première vue ce truc est une putain d’intrusion incroyable dans la vie privée (big data, croisement de données, données en temps réel, tracking offline (???!!))…



    bref, une fois le très joli taf d’analyse des applications fait, il faudrait pouvoir faire une analyse des données qu’on en tire.


par exemple j’aimerais beaucoup savoir quelles applications utilisent Teemo.

actuellement c’est impossible à savoir, à moins d’ouvrir tous les reports.


Ça je sais, c’est dans les liens.

Mais ça ne me dit pas à quoi ils servent dans le cas de Firefox. Exodus ne le sait peut-être pas non plus.



C’est un peu hors sujet mais je trouve paradoxal que Mozilla prétende vouloir lutter contre le tracker, mais inclut des trackers dans la version mobile de son navigateur.

Il y a peut-être une explication sur leur site mais je ne l’ai pas trouvée.


Dans le cas de Firefox, on voit clairement que la version Focus est bien moins bavarde : 0 tracker, et seulement 6 permissions requises.


un grand bravo à Météo France qui utilise Vectaury.

Marmiton avec ses 14 trackers (sisi) dont Teemo.


Ouvrir un fichier et chercher la présence d’une ou plusieurs chaînes est-il vraiment de la rétro-ingénierie ? Je ne pense pas. Il n’y a pas volonté de comprendre comment marche le code, juste de chercher certains marqueurs spécifiques. Sinon, “grep” est un outil de rétro-ingénierie, y compris tous les champs de recherche dans les logiciels <img data-src=" />


heu what? ^^

t’as pas du bien comprendre ce que j’ai écrit.



je n’ai jamais prétendu que le taf effectué était du retro-engineering, au contraire.



la personne demande à quoi sert le tracker dans Firefox.

la seule info que Exodus nous donne c’est la présence d’un tracker, pas sa finalité dans le logiciel en question.



à moins d’analyser le code source, difficile de déterminer l’utilisation du tracker dans du code en ayant uniquement l’information de sa présence…



ah j’ai compris: tu as confondu mon quote de l’article avec le post de Faktis auquel je répondais. <img data-src=" />


”‘est dû à la flemme des développeurs, qui cherchent des frameworks qui font le café”

C’est rageant de lire une telle bêtise. Pour deux raisons :




  • ce ne sont pas les devs qui font le budget, tapez donc sur les patrons et commerciaux. Par pitié arrêtons d’accuser les devs, ils sont aux premières loges pour subir et devoir coder la merde qu’on leur impose (et généralement, s’ils ouvrent leur bec ils sont bons pour pole-emploi).

  • utiliser un framework qui “fait le café”, c’est une bonne pratique et ça évite de passer bcp de temps à réinventer qqchose qui existe déjà et qui est déjà testé.


Entre la publicité et les trackers, la montée sans limite des smartphones sont uniquement pour ces business modèles. Ca bouffe grave de la batterie et de la ressources ces conneries là








grsbdl a écrit :



“‘est dû à la flemme des développeurs, qui cherchent des frameworks qui font le café”

C’est rageant de lire une telle bêtise. Pour deux raisons :




  • ce ne sont pas les devs qui font le budget, tapez donc sur les patrons et commerciaux. Par pitié arrêtons d’accuser les devs, ils sont aux premières loges pour subir et devoir coder la merde qu’on leur impose (et généralement, s’ils ouvrent leur bec ils sont bons pour pole-emploi).

  • utiliser un framework qui “fait le café”, c’est une bonne pratique et ça évite de passer bcp de temps à réinventer qqchose qui existe déjà et qui est déjà testé.







    Je plussois, l’ajout de trackers est presque toujours une décision commerciale / marketing, pas de développeur. Je connais même pas mal de devs qui ont voulu quitter leur projet quand ont leur a demandé d’intégrer ce genre de merdes.



    &nbsp;Quant aux trackers de dev, je suis d’accord également : ils permettent de tracker efficacement les crash en production, de faire remonter les bugs éventuels, et réécrire une solution from scratch donnerait à coup sûr un outil moins efficace.









grsbdl a écrit :



“‘est dû à la flemme des développeurs, qui cherchent des frameworks qui font le café”

C’est rageant de lire une telle bêtise. Pour deux raisons :




  • ce ne sont pas les devs qui font le budget, tapez donc sur les patrons et commerciaux. Par pitié arrêtons d’accuser les devs, ils sont aux premières loges pour subir et devoir coder la merde qu’on leur impose (et généralement, s’ils ouvrent leur bec ils sont bons pour pole-emploi).

  • utiliser un framework qui “fait le café”, c’est une bonne pratique et ça évite de passer bcp de temps à réinventer qqchose qui existe déjà et qui est déjà testé.





    Ça m’a également fait tiquer cette remarque, surtout en lisant ça plus bas :

    “La plateforme Exodus est conçue via Django (un framework web en Python).”

    &nbsp;

    Ben alors, on a eu la “flemme” de créer son propre CMS ? :)



    En dehors de ça, très belle initiative et très bon article !