La mutation rapide d'Exodus Privacy, en lutte contre les trackers sous Android

La mutation rapide d’Exodus Privacy, en lutte contre les trackers sous Android

Pisteur, arrête de pister ! (x3)

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

Publié dans

Société numérique

29/03/2018 8 minutes
20

La mutation rapide d'Exodus Privacy, en lutte contre les trackers sous Android

Lancée en novembre, la plateforme d'analyse d'applications Android s'est ouverte aux contributions d'internautes. Elle a également lancé une première application et crée quelques ponts avec des acteurs publics et privés. De premières étapes pour l'association, à laquelle il reste beaucoup de travail.

Fin novembre, Exodus publiait ses premiers résultats, en collaboration avec plusieurs médias. La toute jeune plateforme voulait lever le voile sur la présence massive de pisteurs au sein des applications Android, via des outils libres et réutilisables. Quatre mois plus tard, le chemin parcouru est important, en partie grâce à la médiatisation du projet.

« Au moins quatre personnes actives sont arrivées », nous déclare « Esther », la contributrice principale d'Exodus, dans le cadre d'un entretien sur son projet PiRogue (voir notre article). En outre, une vingtaine d'applications auraient entamé un nettoyage, voire supprimé les pisteurs qu'elles intégraient jusqu'alors, assure la chercheuse indépendante.

L'occasion, selon elle, de mesurer les dépendances insoupçonnées que peuvent embarquer des bibliothèques clés-en-main. Pour rappel, Exodus Privacy est une plateforme complète, qui mène une analyse des installeurs d'applications Android (APK) puis insère les résultats dans une base de données versionnée.

Une passe statique est menée (à la recherche de références à des pisteurs connus au sein du code), avant une analyse dynamique, en principe du trafic réseau. Le champ de la plateforme s'est étendu depuis, avec de premiers contacts institutionnels et des plans plein la besace, entre autres sur la certification d'applications.

De nouveaux pisteurs, une application et des extensions

L'une des premières avancées a été l'ouverture des soumissions d'applications aux internautes. Il est ainsi possible de pointer vers un élément à analyser, ce dont la plateforme se charge par elle-même. Début mars, l'équipe officialisait l'ajout de 50 nouveaux trackers, pour un total de 135 aujourd'hui. 

« Certaines applications ont vu leur nombre de pisteurs augmenté de sept » écrivait l'équipe. Cette partie n'est pas la plus « fun » du projet, admet Esther. Certains contributeurs apportent donc leur pierre à l'édifice en identifiant de nouveaux trackers, un processus manuel, qui passe par un ticket du dépôt GitHub. « Une fois une entrée suggérée, la partie fastidieuse commence. Il faut vérifier qu'il s'agit bien d'un pisteur, que nous pouvons le détecter, comment, et sa nature. »

Début janvier, c'était une application Android officielle qui arrivait. Publiée en alpha, elle scanne le téléphone à la recherche d'applications, pour afficher le nombre de pisteurs détectés. Pour le moment, la récupération passe par un serveur fourni par Esther. Elle promet une version stable dans les prochaines semaines, téléchargeable depuis le Google Play Store et le dépôt libre F-Droid.

D'ici là, l'équipe devra régler un problème de taille. Avec des milliers d'applications en base, celle-ci est devenue très volumineuse. Or, elle est transmise à chacune des applications Exodus installées sur les téléphones, pour que l'analyse reste locale. « Comme nous avons ouvert la soumission au grand public, le nombre de rapports a explosé. C'est devenu inutilisable. On revoit notre approche, pour garantir qu'Exodus ne sait pas ce qu'on a sur le téléphone, tout en fournissant l'information en fonction de ce qu'on a dessus » résume notre interlocutrice.

Une mise à jour différentielle de la base est une des pistes envisagées.

Entre temps, le développeur Valère Fédronic a conçu l'extension Exodify pour navigateurs, affichant les pisteurs pour chaque application sur la version web du Google Play Store, en pastille ou sous forme détaillée.

À la mi-mars, un forum a ouvert ses portes. Son contenu n'est visible que sur enregistrement.

Un début de reconnaissance publique

