Le réseau Localiser détourné pour transmettre des messages arbitraires

Nicolas Furno |

Le chercheur en sécurité Fabian Bräulein a trouvé un moyen de détourner le réseau Localiser mis en place par Apple. Son idée est astucieuse, mais ce n’est pas une faille de sécurité dangereuse, car son exploitation est compliquée. Le plus intéressant est de comprendre comment ce détournement peut fonctionner au sein de l’écosystème de localisation mis au point par l’entreprise de Cupertino.

La sortie des AirTags qui reposent sur le réseau Localiser pour être géolocalisés n’importe où dans le monde grâce aux appareils iOS qui passent à proximité a donné une idée à ce chercheur. Est-ce qu’il serait possible de détourner le mécanisme de localisation en transmettant une donnée arbitraire, comme du texte ? Pour y parvenir, il a simulé un AirTag en utilisant un microcontrôleur ESP32, un petit module que l’on peut trouver facilement pour quelques euros.

Schéma qui décrit le détournement : l’émetteur se fait passer pour un AirTag perdu qui est capté par les iPhone à proximité (gauche). Il transmet en Bluetooth sa position et un texte aux serveurs d’Apple (représentés par le nuage) et une app installée sur un Mac qui demande l’accès à la position récupère aussi le message (droite).

Un firmware maison est installé sur ce contrôleur pour diffuser en Bluetooth Low Energy le code transmis par un AirTag déclaré perdu. Lorsque l’on associe un AirTag à un iPhone, deux clés uniques — une publique et une privée — sont générées automatiquement. La clé publique est mémorisée dans le traqueur, la privée associée à votre compte iCloud. Les AirTags diffusent ensuite leur clé publique aux alentours et c’est elle qui est reconnue par les iPhone qui passeraient à proximité. Le cas échéant, cet appareil Apple récupère la clé, ajoute les coordonnées de sa position actuelle et transmet le tout aux serveurs d’Apple.

Le constructeur a pensé en priorité au respect de la vie privée, ce qui veut dire qu’elle ne dispose pas d’une base de données centralisées de tous les AirTags en circulation et de toutes leurs clés publiques. Cela veut dire que les serveurs d’Apple traitent toutes les requêtes, sans pouvoir vérifier qu’elles proviennent bien d’un AirTag légitime. Par ailleurs, l’information qui circule sur ses serveurs est chiffrée et seule la clé privée générée lors de l’association initiale de l’AirTag permet d’y accéder.

Grâce à ce mécanisme sophistiqué, seul le propriétaire d’un AirTag peut savoir où se trouve sa balise une fois déclarée perdue. Ni les iPhone qui passent à proximité ni Apple n’ont accès à l’information, ils n’ont que la clé publique de l’AirTag qui n’a aucun intérêt en soi, puisqu’elle ne permet pas de remonter au propriétaire du traqueur. C’est malin, mais c’est aussi ce qui a permis à Fabian Bräulein de détourner le réseau.

Puisqu’il n’est pas possible de vérifier une clé publique, il a eu l’idée d’y glisser du texte. La quantité de données qui peut transiter par ce biais est très faible, on parle de quelques octets à chaque fois, mais cela peut suffire pour transmettre quelques mots, comme le prouve cette vidéo de démonstration.

Vidéo de démonstration fournie par le chercheur en sécurité. Il parvient à récupérer un message diffusé par son faux AirTag, récupéré par un appareil iOS à proximité et transmis via les serveurs d’Apple.

La récupération se fait avec une app macOS développée pour les besoins de l’expérimentation et ce, pour une excellente raison. Même si vous parvenez à créer de faux AirTags qui diffusent un message de votre choix, ce n’est pas pour autant qu’un iPhone pourra y accéder. L’app Localiser fournie avec iOS est prévue pour récupérer uniquement la position de la balise, rien de plus, et le message additionnel sera oublié. Son app ignore au contraire les coordonnées et récupère le message stocké dans la clé publique.

C’est malin et puisque cela exploite le principe même du réseau Localiser, Apple ne peut rien faire pour bloquer entièrement ce détournement. Au mieux, le constructeur pourrait imposer des limites qui réduiraient son efficacité et c’est déjà le cas en quelque sorte, puisque l’on ne peut pas enregistrer plus de 16 AirTags par compte iCloud. Mais même si l’entreprise ne peut pas faire plus, ce n’est pas gênant, tant cette faille de sécurité ne peut pas faire de mal.

Au mieux, cette solution pourrait servir à transmettre un message discrètement dans un scénario d’espionnage. C’est amusant à imaginer, même si en pratique, ce ne sont pas les méthodes plus simples qui manquent aujourd’hui pour transmettre des messages chiffrés. Si l’idée vous intéresse, vous trouverez le code source pour le module ESP32 ainsi que celui de l’app macOS à cette adresse.


avatar Guizilla | 

Article très bien expliqué, et finalement cette “faille”, n’en est pas vraiment une et pourrait presque passer pour une fonction !

avatar Sillage | 

@Guizilla

Un autre site parle de piratage alors que c’est un détournement. Il n’y a aucun piratage ici.
Le site, je ne sais pas si j’ose le dire. Mais il a un nom qui sonne comme mais s’écrit différemment de iPhone.
Ils ne maîtrisent aucune technique là.

