Bien que le mot de passe soit un des piliers de la sécurité des systèmes, il y a encore bien des domaines dans lesquels il est négligé. C’est notamment le cas dans de nombreux systèmes industriels, embarqués, IoT, etc. Cet article va aborder le cas des trackers GPS, aussi appelés « balises ». Ces petits équipements, dont le prix varie de quelques euros à quelques milliers d’euros, ont été démocratisés ces dernières années grâce (ou à cause?) de différents facteurs.
Citons parmi eux :
Cette démocratisation s’est traduite par une explosion du nombre de ces équipements, allant de paire avec une croissance importante du nombre de lignes mobiles souscrites auprès des opérateurs télécom. L’un des leaders dans le domaine annonce à lui seul 300000 véhicules suivis en France par son produit. Ce n’est que la statistique d’un fournisseur de service, qui concerne uniquement les véhicules…
Toutefois, les technologies employées dans certains modèles de tracker, ou encore les lacunes en connaissances « sécurité » d’une grande partie des utilisateurs rendent ces objets et les données qui y sont associées relativement vulnérables.
Il est entendu, qu’avec un mot de passe changé dès la sortie du carton et un examen avancé de la configuration du périphérique, cet article n’a probablement plus lieu d’exister, mais la somme de critères précédemment indiqués ainsi que la criticité des données traitées méritent très probablement de s’attarder sur le sujet.
Ces périphériques sont en effet utilisés pour :
Le matériel nécessaire à cette expérimentation est constitué de :
Les trackers utilisent un ou des systèmes pour positionner l’appareil à la surface du globe, puis un ou des systèmes de transmission de l’information vers un mobile ou vers un serveur.
Lorsque l’on parle de trackers dits « GPS » (Global Positioning System) on évoque en réalité des trackers GNSS (Global Navigation Satellite System). La différence réside dans la constellation de satellites utilisée pour le positionnement du tracker. GPS est une des constellations disponibles pour pouvoir se géolocaliser sur terre. GPS est donc un type de GNSS. Il se trouve que GPS est la flotte qui est le plus fréquemment utilisée pour les trackers, ce qui explique l’abus de langage de ce début de paragraphe. Il est toutefois envisageable d’utiliser des trackers s’appuyant sur les constellations Galileo, Beïdou, Glonass, ou d’autres encore.
Le choix de la constellation aura un impact sur le choix du composant récepteur intégré au tracker, sur sa fréquence de fonctionnement, probablement sur son prix, et enfin sur sa sensibilité.
La géolocalisation via un GNSS n’est pas la seule technologie employée dans les trackers. Ils peuvent aussi renvoyer des indications de localisation liées au Wifi, ou encore aux LBS (Location-Based Service) associées au réseau mobile. Lorsqu’il reçoit ces informations, le serveur les traduit en une position grâce à une base de données intégrant par exemple les différents codes LBS et les positions géographiques associées.
Pour les trackers grand public, une fois que le périphérique connaît sa position dans l’espace, il doit la transmettre à un destinataire, en général un numéro de mobile (envoi de SMS) ou un serveur de tracking (utilisation du mode GPRS). Il est toutefois possible de transmettre cette information via d’autres technologies telles qu’une liaison satellitaire (exemple : les SBD sur Iridium) ou une liaison radio (exemple : Sigfox ou LoRa).
Généralement ce canal est aussi utilisé en descendant, notamment pour pousser des commandes vers le tracker. C’est un des points qui sera exploité dans l’attaque décrite ci-dessous.
Dans le cas étudié, l’utilisateur se procure un tracker entrée de gamme modèle Q50. Il s’agit d’une montre plutôt destinée à suivre des enfants. Le protocole de commandes utilisé pour la configuration du tracker est largement répandu, documenté et utilisé pour de nombreux autres modèles de trackers.
Après avoir déballé et chargé sa montre, l’utilisateur va s’attaquer à la mise en fonction de celle-ci. Une notice d’utilisation (très succincte) est fournie dans la boîte. Un scan de cette notice est disponible ici. Disponible uniquement en anglais, cette notice indique les caractéristiques de la montre, une description physique puis de ces fonctions, et enfin la manière de mettre en œuvre. Pour ce dernier point, un QRCode invite l’utilisateur à installer l’application SeTracker ou SeTracker2. Une observation intéressante à ce stade est que la notice ne mentionne à aucun endroit la possibilité d’une configuration interne du tracker (mot de passe d’administration), l’existence de commandes, ou encore l’envoi de ces dernières par SMS.
L’installation de l’application SeTracker se passe trop très facilement. En observant un peu l’envoi de trame depuis le téléphone il s’avère que l’application est très bavarde et communique très régulièrement vers les serveurs (en Chine ?). Le lancement de l’application n’indique à aucun moment qu’il est possible de configurer son tracker, qu’il dispose d’un mot de passe, ou encore qu’il accepte des commande SMS. L’utilisateur est simplement invité à ajouter son tracker à l’interface en saisissant le RegCod situé au dos de la montre. Une fois cette étape passé, l’utilisateur peut voir la position du tracker sur une carte, accéder à son « paramétrage », envoyer des messages vocaux, … Ci-dessous, quelques captures d’écran de l’application et du peu de détail de configuration qu’elle apporte :
Dès la découverte d’un périphérique répondant au SMS, l’information est compromise. En effet, à partir de ce moment, l’attaquant pourra, sans attirer l’attention, récupérer diverses informations en fonction du type de tracker utilisé. La première information critique récupérée sera bien entendu la position de la balise. Que se soit une personne, un enfant, un convoi sensible, un véhicule, un drone, … le porteur de cette balise a probablement une importance particulière pour son propriétaire.
Par ailleurs certains, pour ne pas dire tous les trackers d’entrée de gamme, disposent de fonctionnalités supplémentaires. Sur le modèle étudié, la montre Q50, il est possible de procéder à une écoute, de réaliser des appels ou des envois de SMS depuis la montre. Sur d’autres modèles, il est possible de faire une photo avec la caméra embarquée et de la récupérer. Sur des modèles dédiés au véhicules, il est souvent possible de connaître les caractéristiques du véhicules (niveau de carburant, moteur tournant ou non, temps de pause des conducteurs); ces données peuvent par exemple faciliter l’interception d’un véhicule. Plus grave, certains trackers disposent d’un relais de coupure moteur permettant, à distance, de stopper le moteur, ou du moins son alimentation en carburant. Enfin, d’autres permettent d’activer ou désactiver l’alarme à distance, de déverrouiller les portes…
Comme nous l’avons vu, afin de s’assurer un accès permanent à l’information de géolocalisation, l’attaquant pourra modifier le serveur de destination en indiquant l’adresse IP de son propre serveur dans la configuration du tracker, puis re-router toutes les trames vers le serveur qui était configuré initialement. L’exemple parfait de l’attaque de type Man In The Middle.
Seule une vérification de la configuration du boitier pourra trahir de telles actions.
Différentes solutions peuvent être apportées pour « sécuriser » ce système, ou son utilisation. En voici certaines, applicables par l’utilisateur standard, ou encore d’autres applicables dès la conception des appareils.
La première des solutions est, bien entendu, le changement du mot de passe dès la sortie de l’appareil. Une bonne partie des trackers d’entrée de gamme permettent de changer ce mot de passe. Cependant les fabricants ne détaillent jamais ce procédé dans la fiche d’utilisation (le manuel est en général réduit à une fiche, lorsqu’il existe). La majorité des utilisateurs, particuliers ou pro, se contentent donc de suivre les quelques consignes de synchronisation avec le serveur du fabricant. Dans le scénario étudié précédemment, un tracker sur lequel le mot de passe a été changé n’aurait pas répondu à la campagne de mailing SMS, et serait donc passé inaperçu, déjouant ainsi l’attaque.
Une majorité de modèles permet aussi de configurer des whitelists et/ou des numéros d’admin. La whitelist va en général contenir une liste de numéro que le tracker est autorisé à contacter. Les numéros ne faisant pas partie de cette whitelist ne peuvent pas être contactés depuis le tracker, il est donc impossible de l’utiliser pour effectuer des rebonds vers d’autres numéros. La configuration du ou des numéros d’admin permet quant à elle de restreindre le nombre de téléphones pouvant envoyer des commandes à la balise. Le changement de configuration n’est donc possible que depuis les numéros déclarés.
De par leur utilisation et leur conception, les balises sont très exposées. Tout d’abord sur le réseau GSM. N’importe qui peut en théorie envoyer des SMS à une balise comme cela a été démontré précédemment. Par ailleurs, les trackers sont bien souvent « lâchés » dans la nature, et donc accessibles physiquement. L’attaque physique n’a pas été étudiée ici, mais la plupart des trackers démontés lors des tests ont fait apparaître des points de test sur les circuits imprimés. Il est sûr qu’une connexion à ces points de test permet des actions sur le système, et par conséquent une modification de la configuration sans passer par le réseau GSM.
Une revue régulière des configurations de tracker permet de vérifier que ces dernières n’ont pas changé. Dans le cas d’un modèle grand public, les points à vérifier seront notamment l’adresse IP et le port du serveur de destination, les numéros de téléphones autorisés, les numéros d’admin, les restrictions d’appels ou d’envoi de messages … bref, tous les points liés à la communication et qui pourraient affecter la confidentialité ou l’intégrité des données transmises par la balise.
Ce sont ici des choix techniques qui sont faits lors de la conception du système et des équipements. Le développeur de solutions de tracking peut faire le choix d’authentifier les trackers et/ou de chiffrer les communications avec le serveur en appliquant des algorithmes cryptographiques. Cependant, ces choix ont différentes conséquences sur le système. Tout d’abord le micro contrôleur intégré au tracker doit être en mesure de faire de la crypto. A capacité de batterie équivalente, l’autonomie sera probablement réduite du fait que le micro contrôleur réalisera en permanence des opérations crypto. Le volume de données transmis sur le réseau sera aussi augmenté. Enfin une politique de gestion/renouvellement/révocation des clés de chiffrement et/ou authentification doit être mise en place. Toutes ces nouvelles contraintes ont un impact considérable sur le coût de la solution. C’est l’une des raisons qui font que les solutions bon marché ne sont pas équipées de tels mécanismes.
Comme c’est bien souvent le cas, cette attaque ne fait pas intervenir de grandes connaissances techniques, mais simplement la curiosité et l’imagination de l’attaquant. Sans autre matériel qu’un simple téléphone, il est possible d’obtenir la position d’un tracker, de procéder à une écoute, ou encore d’agir sur un véhicule pour certains modèles de tracker. Encore une fois il est donc primordial de ne pas conserver les mots de passe par défaut, de personnaliser la configuration de ses équipements, et d’effectuer des revues régulières.