IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Apple autorise certaines applications iOS à suivre la localisation des utilisateurs sans autorisation via des listes de SSID à proximité
Un développeur dénonce des abus de l'API HotspotHelper

Le , par Stéphane le calme

17PARTAGES

6  0 
Apple se présente comme un champion de la vie privée des utilisateurs; cependant, cette affirmation a été démentie par un développeur. Selon lui, pendant près d’une décennie, Apple a permis aux applications d’avoir la capacité de suivre la localisation des utilisateurs sans leur offrir la possibilité de désactiver cette fonctionnalité ou même de les sensibiliser à ce sujet.

L’API HotspotHelper d’Apple est une interface qui permet à une application de participer au processus d’authentification avec des réseaux Wi-Fi/hotspot. Elle donne aux utilisateurs un moyen de se connecter de manière transparente à un grand réseau agrégé de hotspots Wi-Fi. L’API HotspotHelper est sortie en 2015 avec iOS 9.

Pour utiliser l’API HotspotHelper, vous devez d’abord obtenir une autorisation spéciale (com.apple.developer.networking.HotspotHelper) de la part d’Apple. Vous pouvez ensuite enregistrer votre application comme un hotspot helper et gérer les commandes qui vous sont envoyées par le système. Vous pouvez également utiliser l’API NEHotspotConfiguration pour configurer les hotspots. L’API HotspotHelper n’est prise en charge que sur iOS.

API HotspotHelper en action

Pour illustrer comment l'API fonctionne, le développeur Yingyu a proposé un extrait de code simplifié :

Code Swift : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
import CoreLocation 
import NetworkExtension 
  
class LocationTrackingManager { 
    func setupHotspotHelper() { 
        // Request HotspotHelper capability 
        NEHotspotHelper.register(options: nil, queue: DispatchQueue.main) { (command) in 
            if let networkList = command.networkList { 
                for network in networkList { 
                    // Access WiFi network information (SSID, MAC address) 
                    // see: https://developer.apple.com/documentation/networkextension/nehotspotnetwork 
                    let ssid = network.ssid 
                    let macAddress = network.bssid 
  
                    // Perform location tracking logic with ssid and macAddress 
                    self.trackLocation(withSSID: ssid, andMACAddress: macAddress) 
                } 
            } 
        } 
    } 
  
    func trackLocation(withSSID ssid: String, andMACAddress macAddress: String) { 
        // Your location tracking logic goes here 
        // Use the ssid and macAddress to determine user location 
    } 
}

Cet extrait montre comment les développeurs peuvent utiliser l'API HotspotHelper pour s'inscrire aux informations du réseau WiFi. La méthode trackLocation présente le potentiel d’extraction de données pouvant être utilisées pour le suivi de localisation.

Le dilemme de la vie privée

Puis, Yingyu y est allé de son analyse et de ses recommandations. Ce qui suit est extrait de son billet.

La véritable cause d’inquiétude provient du fait qu’avec l’accès à de telles informations, les applications peuvent effectivement suivre la localisation d’un utilisateur. Cela repose sur le principe que la plupart des points d’accès WiFi restent stationnaires après leur déploiement, fournissant une référence constante pour trianguler la position d’un utilisateur via des API publiques disponibles telles que Precisely Location By Wi-fi Access Point, l’API de géolocalisation de Google.

Bien que les intentions derrière HotspotHelper puissent être enracinées dans la facilitation d’une connectivité transparente, la conséquence involontaire d’un suivi de la localisation potentiel sans le consentement explicite de l’utilisateur peut générer des interrogations dans le débat en cours sur la vie privée. Cette capacité est activée chaque fois que l’appareil de l’utilisateur scanne les points d’accès WiFi à proximité, allant au-delà de l’engagement explicite de l’utilisateur avec les paramètres du système pour inclure des cas où l’appareil est verrouillé dans la poche de quelqu’un.

Le système initiera l’application enregistrée avec cette API, permettant à l’application de récupérer les SSID à proximité et leurs adresses MAC et de transmettre ces informations au côté serveur. Par conséquent, si le développeur de l’application le souhaite, il possède la capacité de suivre la localisation de l’utilisateur en temps réel. Il est important de noter que les utilisateurs restent inconscients de ce processus qui se déroule sur leurs écrans, et qu’ils n’ont pas la possibilité de le désactiver.

Impact mondial : WeChat et Alipay

Pour Yingyu, le fait que des applications majeures comme WeChat et Alipay ont déjà implémenté cette fonctionnalité fait passer la discussion à un autre niveau. Ces deux applications sont omniprésentes en Chine continentale et touchent presque tous les aspects de la vie des gens. L'utilisation généralisée de ces applications dans une région densément peuplée intensifie les implications du suivi de localisation sans le consentement de l'utilisateur.

« Un débat passionnant pourrait porter sur la question de savoir si WeChat et/ou Alipay fonctionnent comme des citoyens responsables dans le monde des applications, affirmant que leur collecte de données vise uniquement à améliorer l'expérience utilisateur et à faciliter des connexions transparentes au WiFi à proximité. Néanmoins, la logique opaque côté serveur intégrée dans leur code soulève des questions. Se pourrait-il qu’une fois de plus, « SEUL APPLE PEUT FAIRE » en termes de transparence et de responsabilité ? »

La « réponse » d’Apple

