Journal Runtastic et la protection des données

Posté par  . Licence CC By‑SA.
Étiquettes :
25
7
avr.
2017

Pour ceux qui courent et qui traque un peu leur performance, il existe sur le marché plusieurs fournisseurs d'application smartphone/web pour garder ses trajets et faire des statistiques.

Dans mon cas, j'ai choisi Runtastic (runtastic.com).

En plus de l'application sur mon téléphone que j'utilisais au début pour le gps et écouter de la musique en même temps, j'ai fini par commander la montre GPS de la marque qui fait aussi cardiofréquencemètre, en vérifiant que cela fonctionne sous Linux, ce qui est le cas (j'ai trouvé un outil qui permets d'extraire les run).

Réception du paquet, déballage de la montre, petite course et utilisation de https://github.com/mru00/crane_gps_watch pour extraire les fichiers .tcx ca marche nickel.

Je dois juste manuellement uploader mon fichier pour l'ajouter à mon profil runtastic depuis leur interface web.

Pour ne pas mourir idiot, je me dis que je vais tester leur petite application qui est censée directement uploader mes courses depuis la montre vers mon compte runtastic, seul limitation windows, j'ai deux VM dispo, une en windows7 et l'autre en Windows10.

Et la c'est le drame, après m'avoir demandé mes credentials, mon navigateur web s'ouvre et je me trouve avec l'aperçu d'une page qui ne correspond pas à mon compte, mais à la page d'un autre compte. J'ai son nom, sa position géographique. ARGH. Je me dis que ma montre n'est pas neuve et quelle contient peut-être des données de l'ancien propriétaire. La montre a été achetée dans un magasin relativement fiable et les scéllés sur la boîte étaient intactes. De plus la montre ne présente aucune marque particulière ce qui finit de me convaincre qu'elle est neuve.

Je fais un reset to factory, je désinstalle, réinstall et rebelote, je me retrouve sur la page d'un compte qui n'est pas le mien. Je tente une installation sur l'autre VM pour être sur qu'aucune trace n'a subsisté sur la machine malgré la désinstallation et idem.

Je décide de sortir l'artillerie lourde et essayer de comprendre comment ca marche.
Ce petit exercice de reverse engineering m'a fait froid dans le dos.

Donc, je me mets sur l'hôte de ma VM, et un petit coup de ngrep sur l'interface réseau bridgée, me permet d'intercepter les requêtes faites par l'application. J'entends déjà les murmures dans l'assemblée: "pff SSL toussa verra rien…"

Em, comment dire, je vois passer un magnifique POST en json avec un id de type DEADBEEF qui correspond vraisemblablement à l'id de la montre en clair. 2017 quoi. Ensuite, un magnifique GET en retour qui contient le nom, le prénom et en plus l'email de l'autre compte. Un petit WTF s'impose.

A la base j'avais choisi Runtastic pour leur politique de confidentialité, ils avaient l'air de garder les données pour eux. Je n'avais pas fait l'évaluation des différents produit sur le marché en fonction de la qualité de leurs API…

Pour rajouter une couche depuis ce jour, j'ai régulièrement des courses de cet utilisateur mystère qui s'ajoutent à mon profil. Mais pas seulement, j'ai aussi des courses qui n'ont rien à voir, car il s'agit de run en Moldavie ou bien d'autres pays hors Europe.

J'ai bien évidemment contacté le support. Il m'ont envoyé une autre montre que je n'ai pas l'intention d'utiliser car bon, même s'il y a un problème avec la montre, ça ne réglera pas les ajouts d'autre courses dans d'autre pays. Surtout pendant des périodes ou moi même je n'ai pas couru. Ils ont l'air à la ramasse. Le problème dure depuis le mois de Janvier et je ne consacre pas un temps énorme à la résolution du problème, j'ai autre chose à faire, ville de famille, boulot entre autre.

Bref, je profite de ce journal pour vider un peu mon sac et partager cette petit expérience intéressante. Je vais voir jusqu'où va aller cette histoire. Le dernier mail que je leur ai envoyé dit en résumé: Je vois encore et toujours de courses qui ne sont pas à moi. Faites que ca cesse.