Je trouve amusant. Et l’article ici est très bien fait.
👏

avatar bibi81 | 

Un autre site parle de piratage alors que c’est un détournement.

Un détournement n'est-il pas un piratage ?

avatar Mac13 | 

@bibi81

Piratage c'est un fait d'attaquer et approprier les contenus.
Détournement c'est un fait de la déviation de fonctions autrement que ce qui est initié.
Hack c'est un fait de forcer les accès informatiques pour révéler ses contenus.

C'est bon ?

avatar Guizilla | 

@Mac13

Hack dans son sens anglo-saxon d’origine est plus proche du détournement aussi et n’est pas lié à l’informatique

avatar DarKOrange | 

« tant cette faille de sécurité ne peut pas faire de mal. »

Alors ce n’est pas une faille de sécurité

avatar marenostrum | 

il utilise le réseaux (airtag) de Apple pour envoyer du texte à un iPhone équipé de son application. il peux l'envoyer la même chose par l'app Messages qui utilise aussi le réseau de Apple, mais là il est repéré. par contre par l'airtag non. d'où le mot espionnage dans le texte.

avatar DarKOrange | 

@marenostrum

Euh tu as compris de travers, relis l’article. L’app fonctionne sur Mac et le message n’est pas envoyé à un iPhone en particulier mais récupéré par tout iPhone passant à proximité et reçu sur un app installée sur un Mac

avatar marenostrum | 

ça ne change rien la procédure. ça peut être utilisé pour envoyer un message discret à quelqu'un. bref le titre d'article.

avatar osxkiller92 | 

@DarKOrange Ton pseudo est écrit d’une manière qui m’est assez familière. J’utilisais également cette écriture de « DarK » dans mon pseudo dans un jeu en ligne, OGame pour être précis.
Est-ce également ton cas ? :)

avatar xDave | 

Pas tout capter.
Il a créé un faux airtag qui envoie du texte que personne ne peut lire?

avatar marenostrum | 

pour récupérer le texte il faut avoir son app.

avatar xDave | 

@marenostrum

Oui et?

avatar MarcMame | 

« Au mieux, cette solution pourrait servir à transmettre un message discrètement dans un scénario d’espionnage »
———-
Ou faire de la publicité...

avatar Tibimac | 

Mouai bon ba il s'est bien amusé et c'est techniquement intéressant mais j'avoue que ça semble assez useless 🤷🏼‍♂️.

avatar marenostrum | 

l'imagination est plus importante que l'opinion, dit Jony Ive. pour Einstein l'imagination est plus importante que la connaissance même. ayant l'imagination on peut trouver facilement une utilisation de cette faille.

c'est pas parce que toi n'y arrive pas imaginer une utilité, que ça posera problème pour les autres, plus imaginatifs que toi.

avatar DarKOrange | 

@marenostrum

Ce n’est pas une faille

avatar marenostrum | 

c'est une faille, parce que c'est un détournement des fonctions prévues par Apple. après la gravité de la faille est autre chose.

avatar David Finder | 

@marenostrum

Tu le dis toi-même, c’est un détournement ! Donc pas une faille !
Utiliser un outil pour en faire autre chose n’en fait pas une faille pour autant. D’autant plus que comme dit dans l’article, ça ne sert à rien, en gros.

avatar DamienLT | 

@David Finder

Ça fait longtemps, treeeeeees longtemps que j’ai arrêté de lui répondre… il est bloqué sur une seule fonction : blablater en boucle son charabia que lui seul comprends 😬.

Compliqué d’échanger avec lui…

avatar David Finder | 

@DamienLT

Oui je sais. Je le fais aussi généralement, mais ma curiosité me pousse sans cesse à vouloir lire ses âneries…
La curiosité est un vilain défaut… 😊
D’ailleurs, il ne m’a pas répondu, donc je pense qu’il m’a bloqué. Faut dire, on se prend la tête à chaque fois qu’on « discute »…

Édit : le problème de le bloquer, sur l’app en tout cas, c’est que tu ne peux pas lire les réponses qui lui sont écrites par d’autres lecteurs, et c’est surtout ça qui m’embête.
J’ai réglé les commentaires en format « discussions » sur l’app, et si je masque quelqu’un, ça masque aussi les réponses écrites à ce quelqu’un. Dommage, parce qu’on peut quand même apprendre plein de choses en lisant les réponses faites à du charabia…

avatar DamienLT | 

@David Finder

J’avais jamais fait attention à ça à propos des pseudos masqués. Facilement j’ai loupé plein de chose depuis des années 🤣

avatar David Finder | 

@DamienLT

C’est ça !!
C’est pas terrible comme fonctionnement.

avatar DarKOrange | 

@marenostrum

En informatique comme ailleurs les mots ont leur importance. Ce n’est pas une faille mais un détournement, comme tu le dis, d’une fonction sans aucune conséquence sur la sécurité du système.

avatar IceWizard | 

Ça me fait penser à un « livre dont vous êtes le héros », où un espion développait une sorte de Tetris, où la chute des pièces n’étaient pas aléatoire, codant une formule chimique volée dans un laboratoire secret, pour l’envoyer à ces patrons. Tellement plus geek qu’un bout de papier, une photo ou un micro-film !

Pages

CONNEXION UTILISATEUR