La communauté ne se limite pourtant pas à cela. Des entreprises et institutions ont remarqué le projet, qui a rapidement gagné en notoriété dans le milieu français du logiciel libre. Rapidement interpellé sur le nombre de trackers dans son application Android, le moteur de recherche Qwant promet depuis plusieurs mois de soutenir financièrement le projet.

Après une sortie publique sur des difficultés dans les discussions, le 1er mars, Esther nous assure que la négociation est en bonne voie, sans en dire plus. Qwant a refusé de s'exprimer sur le sujet.

Plus concrètement, un accord avec Gandi vient d'être officialisé. Il porte sur un soutien de l'entreprise à l'hébergement de la plateforme, dont les capacités n'ont pas évolué depuis novembre, malgré la croissance de son utilisation. La société est un soutien connu des projets open source français, à l'image de Cozy Cloud dernièrement.

À la mi-février, l'équipe d'Exodus a été invitée au laboratoire d'innovation de la CNIL (LINC). La commission compte l'exploiter « dans le cadre d’analyses du laboratoire et d’investigations générales pour comprendre ce qui existe sur le marché », nous précise-t-elle via Twitter à la fin-février. Il n'est pas (encore) question de l'utiliser dans des contrôles concrets.

Malgré tout, « cela nous a donné du crédit. Cette reconnaissance a d'autant plus motivé certains à s'investir que l'utilité et le sérieux du projet est reconnu », juge Esther.

Des analyses réseau à construire, une deuxième application prévue

D'un point de vue technique, le travail reste important. Fin novembre, la plateforme devait (en principe) mener une analyse du trafic réseau via un smartphone virtualisé, toujours dans l'idée d'automatiser la procédure. Télécharger l'application, la lancer dans un émulateur pendant 80 secondes, observer l'activité puis tout fermer.

La vision était simple, mais peu réaliste, estime Esther. C'est l'une des motivations derrière PiRogue, son boitier à base de Raspberry Pi, qui capte le trafic HTTP(S) d'un vrai smartphone via des outils à la mise en place simplifiée. La procédure commence à être utilisée pour certaines applications.

L'une des raisons de cette approche « humaine » plutôt qu'automatisée est le Règlement général sur la protection des données (RGPD), appliqué le 25 mai, qui renforce l'importance du consentement de l'utilisateur.

« On sait pertinemment qu'une fois le RGPD en application, les 80 secondes d'activité ne suffiront plus, puisque pour certaines sociétés faisant de la publicité sur mobile, le but sera de diluer dans le temps les demandes de consentement » plutôt que de les multiplier au lancement, résume Esther.

Or, sans consentement, pas d'activation des fonctions générant du trafic. Pour pallier ce problème, en plus du PiRogue, l'équipe d'Exodus discute de la conception d'une seconde application. Au lieu d'afficher les pisteurs des applications installées, celle-ci est censée capter leur trafic, pour envoyer des rapports anonymisées à la plateforme Exodus.

Sur cette dernière, le défi actuel concerne l'analyse des certificats X.509 utilisés pour certifier les applications via le Google Play Store. « On a toujours des trous dans la raquette là-dessus » reconnaît la spécialiste. La raison : Android Studio permet de générer des certificats déviants de la norme (RFC). La bibliothèque utilisée par Exodus est donc incapable de les comprendre. 231 applications seraient concernées.

Démasquer les applications factices avec ScatterScam

En plus d'Exodus et de PiRogue, Esther planche sur un troisième projet. Du nom de ScatterScam, il est censé fournir des empreintes pour chaque application Android, pour s'assurer qu'une version installée est celle distribuée officiellement.

L'idée vient de la campagne d'espionnage DarkCaracal, qui a volé les données de milliers de personnes via des applications Android vérolées. Les logiciels en question paraissaient légitimes aux utilisateurs, avec pour seul « twist » l'intégration d'un cheval de Troie invisible. C'était par exemple le cas de Signal, fonctionnel à cette différence près.

« L'objectif de ScatterScam est de montrer que ce type de campagne tient surtout de l'ingénierie sociale. Mon but est de donner un score à la qualité de l'attaque » explique Esther. Elle compte s'appuyer sur 21 critères, comme l'icône ou la chaine de caractères exacte du nom, pour établir des empreintes et donc des correspondances. « Si d'un œil d'un humain, l'application est exactement la même, la dangerosité est maximale. »

