Rechercher
Contactez-nous Suivez-nous sur Twitter En francais English Language
 

De la Théorie à la pratique











Abonnez-vous gratuitement à notre NEWSLETTER

Newsletter FR

Newsletter EN

Vulnérabilités

Se désabonner

Fitness tracker : hack in progress

juin 2015 par Emmanuelle Lamandé

Les équipements wearables sont très tendance aujourd’hui, mais nous en savons en fait très peu sur leur sécurité : quelles données personnelles transitent via ces objets connectés ? Sont-ils fiables ? Peuvent-ils être piratés ? Si oui comment ? Axelle Apvrille, Expert en sécurité au sein de FortiGuard Labs, a présenté à l’occasion de l’édition 2015 d’Hack in Paris les résultats de ses recherches concernant le bracelet connecté Fitbit Flex.

Les objets connectés et « wearables » font actuellement fureur auprès des utilisateurs. Qu’il s’agisse de vêtements ou de bracelets connectés, de lunettes à réalité augmentée… ces gadgets s’incrustent tous les jours un peu plus dans notre quotidien. 70 millions de wearables ont d’ailleurs été vendus en 2014. La prolifération de ces objets attire également de nombreuses convoitises, y compris l’attention des cybercriminels, mais intéresse aussi de plus en plus les experts en sécurité... car peu de recherches existent à ce jour sur ce sujet. Beaucoup reste, en effet, à faire afin de déterminer le niveau de sécurité de ces objets, les données transmises, les possibilités de piratage…, d’autant qu’ils reposent pour la plupart sur des protocoles propriétaires, ce qui ne facilite pas la tâche.

Fitbit Flex : un bracelet connecté qui en dit long sur votre activité au quotidien

Axelle Apvrille s’est, pour sa part, plus particulièrement intéressée dans ses recherches au Fitbit Flex, un bracelet connecté qui permet à un individu de suivre son activité au quotidien. Il mesure ainsi le nombre de pas effectués, la distance parcourue, les calories brûlées, le cycle de sommeil... en fonction des mouvements de l’utilisateur. Il vous fixe un objectif quotidien personnalisé, suit et indique votre progression, grâce à un accéléromètre et des voyants LED. Chacun des 5 voyants du Flex représente 20% de l’objectif personnel fixé. Le package fournit un coach électronique Flex, un dongle de synchronisation sans fil, une adhésion au site Fitbit.com, qui donne la possibilité à l’utilisateur d’enregistrer et de suivre l’ensemble de ses activités, ainsi que l’accès à des applications mobiles gratuites pour iPhone et Android.

La communication avec les serveurs Web de Fitbit se fait en XML. Le système repose sur une connectivité Bluetooth Low Energy (BTLE), aucun branchement n’est donc nécessaire pour télécharger les données. L’utilisateur peut se connecter à un ordinateur avec le dongle USB sans fil fourni. La synchronisation s’effectue automatiquement lorsque l’appareil se trouve à moins de 6 mètres d’un dongle. Ce dernier transmet directement les paquets de communication au tracker. Les données d’activité et mises à jour sont encapsulées dans ces paquets, qui sont chiffrés et déchiffrés sur le tracker.

Plusieurs problèmes de sécurité et vulnérabilités avaient déjà été mis en avant sur d’anciennes versions des trackers Fitbit :
- Le plus célèbre d’entre eux concernait la divulgation sur le Web de l’activité sexuelle de certains utilisateurs n’ayant pas verrouillé leur compte, via les résultats des moteurs de recherche [1] ;
- D’autres chercheurs [2] ont démontré plusieurs vulnérabilités, comme la synchronisation de fausses données ;
- Le suivi des trackers avec Blueberry ;
- La divulgation des identifiants du compte Fitbit ;
- Ou encore la mise à mal des capteurs physiques.

Très peu de documentations concernant la sécurité de ces objets existent à ce jour

Toutefois, Fitbit a largement remodelé ses trackers depuis et la plupart des bugs ont été corrigés. La majorité des scénarios d’attaques ne fonctionnement plus, excepté au niveau des possibilités de tracking qu’offre le Bluetooth et de l’exploitation des capteurs physiques. Cette évolution est, bien entendu, une bonne chose d’un point de vue sécurité, moins pour le hacking, car le système qui encadre ces trackers est désormais plus fermé et plus obscur. Il s’avère de ce fait plus difficile de déterminer quelles données sont véritablement transmises par le tracker.

