Étudiants en 3e année de la formation d’ingénieur en Cyberdéfense à l’ENSIBS de Vannes, nous nous sommes intéressés à la problématique du Bluetooth constamment activé. Ce protocole est aujourd’hui très utilisé dans un grand nombre d’applications notamment dans la recherche de cas contact comme pour l’application TousAntiCovid. Dans ce contexte, nous avons voulu vérifier si le simple fait d’activer ce protocole sur son smartphone est réellement sans risque pour la protection de ses libertés individuelles.
par Frédéric AUTISSIER, Julien LEFEUVRE et Erwan SELBERT
ENSIBS,
Cursus ingénieur CyberDefense 3eme année
Rappel du contexte
Le 2 juin 2020, le gouvernement lançait l’application StopCovid (aujourd’hui appelée TousAntiCovid). Celle-ci s’inscrivait dans l’ensemble des mesures de déconfinement du 11 mai 2020. L’application a pour but d’identifier les personnes susceptibles d’avoir été en contact avec une autre infectée par la Covid-19. Rapidement, StopCovid a fait l’objet de craintes quant au respect des libertés individuelles. C’est pourquoi le protocole ROBERT (ROBust and privacy-presERving proximity Tracing) sur lequel s’appuie l’application a été conçu pour respecter strictement le cadre européen de protection des données. Néanmoins, cette technologie se base sur le protocole de communication Bluetooth Low Energy (BLE) afin d’identifier les smartphones à proximité. Si la durée et la distance d’un contact avec un équipement sont conformes au cahier des charges, un identifiant chiffré est échangé puis renouvelé régulièrement (environ toutes les 15 minutes).
Si un utilisateur est testé positif à la Covid-19, il a la possibilité de le déclarer sur l’application et d’envoyer à un serveur central la liste des identifiants qu’il a rencontrés. Chaque application va se connecter périodiquement au serveur central pour savoir si ses propres identifiants n’ont pas été signalés par une personne atteinte du virus.
De plus, pour générer cette liste, l’application ne vous géolocalise pas. Elle utilise le RSSI (Received Signal Strength Indication) qui est un indicateur de la puissance du signal émis par un autre appareil utilisant le BLE. Il est possible de traduire cet indicateur en distance, à partir de différentes mesures récoltées dans un environnement choisi, comme le montre la figure 1.
Figure 1 – Exemple de correspondance RSSI – distance en milieu urbain
D’un point de vue protocolaire, ROBERT respecte les engagements de l’application sur la protection de la vie privée des utilisateurs. Néanmoins, il a besoin du protocole BLE pour fonctionner. Ce dernier, quant à lui, n’a pas été conçu pour respecter strictement le cadre européen de protection des données.
Nous nous sommes donc intéressés aux informations contenues dans les paquets BLE et récupérables de manière passive.
Récupération des informations émises par Bluetooth
Lorsqu’un appareil échange avec un autre via le protocole BLE, les données sont chiffrées.
Notre objectif n’étant pas d’essayer de casser ce chiffrement nous nous sommes intéressés aux informations pouvant être récupérées de manière passive.
Pour récupérer ces données, il faut dans un premier temps, être en mesure de capter ces signaux Bluetooth.
Pour cela, inutile d’avoir les finances d’un État. Un simple dongle Ubertooth One coûte une centaine d’euros et permet d’écouter les canaux d’avertissements du Bluetooth Low Energy afin de détecter les appareils à proximité. En utilisant le Ubertooth avec l’antenne fournie, il est déjà possible de récupérer un ensemble d’informations sur les équipements présents dans un rayon d’une cinquantaine de mètres.
Figure 2 – Informations collectées avec un ubertooth
Notons la présence des métadonnées suivantes :
- L’AdvA (Advertising address), semblable à l’adresse MAC car composé de 6 octets et propre à un équipement, mais renouvelée régulièrement pour éviter le suivi d’un équipement sur la durée,
- Le RSSI (Received Signal Strength Indication) qui correspond à la force du signal reçu,
- Un identifiant du constructeur (CID) de la carte Bluetooth.
Avec ces informations, il est donc déjà possible de :
- Mettre un identifiant (bien que temporaire) sur un appareil détecté grâce à l’AdvA,
- Savoir si un appareil est plus ou moins proche en se basant sur le RSSI,
- Savoir à quel constructeur est rattaché cet équipement grâce au CID.
Calibration
Comme cité précédemment, il est possible de déduire la distance d’un appareil à partir de son RSSI. Pour cela, il faut disposer d’un ensemble de données sur lesquelles s’appuyer.
La solution développée offre une interface de calibration. Elle propose à l’utilisateur de sélectionner l’environnement dans lequel se fait l’enregistrement. Elle permet ensuite de lancer une capture en faisant varier la distance et la position de l’appareil. Ainsi, elle permet d’obtenir des mesures optimales pour la conversion.
Le choix de l’environnement est important car la puissance d’un signal peut être affectée par les différents obstacles rencontrés. Un signal sera donc plus faible pour un appareil situé à 30m dans un bâtiment plutôt que dans un environnement dégagé. La sélection du bon environnement pour la calibration permettra d’avoir une meilleure précision lors de l’estimation des distances des appareils.
Figure 3 – Exemple de différents environnements pouvant impacter la valeur RSSI
De plus, la valeur du RSSI peut aussi changer en fonction de la position de l’appareil. Il est ainsi important de la prendre en compte lors des mesures.
Figure 4 – Les différentes positions qui ont été prises en comptes durant nos phases de calibration
Estimation de la distance
Une fois plusieurs calibrations effectuées, il est possible de générer un modèle qui estimera, pour un signal reçu, la distance de l’appareil qui l’a émis. La qualité des modèles dépend du nombre de captures effectuées. Plus le nombre de calibrations et de positions réalisées sera important, plus les modèles seront précis. Appliquée dans des conditions similaires à celles de la calibration, la réception de signaux RSSI permet d’avoir un radar qui liste les équipements aux alentours ainsi que leurs informations comme le constructeur et l’estimation de la distance d’émission.
Figure 5 – Exemple de radar BLE
Une interface pour géolocaliser les appareils Bluetooth
En utilisant 3 Ubertooths que l’on associe à des modules GNSS (GPS, GALILEO…), il devient possible de trianguler les signaux émis et de déduire une position sur une carte. L’interface développée permet de visualiser, en temps réel, les équipements détectés et de suivre leur changement d’adresse AdvA.
Figure 6 – Interface web qui permet de géolocaliser les appareils Bluetooth
Notez que l’adresse d’avertissement (AdvA) change régulièrement. Ce changement empêche de suivre l’appareil sur la durée. La solution développée propose donc un prototype de tracking.
Lorsque le système de tracking observe qu’un appareil arrête d’émettre au même moment et qu’un appareil du même constructeur commence à émettre un signal, il en déduit qu’il y a eu changement d’AdvA.
Si plusieurs adresses apparaissent au même moment, c’est la meilleure AdvA candidate qui est choisie. Ce choix est basé sur d’autres critères comme la variation de vitesse de transmission des paquets.
Ce simple modèle s’avère efficace lorsque le nombre d’appareils présents dans le milieu observé est faible. De plus, nos observations montrent que certains d’entre eux comme ceux de Microsoft changent d’adresse toutes les 10 minutes. Cela simplifie le traçage contrairement à d’autres constructeurs dont le délai de changement d’Adva semble aléatoire.
Bien que les applications de traçage Covid basées sur le BLE n’utilisent pas la géolocalisation, elles demandent à l’utilisateur d’émettre un signal Bluetooth. De fait, il devient alors possible pour un attaquant de géolocaliser un appareil et d’en déduire la position d’un individu.
Conclusion
Le but de ce projet était de sensibiliser le grand public. Utiliser une application qui active le Bluetooth Low Energy, aussi sécurisée soit-elle, peut exposer certaines informations personnelles qui n’ont pas vocation à être divulguées.
En couplant les informations récoltées par le Bluetooth avec l’analyse OSINT d’une personne, un attaquant pourrait tracer de manière aisée cette dernière. La cible, pensant émettre du Bluetooth de manière sécurisée, expose en réalité sa position ainsi que les personnes qu’elle rencontre.