Le réseau Localiser d'Apple peut exfiltrer des données en douce

Pierre Dandumont |

Une équipe de chercheurs vient de publier une solution assez étonnante pour récupérer des données en douce : elle passe par le réseau Localiser (Find My, employé par les AirTags) d'Apple. La démonstration est intéressante, et elle est liée à une exploitation matérielle qui sert de démonstration.

Les explications détaillées sont disponibles sur un post de blog, mais nous allons tenter de résumer rapidement le principe. Le fonctionnement des objets connectés au réseau d'Apple est assez simple : ils émettent des données en Bluetooth qui contiennent essentiellement une clé publique.

Les appareils Apple qui captent les données ajoutent la localisation (chiffrée avec la clé publique) et envoient les données sur les serveurs d'Apple (plus exactement, un hash de la clé, c'est-à-dire une représentation issue d'une fonction mathématique non réversible). Ensuite, les serveurs d'Apple peuvent vous fournir les données reçues qui contiennent la clé publique de votre objet (et uniquement le vôtre, à travers le hash) et il est enfin possible de déchiffrer la localisation avec la clé privée, qui est en votre possession.

Une version simplifiée du protocole.

Le protocole est simple, employé par de nombreux objets tiers — nous avons un comparatif dédié sur JeVeuxLe.Top — et il existe des implémentations open source comme OpenHaystack.

Des clés publiques trafiquées

Pour transmettre des données, l'idée est de créer des clés publiques spécifiques et valides pour le réseau d'Apple contenant les données à transmettre. En simulant plusieurs objets, il est donc possible d'envoyer quelques octets en douce assez facilement. Les données passent donc littéralement par le réseau d'Apple et les périphériques Apple aux alentours, avec quelques contraintes. Dans l'exemple, l'équipe emploie une carte de développement ESP32 intégrée dans un clavier, qui va enregistrer les touches frappées. L'appareil peut encoder environ 3 octets par seconde avec les calculs nécessaires, et un Mac (avec le programme dédié) peut recevoir et décoder environ 16 octets en 5 secondes.

Il y a bien évidemment une latence inhérente au réseau, elle est entre 1 et 60 minutes selon ses essais. Ce point est lié au fonctionnement : son périphérique émet les données, ensuite elles doivent être captées par un appareil Apple, puis envoyées sur les serveurs, avant d'être récupérées. Le code nécessaire pour une petite démonstration est en ligne sur GitHub. Le keylogger n'est donc pas connecté à Internet, mais les données sont tout de même transmises.

Les données sont cachées.

Le principal problème pour Apple, c'est que cette technique ne peut pas être bloquée facilement. Une vérification de la validité d'un objet émetteur est compliquée, ne serait-ce que parce qu'Apple a ouvert le protocole à de nombreux fabricants et que le réseau ne peut pas faire de différence entre les messages d'un AirTag (par exemple) et d'un équivalent tiers ou open source. Pour le moment, la seule limite pratique est le fait qu'un compte ne peut être lié qu'à 16 objets, mais elle est visiblement inopérante ici et il est de toute façon possible de créer plusieurs Apple ID pour récupérer les données.

Le principe du hack

Reste la question : quel est l'intérêt et quels sont les risques ? L'équipe de Positive Security donne plusieurs voies de réflexion. Premièrement, le réseau pourrait servir pour des objets connectés qui envoient peu de données. Le réseau Sigfox, par exemple, repose sur l'idée de très bas débit, et Apple pourrait en profiter pour certains objets connectés. Du point de vue des risques, ils notent deux choses. La première idée serait simplement de forcer des utilisateurs d'iPhone à envoyer des données et donc « vider » le forfait de données. Mais même en envoyant énormément de messages, il semble peu probable d'arriver à atteindre des volumes de données équivalents aux limites des forfaits, au moins en France.

La seconde, bien évidemment, est l'exfiltration de données. En effet, les données sont transmises par les appareils Apple aux alentours et même si elles sont récupérées dans une zone qui n'est pas couverte (intentionnellement ou non) par un réseau de communication, elles sont transmises une fois que l'iPhone (l'iPad, le Mac, etc.) récupère un accès à Internet. Mais cette solution a tout de même un défaut : il faut un périphérique Bluetooth programmé pour transmettre les données. Dans les zones très sécurisées, nous pouvons supposer qu'un appareil émettant des messages en Bluetooth LE en permanence serait rapidement détecté. Dans la pratique, l'attaque nécessite tout de même un accès physique pour récupérer les données et, évidemment, la présence d'appareils Apple.

avatar tempest | 

Donc au final encore un truc qui sert à rien. On entame la lecture un peu flippé puis au fur et à mesure on se demande où est le soucis et en conclusion c’est juste un truc de nerd genre POC.

avatar DahuLArthropode | 

@tempest

Certes, mais le truc genre POC réjouit le nerd en moi.

avatar Malouin | 

Alors, peut être que si… Et éventuellement que…
Belle (?) démonstration technique qui ne sert à rien sinon alimenter rumeurs et autre théorie d’un complot numérique….

avatar Arseur | 

De ce que je comprends, ça veut dire qu’il est théoriquement possible de créer un AirTag maison, sans autorisation d’Apple, et même mieux, sans devoir leur verser une dîme ?

avatar Pierre Dandumont | 
Oui. Après, ça nécessite un peu de matériel est c'est souvent moins cher de prendre un traqueur "compatible" directement (mais on peut aimer le faire soi même)
avatar bozzo | 

J’ai rien compris.

avatar irep | 

J’ai rien compris, mais c’était bien j’ai beaucoup pleuré

avatar koko256 | 

C'est sympa pour avoir Internet gratuit en très bas débit. Reste à trouver comment répondre à l'Airtag. Quand on le fait sonner, le bit est envoyé en direct ou via le réseau localiser ?

avatar koko256 | 

C'est curieux de hacher la clé publique. Je ne vois pas immédiatement l'intérêt sauf peut-être à réduire la taille du message.

avatar Pierre Dandumont | 
C'est probablement la raison, oui. Il y a des endroits où on capte beaucoup d'appareils.
avatar bunam | 

C'est pour envoyer un SOS via un réseau méché ;p

avatar Paquito06 | 

La localisation, ca reste une histoire d’amour. J’en ai encore eu une bonne y a 2 jours. Je n’utilise pas apple maps mais google maps, donc j’ai desactivé apple maps (notifications et localisation desactivees, j’ai seulement l’app d’installee, et je n’ai pas de background app refresh). Google maps est aussi mon app gps par defaut. Mais a l’aeroport, qu’elle ne fut pas ma surprise de voir apparaitre une notif apple maps “Welcome to LAX, use apple maps to navigate the airport” etc. Apple nous la fait a l’envers de tps en tps…

avatar Flyingbike | 

@Paquito06

Ben non en fait. La localisation est gérée par un service système qui peut alors générer la notification. Ça n’a pas forcément de rapport avec l’application.
Enfin, c’est une hypothèse mais ça ne me choque pas.
Et puis raler pour ça en utilisant Google 🤣

CONNEXION UTILISATEUR