Je vais résilier mon compte (je suis premium member, et j'étais content de leur service jusque là), le temps de trouver un moyen d'extraire l'existant (sachant qu'aucune API n'est à disposition pour cela).

Donc éviter Runtastic et ne pas oublier de tester les API…

  • # NextINpact

    Posté par  . Évalué à 10.

    Pour le coup je suis bien content que l'appli n'aie jamais fonctionné sur mon Windows Phone (j'utilise donc Run The Map)…
    Tu devrais peut-être envoyer l'info à NextINpact, ça fera du bruit.

    • [^] # Re: NextINpact

      Posté par  . Évalué à 2. Dernière modification le 08 avril 2017 à 22:29.

      Tu devrais peut-être envoyer l'info à NextINpact, ça fera du bruit.

      Plutôt Troy Hunt (pour la partie communication en clair, surtout si tu peux essayer des ID au hasard et récupérer des data sans les credentials qui vont bien).

  • # Alternative

    Posté par  . Évalué à 5.

    Si tu es sous Android, ForRunners pourrait être une alternative (disponible sur F-Droid ou Google Play). C'est un logiciel libre et les données restent sur ton smartphone (avec les inconvénients que ça peut avoir).
    Ne connaissant pas Runtastic je ne pourrais pas faire de comparaison mais les fonctionnalités me suffisent (GPS avec toutes les statistiques qui vont bien, carte du parcours et quelques infos via le TTS pendant la course).

  • # Duplication d'ID ?

    Posté par  . Évalué à 2.

    Est-ce que l'ID de la montre n'aurait pas été tout simplement affecté 2 fois par erreur ?

    • [^] # Re: Duplication d'ID ?

      Posté par  . Évalué à 7.

      C’est probable mais c’est surtout la communication en clair qui fait peur…

      Parce qu’outre le fait que tu pourrais t’attendre à ce que tes coordonnées GPS ne soient connues que de toi et du fournisseur du service, ça signifie également qu’il est assez aisé de modifier ces données partout où elles transitent…

    • [^] # Re: Duplication d'ID ?

      Posté par  . Évalué à 2.

      Ça pourrait être un cache mal configuré aussi. Ça s'est déjà vu.

  • # Alternatives

    Posté par  (Mastodon) . Évalué à 3.

    Salut.
    Tu connais Runnerup ?.
    Sur google store et fdroid.
    Il communique avec plein de site :runkeeper,runalyze….

    runner up github
    runalyze

    • [^] # Re: Alternatives

      Posté par  . Évalué à 1.

      Oh pinaize ! C'est génial ces liens, je ne savais pas quoi faire de tout mes *.gpx et pas le temps de développer un truc.
      Merci je regarde.

  • # Garmin

    Posté par  . Évalué à 6. Dernière modification le 10 avril 2017 à 12:08.

    J'ai une Garmin Forerunner. Il y a une appli ou extension Firefox qui ne tourne que sous Windows, mais on peut aussi charger les fichiers à la main car la montre fonctionne en "stockage de massage" et l'arborescence est très simple à parcourir. Je transmets donc les fichiers d'activité via mon navigateur en https.

    L'appli en ligne est moyenne. Très limitée dans la config. On peut créer des tableaux de contrôle mais avec tellement peu de configuration que c'est nul. Exemple : vitesse moyenne au cours du temps, sauf que ça mélange course à pied et autres activités donc intérêt limité. Et l'interface a tendance à changer alors je m'énerve de pas trouver comment charger mes fichiers parce que le menu a été déplacé.

    Les données sont privées par défaut et on peut publier ses courses pour faire le malin et se comparer aux autres. (On peut donc savoir que Juliette 19 ans, plutôt jolie - photo de profil à l'appui - va courir dans le bois tous les jeudi midi, mais on sait pas si elle y va avec des gens ou un chien ou si elle est complètement vulnérable.)

    Si j'en crois le journal, l'avantage de Runtastic c'est donc que comme l'API est foireuse, tu peux signaler le problème et avoir une montre en cadeau.

    Garmin utilise le format FIT, donc on pourrait créer une application alternative, mais je n'en connais pas.

  • # pas smartphone, pas web

    Posté par  (site web personnel) . Évalué à 1.

    Turtlesport ?

    http://turtlesport.sourceforge.net/FR/home.html

    Proverbe Alien : Sauvez la terre ? Mangez des humains !

  • # Polar pas top

    Posté par  . Évalué à 2.

    J'ai de mon côté une polar (M400); je l'avais choisi pour son câble de chargement standard (Usb simple) et je me suis dis innocemment que le reste devrait rouler mais …

    Je dois avouer que ça été la galère pour la mettre en route car obligation de passer par windows pour enregistrer le produit. Il n'est pas possible d'utiliser l'application mobile si tu n'es pas enregistrer. La mise à jour se passe également par l'application Windows. Ensuite j'occulte le problème de transfert des données (et de synchronisation) par l'utilisation de l'application Android (encore faut-il aller le chercher sur un Store). A l'usage leur application web n'est pas trop mal. Je regrette de ne pas pouvoir récupérer aisément l'ensemble de mes données (menottes dorées); pour cela je teste actuellement Strava qui a une option qui permet de récupérer les données utilisateurs et d'être indépendant du fournisseur de données (Polar, Garmin, Suunto, ..).

    Des autres GPS que j'ai pu tester Garmin et Decathlon (Geonaute).
    Ma femme utilise une Garmin, elle n'est pas trop difficile à coupler avec notre OS et je suis assez d'accord avec le commentaire plus haut.
    La Decathlon ma première montre GPS j'ai eu un problème d'étanchéité mais sur le coup elle était facile à mettre-à-jour (de mémoire on branche le câble, on transfert le fichier qui va bien et c'est bon) et la synchronisation passait par l'application Android dédiée (faut encore passer par un Store).

    Donc si il y devait y avoir un prochain achat ma préférence irait sûrement vers Garmin ou Decath.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.