De plus, très peu de documentations concernant la sécurité du Fitbit Flex existent à ce jour, notamment sur les nouveaux modèles du dispositif, dont le protocole a connu d’importantes mises à jour. Les protocoles de communication des trackers sont propriétaires, et il n’existe effectivement aucune documentation particulière des différents développeurs, contributeurs... Tout doit donc faire l’objet d’une rétro-ingénierie.

L’intérêt d’effectuer du reverse engineering sur un tracker est multiple. Tout d’abord, parce que le jour où les serveurs Fitbit seront indisponibles, les trackers deviendront inutilisables. Il est également essentiel de savoir quelles données personnelles sont communiquées à l’insu de l’utilisateur, mais aussi si le tracker peut lui-même devenir malveillant.

On recense toutefois quelques exploitations déjà effectuées au niveau du matériel [3, 4]. Ben Allard [5] a, quant à lui, porté la synchronisation de Fitbit sur Linux, et pour ce faire, a reversé certaines parties du protocole de communication avec le dongle ou le tracker. De son côté, Candid Wüest [6] a montré que les bracelets Fitbit Flex révèlent leur présence via Bluetooth. Les recherches d’Axelle ne se concentrent, pour leur part, pas du tout sur la communication Bluetooth, mais sur les paquets de charge utile seulement, et elle s’attache uniquement à l’aspect logiciel.

Le tracker ne communique pas forcément qu’avec l’utilisateur…

Son étude a porté sur l’analyse de 40 messages du Flex, plus précisément 24 messages du tracker et 16 du dongle. Les données d’activité ou mises à jour sont chiffrées et déchiffrées sur le tracker lui-même. Le dongle, quant à lui, ne chiffre/déchiffre pas les messages. L’algorithme de chiffrement entre le tracker et le serveur Fitbit est, pour sa part, inconnu.

Le format générique des messages du dongle s’avère complètement différent de celui du tracker. Au cours de sa présentation, elle a démontré comment synchroniser le tracker sur Linux en utilisant Galileo, mais aussi de quelle manière communiquer directement avec le dongle ou le tracker, en implémentant son propre code Python. Cette injection permet, entre autres, la connexion du device, l’envoi de données au tracker et au dongle, la lecture des paquets de réponse du tracker...

A l’issue de ses recherches, Axelle Apvrille a découvert plusieurs commandes jusqu’alors inconnues. Le fuzzing du tracker lui a également permis de révéler une vulnérabilité inhérente à la mémoire de certains paquets de réponse, permettant la divulgation d’informations. Elle a, en outre, trouvé le moyen d’altérer le niveau de batterie du Flex ou l’accéléromètre afin de fausser les résultats, mais aussi la possibilité d’utiliser le Flex comme source d’entropie.

Parmi les futurs travaux de recherche, elle cite à titre d’exemple la prise de contrôle des LEDs du tracker ou encore le fuzzing du dongle et du serveur… Mais beaucoup reste encore à faire en matière de rétro-ingénierie de ces systèmes, d’autant que ces objets seront de plus en plus dans le viseur des cybercriminels, soit en étant des cibles directes, soit en devenant un moyen de parvenir à leurs fins ou tout bonnement par effet de rebond. Même si les wearables restent aujourd’hui principalement des gadgets dans l’esprit des gens, ils doivent toutefois faire l’objet d’une attention toute particulière, surtout qu’ils s’invitent directement dans l’intimité des individus.


[1] http://techcrunch.com/2011/07/03/se...

[2] Rahman et al. Fit and Vulnerable : Attacks and Defenses for a Health Monitoring Device, CoRR, 2013.

[3] Fitbit Flex Teardown. http://ifixit.org/blog/5042/fitbit-...

[4] http://electronics360.globalspec.co...

[5] Ben Allard, https://bitbucket.org/benallard/galileo

[6] Candid Wüest, "Quantified Self - A Path to Self-Enlightenment or Just a Security Nightmare ?", BlackHat Europe 2014




Voir les articles précédents

    

Voir les articles suivants