Yingyu assure qu'en réalité, il a découvert ce problème il y a environ deux ans et il a créé une vidéo sur Bilibili (une alternative chinoise à YouTube) pour en discuter. Cependant, la sensibilisation du public est très limitée. Il affirme avoir également porté cette préoccupation à l'attention d'Apple et reçu une réponse par e-mail, mais pour l'instant, il n'y a eu aucune autre mise à jour à ce sujet.


« Je recommande vivement à Apple d'offrir aux utilisateurs la possibilité de désactiver cette fonctionnalité, à l'instar d'autres paramètres de confidentialité tels que la localisation et les notifications. Les applications doivent explicitement demander l'autorisation avant d'accéder à cette fonctionnalité, garantissant que les utilisateurs ont la possibilité d'accorder ou de refuser l'accès lorsqu'ils utilisent l'application.

« Alors que le débat sur la confidentialité numérique continue d’évoluer, Apple se retrouve à naviguer sur la frontière ténue entre l’innovation et la protection des données des utilisateurs. La question demeure : Apple peut-il maintenir son engagement en matière de confidentialité tout en répondant aux préoccupations soulevées par la fonctionnalité HotspotHelper ? Seul le temps nous dira comment cet aspect controversé s’intègre dans le discours plus large d’Apple sur la confidentialité ».

La réaction des internautes

S'appuyant sur la documentation d'Apple au sujet de cette API, un internaute a noté :

En parcourant les documents liés, cette API semble être spécifiquement destinée aux applications créées par les propriétaires de points d'accès WiFi pour aider les utilisateurs à se connecter à ces points d'accès (https://developer.apple.com/document...orkextension/h...).

> NEHotspotHelper permet à votre application de participer au processus d'authentification auprès des réseaux hotspot, c'est-à-dire des réseaux Wi-Fi où l'utilisateur doit interagir avec le réseau pour accéder à l'Internet plus large.
> NEHotspotHelper n'est utile que pour l'intégration de hotspots. Il existe des restrictions à la fois techniques et commerciales qui empêchent son utilisation pour d'autres tâches, telles que l'intégration d'accessoires ou la localisation via Wi-Fi. Avant d'utiliser NEHotspotHelper, vous devez d'abord bénéficier d'un droit spécial (com.apple.developer.networking.HotspotHelper) d'Apple.

Ce qui est logique, mais alors pourquoi exactement des applications comme WeChat et Alipay accordent-elles ce droit ?

Un autre a souligné le caractère dangereux des superapplications centralisées :

Les superapplications centralisées semblent incroyablement dangereuses pour la vie privée, étant donné que les modèles limités de confidentialité mobile sont conçus autour d'autorisations par application.
  1. Créez une application qui fait 1 chose
  2. Ajoutez plus de fonctionnalités à l'application
  3. Abuser du surensemble d'autorisations
  4. Le gouvernement s'appuie sur le propriétaire de l'application
  5. Le gouvernement abuse d'un surensemble d'autorisations

Ces « super applications » bénéficient partout d’un traitement spécial.

De nombreux fabricants de téléphones accordent même automatiquement certaines autorisations lors de l'installation de ces applications (la liste est parfois codée en dur dans le système), car certaines personnes ne comprennent pas ce qu'est une « autorisation » et reprochent au fabricant de téléphone de ne pas pouvoir pour utiliser WeChat/Alipay.

Un autre regrette l'absence du déclenchement d'une boîte de dialogue pour notifier l'utilisateur :

Même si seules les véritables applications de hotspot en bénéficiaient, il ne s’agit pas d’une conception conviviale axée sur la confidentialité. Une telle utilisation de l'API doit déclencher une boîte de dialogue d'autorisation visible par l'utilisateur avant que les applications ne soient notifiées en arrière-plan et l'utilisateur doit pouvoir sélectionner l'option "autoriser une fois, autoriser pendant l'utilisation, autoriser en arrière-plan, jamais" et l'activité de l'application doit s'afficher dans les rapports de confidentialité des applications.

Apparemment, ce droit n'est pas requis dans quelques autres conditions, répertoriées ici [1] par Apple :
  1. L'application utilise l'API CoreLocation et dispose de l'autorisation de l'utilisateur pour accéder à un emplacement précis. [Cela semble inoffensif : l'application obtient déjà l'emplacement précis ici.]
  2. L'application a utilisé l'API NEHotspotConfiguration pour configurer le réseau Wi-Fi actuel. [Cela semble être la portée de l'article !]
  3. L'application a des configurations VPN actives installées. [Celle-ci me surprend assez !]
  4. L'application a une configuration active de NEDNSSettingsManager installée. [Aucune idée de ce que c'est exactement, mais cela semble similaire à celle du VPN.]

[1] https://developer.apple.com/forums/thread/679038

Sources : documentation Apple, billet Yingyu

Et vous ?

Que pensez-vous de la capacité d’Apple à permettre aux applications de suivre la localisation des utilisateurs sans autorisation ?
Quels sont les risques potentiels pour la vie privée des utilisateurs si leurs données de localisation sont collectées et partagées par des applications tierces ?
Comment vérifiez-vous les permissions de suivi des applications sur votre iPhone ? Avez-vous déjà refusé ou modifié la permission d’une application de vous suivre ?
Quelles sont les mesures que vous aimeriez qu’Apple prenne pour renforcer la protection de la vie privée des utilisateurs sur ses appareils et services ?

Une erreur dans cette actualité ? Signalez-nous-la !