Comme PiRogue, le projet en est à ses balbutiements, avec un premier prototype fonctionnel. Le but est de lier ce travail à la plateforme Exodus, en exploitant son interface pour développeurs (API) par exemple.

« C'est pour ça que dans Exodus, j'ai introduit une empreinte de l'APK, soit plusieurs indicateurs agrégés, comme son identifiant (AppUID) ou un hash particulier de l'icône » détaille-t-elle. Malgré ces dérivés, Exodus reste la priorité de la chercheuse, qui consacre toujours son temps libre au projet.

Écrit par Guénaël Pépin

Tiens, en parlant de ça :

Sommaire de l'article

Introduction

De nouveaux pisteurs, une application et des extensions

Un début de reconnaissance publique

Des analyses réseau à construire, une deuxième application prévue

Démasquer les applications factices avec ScatterScam

Fermer

Commentaires (20)


Quelqu’un sait-il s’il existe des moyens de bloquer tous ces trackers?



Exodus est super mais une fois qu’on s’inquiète définitivement, difficile de trouver une parade.


Bloquer entièrement, ça va être dur en l’état. La bonne technique est de leur couper au maximum l’herbe sous le pied via des bloqueurs de pubs type AdAway ou DNS66 (tout deux dispo sur F-Droid)


Je ne vois pas l’intérêt de lutter contre les trackers quand on utilise des services en ligne qui savent tout ce qu’on fait, lit, écrit, …



Les appli 100% locales sur un smartphone ca n’existe pratiquement plus.


J’utilise Blokada. De ce que je vois des applis de John Shaft, ça fonctionne comme DNS66, c’est à dire que tu ne peux pas utiliser de VPN car ça en simule un pour éviter le besoin d’être root (le cas d’AdAway)


J’ai toujours du mal à installer ce genre d’application, AdAway par exemple modifie le fichier host du système de ce que j’ai vite lu, et donc peut potentiellement être plus nocif que le problème d’origine :/



 




Pisteur, arrête de pister ! (x3)





<img data-src=" />


très bel effort, mais ça serait pas au store de vérifier un peu tout ça ? Ils devraient avoir la puissance et les outils nécessaires <img data-src=" />


Du coup concernant l’application Next INpact ? <img data-src=" />


Ca fonctionne comment, ça bloque les pubs quelque que soit l’appli qui tente d’en afficher ? Et visiblement ça ne nécessite pas de rooter ?



Sinon je trouve qu’Exodus fait du super boulot. Dès qu’ils acceptent le paiement en CB, je leur file quelques euros.

&nbsp;







127.0.0.1 a écrit :



Je ne vois pas l’intérêt de lutter contre les trackers quand on utilise des services en ligne qui savent tout ce qu’on fait, lit, écrit, …



Les appli 100% locales sur un smartphone ca n’existe pratiquement plus.





Le but n’est pas d’avoir un smartphone en autarcie, mais de maîtriser ce qu’il en sort. Je veux bien envoyer des infos si elles sont nécessaires à l’usage de l’appli ou du service, par contre que ce soit par le biais d’un cheval de Troie ou d’un tracker qui le fait à mon insu, pas question.



Sinon, la rançon du succès commence à pointer son nez pour Exodus !



C’est bien l’idée oui. De ce que je vois, AdAway nécessite les droits root car elle modifie le fichier host système. Pour Blockada (et DNS66 apparemment), l’idée c’est de se placer en tant qu’intermédiaire en simulant un VPN et donc éviter le besoin du root.

La config passe par des fichiers host également pour la liste noire, mais tu as l’avantage de pouvoir mettre en liste blanche des applis/fichiers hosts.

Blockada a ajouté tout récemment la possibilité de choisir son DNS aussi, ce que semblait faire DNS66 depuis un moment.



Quand j’étais passé dessus c’était entre-autre à cause de deux applis météo qui abusaient côté pub (dont météo france). Pour météo france ça n’a pas fonctionné, je ne sais pas si le fichier host a été mis à jour entre-temps car depuis je vais directement sur le site mobile pour contourner le problème.








Jarodd a écrit :



