Faille de sécurité dans la connexion rapide des AirPods
(blogs.gnome.org)- En raison de CVE-2024-27867 dans le firmware des AirPods, une personne connaissant l’adresse MAC Bluetooth peut se connecter à l’appareil pour écouter le micro ou lancer de la musique
- La faille provient du fait que le chemin Fast Connect, protocole propriétaire d’Apple, ne vérifie pas explicitement l’état de l’authentification et du chiffrement
- L’adresse MAC Bluetooth nécessaire à l’attaque n’est pas totalement privée et peut être obtenue par radio lorsque les AirPods sont en mode appairage ou actifs
- Lorsque les AirPods sont dans leur boîtier de charge fermé, ou les AirPods Max dans leur Smart Case, les fonctions sans fil sont désactivées et toute connexion est impossible
- Apple a déployé des mises à jour de firmware pour les AirPods et certains Beats, mais la procédure peut être plus fastidieuse pour les utilisateurs Android, Windows et Linux qui les utilisent sans iOS ni macOS
Faille dans le firmware des AirPods et périmètre d’impact
- Le firmware des Apple AirPods contient la faille de sécurité CVE-2024-27867
- Une personne connaissant l’adresse MAC Bluetooth peut se connecter aux AirPods et effectuer les actions suivantes
- Écouter le micro
- Lancer de la musique
- Vérifier et mettre en pause la musique en cours de lecture sur un autre appareil connecté
- Effectuer certaines actions prises en charge par le protocole AAP
- Faire planter les AirPods en envoyant des messages mal formés
- Même si les AirPods sont déjà connectés à un téléphone, l’attaquant peut établir une connexion supplémentaire
- Toutefois, si l’attaquant active le micro, la lecture de musique s’arrête
- Si les AirPods sont dans leur boîtier de charge fermé, ou si les AirPods Max sont dans leur Smart Case, les fonctions sans fil sont désactivées et aucune connexion n’est possible
Découverte de la faille
- Avec macOS et des appareils Apple, de nombreuses fonctions des AirPods 3 fonctionnaient naturellement, mais lorsque le même ordinateur portable démarrait sous Linux, ils ne se connectaient pas simultanément au téléphone et à l’ordinateur
- Cette différence a laissé penser qu’un protocole propre à Apple absent des casques Bluetooth classiques était utilisé, ce qui a conduit à une analyse pour réimplémenter certaines fonctions sous Linux
- Au cours de cette analyse, une faille a été découverte dans la fonction Fast Connect d’Apple, qui connecte des périphériques Bluetooth
Fonctionnement de Fast Connect
- Fast Connect est un protocole propriétaire d’Apple qui utilise de manière créative la fonction ping de la spécification Bluetooth
- Son objectif est de réduire le temps d’établissement d’une connexion entre deux appareils Apple d’environ 1 seconde à environ 0,5 seconde
- Avant de s’authentifier avec l’appareil cible, les deux appareils échangent des messages ping L2CAP
- Apple place des messages de protocole dans la charge utile du ping
- Cette méthode permet de vérifier que les deux côtés prennent en charge Fast Connect sans enfreindre la spécification Bluetooth
- Trois allers-retours de messages supplémentaires servent ensuite à négocier les paramètres nécessaires à la connexion
- L’ensemble ne nécessite que 4 allers-retours de messages, ce qui est plus rapide que la procédure d’une connexion Bluetooth classique consistant à échanger des descripteurs SDP et à configurer les canaux
Absence de vérification de l’authentification
- Le problème vient de l’absence d’un contrôle important dans le chemin de code distinct qui implémente Fast Connect
- Les AirPods ne vérifient pas que l’autre partie s’est réellement authentifiée et a activé le chiffrement
- iOS et macOS, dans leur fonctionnement normal, effectuent les étapes d’authentification et d’activation du chiffrement après le message Fast Connect initial
- Même si un attaquant saute cette étape, les AirPods poursuivent la procédure Fast Connect
- Lors d’une connexion aux AirPods par la méthode Bluetooth classique, sans Fast Connect, l’étape d’authentification est implicitement incluse, ce qui pourrait expliquer l’absence de vérification explicite dans le chemin de code Fast Connect
Condition liée à l’adresse MAC Bluetooth
- L’attaquant doit connaître l’adresse MAC Bluetooth fixe des AirPods
- Cette adresse n’est pas une information totalement privée
- Elle est annoncée par radio lorsqu’un appareil Bluetooth est en mode appairage
- Lorsque les AirPods sont actifs, elle peut être facilement récupérée par radio avec du matériel comme Ubertooth One
Mises à jour et problème pour les utilisateurs non Apple
- Apple a déployé ces derniers jours plusieurs mises à jour de firmware corrigeant cette faille
- Les appareils concernés sont les AirPods 2, AirPods 3, AirPods Pro, AirPods Pro 2, AirPods Max et certains casques Beats
- Les utilisateurs doivent vérifier que le firmware de leurs AirPods est à jour
- Informations sur les mises à jour de sécurité : page de sécurité Apple
- Méthode de mise à jour : guide de mise à jour du firmware des AirPods
- Le firmware des AirPods se met à jour automatiquement, mais seulement lorsqu’ils sont utilisés avec un iPhone ou un MacBook
- Les personnes qui utilisent des AirPods sans appareil iOS ou macOS, comme les utilisateurs Android, Windows ou Linux, peuvent avoir du mal à mettre facilement le firmware à jour
- Il semble que ces utilisateurs puissent obtenir une mise à jour du firmware en Apple Store
Signalement et outils
- Jiska Classen de l’Université de Potsdam a apporté son aide pour les questions liées au Bluetooth et la procédure de divulgation
- Des outils communautaires Linux comme BlueZ ont été nécessaires pour identifier ce problème
1 commentaires
Commentaires sur Hacker News
J’aimerais savoir ce qui détermine l’échelle de temps de ce processus.
Au final, le handshake qui sert à vérifier quelles fonctionnalités les deux côtés prennent en charge et à décider quel protocole de couche physique utiliser prend du temps par conception.
Il existe bien quelques apps tierces, mais elles sont peu fiables. Heureusement, sur Mac, la plupart de ces choses sont possibles, même si le test d’ajustement nécessite un iPhone. Les mises à jour de firmware ne sont pas contrôlables par l’utilisateur, et il n’y a aucune information d’état ni de progression, ce qui rend le tout aussi déroutant que possible.
Un employé de l’assistance en Apple Store m’a déjà dit de « mettre les AirPods dans leur boîtier ouvert en les laissant connectés au Mac, brancher le boîtier à l’alimentation et attendre environ 30 minutes », mais en pratique j’ai l’impression qu’il y a une bonne part d’aléatoire dans la mise à jour. Les employés d’Apple Store semblaient aussi parfois avoir une connaissance très floue de l’interopérabilité entre produits Apple hors iPhone, et ils ont été surpris deux fois d’apprendre que j’utilisais des AirPods uniquement avec un Mac et Android, sans iPhone.
https://support.apple.com/en-us/106340
La version américaine indique des numéros de firmware récents différents : par exemple, les AirPods Pro 2e génération sont en 6F8, alors que la version indienne indique 6B34.
J’attends un article de suivi sur l’implémentation Linux.
J’aimerais avoir davantage de contrôle sur les mises à jour.
https://support.apple.com/en-us/106340
Il est vrai que plus de 95 % des utilisateurs d’AirPods n’ont pas besoin de connaître les mises à jour de firmware, mais ceux que cela intéresse devraient avoir un moyen de vérifier ce qui se passe.
En général ce n’est pas un gros problème, mais il m’est déjà arrivé de recevoir un firmware AirPods avec quelques jours de retard, et il pourrait venir un moment où une mise à jour immédiate sera importante.
Si cela consiste à couper une connexion existante, il semble difficile d’écouter un appel ou un flux audio à l’insu de l’utilisateur. Je ne sais pas si le pire scénario se limite à scanner les adresses MAC à proximité, se connecter automatiquement et jouer du bruit dans les oreilles, ou s’il y a un problème plus important.
On pourrait peut-être voler les AirPods d’une célébrité ou d’un responsable politique pendant un appel vidéo, mais cela serait vite remarqué ; je me demande s’il y a pire.
De plus, prendre le contrôle d’une connexion Bluetooth donne accès à une surface d’attaque assez large ; si l’attaquant connaît d’autres vulnérabilités, cela ouvre aussi la voie à une chaîne d’exploits supplémentaire.
Le protocole « Fast Connect » semble autoriser plusieurs appareils à être « connectés » simultanément, donc l’utilisateur risque fort de ne rien remarquer. Une autre attaque consisterait à placer, comme un agent d’entretien, des appareils en forme de sous-verres à café un peu partout dans un bureau pour capter l’audio des AirPods à proximité.
La partie vraiment difficile est en grande partie déjà résolue : il ne reste qu’à fabriquer un appareil avec une petite batterie, un émetteur Bluetooth et du stockage pour collecter de l’audio de haute qualité près des endroits où les gens parlent.
Cela dit, il faut rester à portée Bluetooth, donc il serait peut-être plus simple d’écouter de manière tout à fait classique.
Si ce n’était pas corrigé, quelqu’un aurait créé une app de brouillage d’AirPods pour Flipper Zero afin de couper le son des AirPods de tout le monde dans les lieux publics et d’agacer les gens.
6A326 semble être la version qui contient le correctif.
https://support.apple.com/en-us/HT214111
C’est sans doute la version pour les AirPods Pro 2e génération.