Contourner les restrictions régionales de la fonction appareil auditif des AirPods Pro 2 avec une cage de Faraday
(lagrangepoint.substack.com)- Depuis iOS 18.1, les AirPods Pro 2 peuvent être utilisés comme des appareils auditifs, mais en raison de restrictions régionales, les utilisateurs malentendants en Inde ne pouvaient pas accéder immédiatement à cette fonction clé
- Les restrictions portaient sur plusieurs axes, comme la résidence dans un pays pris en charge, iOS 18.1 ou ultérieur, et le firmware 7B19 ou ultérieur ; l’appareil pouvait déterminer sa position en combinant IP, paramètres régionaux, GPS, réseau mobile et informations de localisation WiFi
- La manipulation via proxy et la simulation CoreLocation de Xcode ont échoué ; d’après les logs de
locationdet des indices dans les réglages, la position simulée ne semblait pas utilisée pour déterminer le domaine réglementaire - Finalement, une expérience de cage de Faraday a été menée en imitant l’environnement WiFi de Menlo Park, en Californie, avec des données Wigle et un ESP32, puis en réduisant les signaux environnants à l’aide d’une boîte en papier aluminium et d’un four à micro-ondes
- Une fois activée, la fonction Hearing Aid était synchronisée avec le compte iCloud et pouvait être utilisée sur d’autres appareils ; l’enjeu principal restait de mettre au point une procédure reproductible pour ouvrir cette fonction géorestreinte aux utilisateurs qui en avaient réellement besoin
Restrictions régionales de la fonction appareil auditif des AirPods Pro 2
- Juste après la mise à jour iOS 18.1, des AirPods Pro 2 ont été achetés pour des grands-parents malentendants, mais Apple limitant la fonction Hearing Aid aux États-Unis et à quelques autres pays, elle était en pratique inutilisable en Inde
- Les appareils auditifs classiques peuvent coûter de ₹50 000 à plus de ₹8L, selon leur capacité de correction
- Apple met en avant le fait que la fonction appareil auditif des AirPods peut corriger l’audition jusqu’à 60dbHL, en particulier autour des fréquences de la voix
- Pour les personnes se trouvant dans une région prise en charge, possédant des AirPods Pro 2 et utilisant iOS 18.1 ou ultérieur avec le firmware 7B19 ou ultérieur, l’écran de cette fonction apparaissait dans l’app Santé
- En « activant » la fonction depuis un appareil sous iOS 18.1 ou ultérieur, il était possible de la pousser vers des appareils avec un firmware plus ancien, comme 7A294
Comment iOS détermine la position
- Les premières recherches ont montré qu’un appareil iOS pouvait déterminer le pays et la région de l’utilisateur par plusieurs voies
- En envoyant une requête GET à
https://gspe1-ssl.ls.apple.com/pep/gccpour recevoir un code pays basé sur la localisation IP - En vérifiant la région configurée dans l’Apple Store
- En s’appuyant sur les paramètres régionaux, le fuseau horaire et la langue de l’appareil
- En envoyant une requête GET à
- Sur les appareils dotés du GPS et d’un réseau mobile, une détermination plus directe de la position est également possible
- Position basée sur le signal GPS
- Détermination de la position via le réseau mobile en comparant le MCC/MNC à une base de données interne
- Pour réduire le périmètre de l’expérience, un iPad WiFi de 10e génération, sans connectivité cellulaire, a été utilisé
- Usurper le GPS et les antennes-relais ne serait pas impossible en construisant une cage de Faraday, mais cela aurait demandé beaucoup plus de travail
Contournements échoués : proxy et simulation de position
- La première approche a consisté à changer les paramètres régionaux et la région dans iOS, puis à faire passer le trafic réseau de l’appareil par un ordinateur portable en proxy afin que la réponse de l’endpoint de géolocalisation apparaisse comme
USau lieu deIN - La fonction de simulation de position de Xcode a aussi été utilisée pour tenter d’usurper CoreLocation
- Cette méthode n’a pas fonctionné
- À cause du certificate pinning, plusieurs apps et écrans de réglages n’arrivaient plus à se connecter aux serveurs Apple
- Il était possible que la connexion aux serveurs Apple nécessaire à l’activation de la fonction ait été bloquée, mais cela n’a pas pu être entièrement vérifié
- Les logs de la console affichaient des messages laissant penser que la fonction devait être activée, mais l’écran de réglage Hearing Aid ne s’ouvrait pas réellement
Les indices révélés par locationd
- Le lendemain, un nouvel examen des logs a montré des messages suggérant que, malgré l’usurpation de la localisation IP et des paramètres régionaux, l’appareil estimait ne pas se trouver aux États-Unis
- Les binaires
countrydetlocationdont été extraits afin d’y chercher les chaînes pertinentes - Dans
locationd, un réglage booléen nomméAllowSimulatedLocationa été identifié, avec une valeur par défaut à 0 - Un getter
skipUpdatingRegulatoryDomaina également été découvert ; il semble être utilisé danssendUpdateToRDIfAllowedpour décider s’il faut mettre à jour le domaine réglementaire - La conclusion a été que même en simulant CoreLocation avec les outils intégrés à Xcode, cela ne passait pas pour la détermination du domaine réglementaire de Hearing Aid
- La fonction Hearing Aid peut être contrôlée depuis macOS, mais son activation devait se faire via un appareil iOS
- Modifier le binaire sur macOS après avoir désactivé SIP afin d’activer directement la fonction restait une piste possible, mais elle n’a pas été explorée
Tromper la localisation WiFi
- Les appareils récents peuvent trianguler une position à l’échelle d’une ville en combinant les SSID WiFi environnants, les adresses MAC des routeurs et des appareils, ainsi que le GPS
- Si un iPad uniquement WiFi pouvait afficher une position précise dans les apps sans GPS ni cellulaire, c’était aussi grâce à la géolocalisation WiFi
- Parmi les bases de données publiques de localisation WiFi, un compte a été créé sur Wigle afin de récupérer des données de Menlo Park, en Californie
- Skylift a été forké et modifié, puis un ESP32 a été configuré pour diffuser rapidement en boucle des SSID WiFi
- Le principe consiste à faire imiter à l’ESP32 l’environnement radio d’une autre région
- Le nombre de SSID à faire tourner a été augmenté de 10 à 100
- Comme il y avait beaucoup de vrais réseaux WiFi émis par les maisons autour de Lagrange Point, l’iPad pouvait signaler d’autres réseaux à proximité si ces signaux n’étaient pas affaiblis ou dominés
Expériences avec cage de Faraday et four à micro-ondes
- La première cage de Faraday a été fabriquée en enveloppant une boîte en carton ondulé dans du papier aluminium
- À l’intérieur de la boîte se trouvaient l’ESP32 diffusant les SSID californiens et l’iPad, celui-ci étant connecté à un ordinateur portable pour les logs de console et l’accès à Internet
- En exploitant le fait que le WiFi et les fours à micro-ondes utilisent tous deux la bande 2,4 GHz, un four à micro-ondes qui fuyait a été lancé à puissance maximale pour tenter de bloquer les signaux réseau persistants aux alentours
- Un script a été mis en place pour redémarrer l’iPad cinq minutes après l’avoir placé dans la boîte, puis activer le réseau
- Lors du premier essai, l’iPad était toujours reconnu comme étant dans la région
IN, mais après plusieurs ajustements de la cage de Faraday, des interférences du micro-ondes et de la procédure de redémarrage, le message de changement de région attendu est apparu dans la console - Ensuite, en sortant l’iPad et en ouvrant les AirPods, le processus de configuration Hearing Aid s’est affiché immédiatement
Procédure reproductible et projet d’activation en série
- Une fois la preuve de concept terminée, le travail a commencé pour créer une procédure de reproduction plus fiable afin d’ouvrir la fonction aux personnes qui en ont besoin
- Les expériences ont été répétées pendant plusieurs jours et une cage de Faraday plus permanente a été fabriquée
- Un petit camp d’activation à Lagrange Point a été envisagé pour les personnes à Bengaluru qui pourraient bénéficier de l’usage des AirPods comme appareils auditifs
- Les participations et mises à jour devaient être gérées via un compte X et un fil de tweets
Fonctionnement après activation
- La fonction Hearing Aid ressemblait à un préréglage d’égaliseur poussé vers les AirPods et remplaçait le mode Transparence
- Une fois la fonction Hearing Aid activée, le flag de fonctionnalité était synchronisé avec le compte iCloud
- Grâce à cette synchronisation, la fonction pouvait être utilisée sans répéter la même procédure sur tous les appareils
1 commentaires
Commentaires sur Hacker News
La fonction Hearing Aid est en réalité un préréglage d’égaliseur poussé vers les AirPods, et semble remplacer le mode Transparence.
Si Apple ne l’avait pas commercialisée comme une « aide auditive » ni employé de vocabulaire médical, les régulateurs ne seraient probablement pas intervenus. D’autres écouteurs true wireless dotés d’un égaliseur paramétrique et d’un mode Transparence peuvent faire la même chose.
En contrepartie, Apple aurait perdu son avantage marketing, mais c’était peut-être en soi un gros risque calculé. Ces appareils embarquent une puissance de traitement et une flexibilité énormes. Même des produits à moins de 10 dollars utilisant le tristement célèbre SoC JieLi reviennent à avoir un ordinateur 32 bits à 160 MHz dans chaque oreille.
Il est surprenant qu’il n’existe pas encore d’écouteurs true wireless mettant en avant un firmware open source, même s’il semble qu’il y ait eu quelques travaux de personnalisation dans les communautés chinoises et russes.
Si Apple se contente de dire que cela « fonctionne plus ou moins comme une aide auditive », elle se retrouvera nettement désavantagée face à d’autres marques qui mettront des affiches bien visibles dans les points de vente. Bien sûr, Apple peut encore gagner pour les ventes en ligne ou auprès des personnes qui n’ont pas absolument besoin d’un haut niveau de confiance.
https://electronics.sony.com/otc-hearing-aids
https://audiochamps.com/what-does-tws-mean/
Autrement dit, des écouteurs Bluetooth.
Je craignais qu’il y ait d’autres problèmes réglementaires, comme le volume, mais je ne vois pas trop lesquels.
Il y a ce passage : « Comme le WiFi et les micro-ondes fonctionnent sur la même fréquence, 2,4 GHz, ils ont fait tourner un four à micro-ondes fuyant à puissance maximale pour bloquer les signaux réseau continus dans l’air. » Fait intéressant, le WiFi essaie justement d’éviter ce type d’interférences.
Un four à micro-ondes n’émet pas lors des passages par zéro de l’alimentation secteur alternative, et pendant ces intervalles il n’y a pas de signal radio dans l’air susceptible de perturber les ondes. Le WiFi écoute avant d’émettre afin d’éviter les collisions avec d’autres appareils, et le signal d’un micro-ondes suffit à déclencher cette détection.
Je ne me souviens plus si un micro-ondes fonctionne en demi-onde, créant des fenêtres de 1/120 s soixante fois par seconde, ou s’il n’y a seulement qu’une zone critique autour du passage par zéro où la puissance est trop faible pour interférer. Ici, il semble très possible que le micro-ondes n’ait en réalité pas joué un grand rôle.
Cela dit, à d’autres moments, je n’ai pas constaté d’effet notable.
Quelqu’un sur Reddit a indiqué qu’il était possible d’accéder directement à la fonction de test auditif via une URL spéciale :
x-apple-health://HearingAppPlugin.healthplugin/HearingTest
Je me demande s’il serait possible de trouver un deeplink similaire pour activer le mode Hearing Aid.
https://www.reddit.com/r/AirpodsPro/comments/1gftyqo/is_the_...
Dans une certaine mesure, l’approche actuelle était simplement plus facile.
Il y a sûrement quelque chose. Apple a changé le schéma de gestion des URL dans iOS 18, donc les anciens dépôts qui y faisaient référence ne fonctionnent plus.
Je suis Rithwik, l’un des auteurs. Si vous avez des questions, j’y répondrai.
Du point de vue d’Apple, je suis toujours entièrement « canadien ». Je ne vois aucune des fonctionnalités liées aux App Store tiers limitées à l’UE, et j’ai accès à des fonctionnalités comme Apple Intelligence qui ne sont pas disponibles dans l’UE.
La fonction d’aide auditive n’étant disponible ni au Canada ni en Espagne, je ne peux pas tester, mais je me demande en quoi la restriction régionale de l’aide auditive diffère des autres restrictions régionales et activations par région d’Apple.
Je me demande comment vous avez commencé, et si vous avez des ressources à recommander. Et puisque vous avez dit que vous n’aviez finalement pas acheté des écouteurs très chers, je suis aussi curieux de savoir quels écouteurs vous utilisez réellement, ou lesquels vous aimeriez acheter.
Je me demande si ce réglage se réinitialise au bout d’un certain temps, ou s’il suffit de le faire une seule fois.
J’ai peur que l’iPad ou les AirPods décident qu’ils sont restés trop longtemps en Inde et retirent la fonctionnalité.
Une fois la fonctionnalité activée, un indicateur est défini sur le compte iCloud, donc elle continue de fonctionner où que vous voyagiez. En même temps, un profil d’égalisation est poussé vers le mode Transparence des AirPods, ce qui active la fonction d’aide auditive.
Une fois l’opération terminée, cela reste en place tant que vous ne réinitialisez pas les AirPods.
Il y a toutefois une particularité intéressante : si vous activez cette fonction sur les AirPods de quelqu’un d’autre, mais que la fonction n’est pas « disponible » sur ses appareils ou son compte, cette personne ne pourra pas ajuster les réglages depuis ses propres appareils.
Cet exemple montre très bien pourquoi le logiciel libre est important. Le verrouillage régional est ici une pratique hostile qui n’a aucun sens.
Si le logiciel ou le firmware avaient été libres et ouverts, on aurait pu patcher ou désactiver le verrouillage régional. Il est même très probable qu’une telle restriction n’aurait pas été ajoutée dès le départ.
Dans les pays approuvés, les autorités de régulation ont probablement dû l’autoriser comme dispositif médical d’assistance. Si des dispositifs médicaux d’assistance et autres pouvaient être vendus sans approbation, des objets capables de blesser ou même de tuer des gens pourraient être commercialisés sous cette appellation.
Le problème ici, c’est que ce cas semble être une fonction d’assistance inoffensive, ce qui rend son interdiction ridicule. Mais si la réglementation ne s’applique pas, elle ne sert à rien.
Au final, soit les régulateurs des autres pays sont lents, soit, dans le pire des cas, Apple n’a peut-être pas demandé l’autorisation.
Je me demande si quelqu’un sait ce que fait réellement le mode Hearing Protection. Il n’est pas disponible en Norvège, ni en dehors de l’Amérique du Nord.
J’ai déjà utilisé les AirPods Pro 2 comme protection auditive auparavant, et ça fonctionnait plutôt bien. Je me demande si c’est simplement parce que l’expression « Hearing Protection » ne peut être utilisée qu’aux États-Unis, ou si la fonction est réellement meilleure que la réduction de bruit habituelle des Pro 2.
Quand on écoute Hearing Protection en action, ça ressemble à de la compression multibande : la plage de fréquences audibles est divisée en plusieurs bandes, et une compression est appliquée séparément à chacune. Mais j’ai l’impression que cela existait déjà avant.
Je me demande si c’est réellement différent du mode Transparence personnalisé dans les fonctions d’accessibilité, qui existait déjà avant l’annonce de la fonction d’aide auditive.
On pouvait utiliser un audiogramme enregistré dans l’app Santé. Cela dit, le mode Transparence personnalisé sonnait assez mal, comme un filtre en peigne.
Vraiment excellent. À i3Detroit, nous construisons une cage de Faraday de la taille d’un dressing. Bien sûr, comme nous sommes aux États-Unis, nous n’en avons pas besoin pour ce hack en particulier, mais il y a énormément de raisons amusantes d’en avoir une.
La principale, c’est qu’il y a un émetteur WOMC tout près, avec une EIRP de 135 000 watts. Il s’infiltre dans toutes sortes d’équipements et complique les mesures sur d’autres fréquences radio. Quand on fait des travaux comme l’alignement d’amplificateurs, il vaut mieux commencer par établir une base solide dans un environnement calme avant d’ajouter des causes potentielles comme l’intermodulation.
On peut déboguer du matériel sans fil, WiFi, Bluetooth, etc., sans les innombrables nœuds environnants. On peut aussi filtrer la sortie d’un sniffer, mais filtrer directement l’entrée est plus amusant.
On peut aussi allumer un réseau mobile 1G ou 2G sans se soucier des licences de fréquences. On peut s’entraîner à des techniques WiFi agressives susceptibles de perturber le réseau existant du hackerspace.
Dans une zone sans FCC, on peut jouer avec un spoofer GPS, ou mener des expériences amusantes qu’on veut faire de façon responsable. On peut aussi enfermer un iPhone dedans pour voir s’il redémarre tout seul.
J’ai très envie d’y mettre des appareils et de remplir l’air à l’intérieur d’ondes radio, sans me soucier des licences.
J’ai vu une cage de Faraday grandeur nature à l’Indian Institute of Science, et j’ai été content de constater que notre approche et notre structure étaient similaires.
Dans ce cas, le certificate pinning semble aussi assez facile à contourner. Il suffit d’utiliser un proxy ou un VPN. Cela dit, toute l’histoire autour de la cage de Faraday est plutôt cool.
Un VPS quelque part avec Tailscale aurait sans doute aussi fait l’affaire.