Le but n’est pas d’avoir un smartphone en autarcie, mais de maîtriser ce qu’il en sort. Je veux bien envoyer des infos si elles sont nécessaires à l’usage de l’appli ou du service, par contre que ce soit par le biais d’un cheval de Troie ou d’un tracker qui le fait à mon insu, pas question.







Le problème c’est que les services capturent bien plus d’information que tu n’en envoies volontairement.



Par exemple un des effets pervers du “scroll infini” c’est que le service sait quand vous scrollez, quand vous arrêtez de scroller et quand vous reprenez le scrolling. Ca permet de savoir quels messages/contenus a suffisamment attiré votre attention pour interrompre votre scroll, et combien de temps vous avez consacré a ce message/contenus.



Et ce n’est qu’un indicateur simpliste parmi des dizaines d’indicateurs “backoffice” que le service peut exploiter pour vous profiler, quand bien même vous avez activé tous les bloqueurs du monde sur votre smartphone.



A mon sens, ces informations là sont bien plus personnelles que les trackers qui indiquent sur quel site j’ai été buntiner.



#BehavioralAnalytics









127.0.0.1 a écrit :



Le problème c’est que les services capturent bien plus d’information que tu n’en envoies volontairement.



Par exemple un des effets pervers du “scroll infini” c’est que le service sait quand vous scrollez, quand vous arrêtez de scroller et quand vous reprenez le scrolling. Ca permet de savoir quels messages/contenus a suffisamment attiré votre attention pour interrompre votre scroll, et combien de temps vous avez consacré a ce message/contenus.



Et ce n’est qu’un indicateur simpliste parmi des dizaines d’indicateurs “backoffice” que le service peut exploiter pour vous profiler, quand bien même vous avez activé tous les bloqueurs du monde sur votre smartphone.



A mon sens, ces informations là sont bien plus personnelles que les trackers qui indiquent sur quel site j’ai été buntiner.



#BehavioralAnalytics





Je suis complètement d’accord avec toi, mais la vérification systématique de chaque application, permettra déjà de se débarasser des trackers inconnus des devellopers eu même (du au librairie clef en main comme dit nxi).



Maintenant moi aussi je trouve très drole que les personnes râle que les trackers les espionne et utilise une app pour les bloqués puis se connecte a instagram,facebook, etc pour litéralement les nourrirs de leur info perso.



Edit: et puis je remarque que meme non activée certaine application continue de pister (cnf:facebook), préinstallée sur mon smartphone désactivée mais continue (bloqué grace a pi-hole) a contacté graph.facebook.com



C’est sûr que ça fait peur.

Par contre :

Mise à jour

5 octobre 2016

Ceci explique peut-être cela.


On a déjà répondu : ça dépend d’un framework tiers, et les éléments sont inactifs. Mais dans tous les cas, c’est en train d’être retiré <img data-src=" /> Pour le reste de l’évolution des apps et du site #StayTuned ;)


Bonjour,



Exodus Privacy accepte les dons CB en passant par paypal. ;-)


C’est bien pour ça que je veux payer par CB <img data-src=" /> (sans Paypal)


C’est quelle appli exactement ? Une recherche Play store “blockada” me propose “Navigateur Adblocker gratuit”, qui est apparemment payant (après 14 jours d’essai). C’set bien celle-là ? Car tu parlais d’une appli qui bloquait toutes les pubs, pas d’un simple navigateur.


En effet ce n’est pas ça, elle n’est pas sur le play store. Tu peux télécharger directement l’apk sur leur site (cf. mon premier post) ou sur F-Droid.


Et c’est développé par un Français !&nbsp;<img data-src=" />








HerrFrance a écrit :



J’utilise Blokada. De ce que je vois des applis de John Shaft, ça fonctionne comme DNS66, c’est à dire que tu ne peux pas utiliser de VPN car ça en simule un pour éviter le besoin d’être root (le cas d’AdAway)









John Shaft a écrit :



Bloquer entièrement, ça va être dur en l’état. La bonne technique est de leur couper au maximum l’herbe sous le pied via des bloqueurs de pubs type AdAway ou DNS66 (tout deux dispo sur F-Droid)





Un grand merci pour ces conseils! J’avoue que, pour mon niveau, c’est bien plus facile de me protéger sur mon PC que sur mon smartphone. J’appréhende le root mais je me dis de plus en plus qu’il faudra que je me penche sérieusement sur la question.