Quand une app demande une autorisation, il devrait y avoir une option de « fourniture de fausses données »
(archive.md)- Quand une app demande une autorisation, l’OS ne devrait pas se limiter à une réponse oui/non, mais ajouter une « option de fourniture de fausses données » à toutes les catégories d’autorisations
- Si elle demande les contacts, fournir des faux contacts générés ; si elle demande l’accès au micro, fournir un bruit d’ambiance aléatoire ; si elle demande la localisation, fournir les coordonnées d’une petite île de 5×5 m
- Si on bloque l’accès, l’app peut répondre « alors elle ne peut pas être utilisée », mais si on lui donne de fausses données, seules les services qui ont exigé des données inutiles se retrouvent pénalisés
- Le boycott impose un lourd sacrifice personnel aux utilisateurs tout en n’ayant qu’un impact minime sur les entreprises ; l’idée défendue est donc que la conformité malveillante (malicious compliance) est plus efficace qu’un boycott
- Cela rejoint la question du contrôle par l’utilisateur : en tant qu’administrateur d’un appareil qui lui appartient, l’utilisateur devrait pouvoir contrôler les apps et le logiciel système
Proposition clé — option de fausses données par autorisation
- L’OS devrait proposer, pour chaque demande d’autorisation, en plus de oui/non, une option « oui, mais en fournissant de fausses données » dans toutes les catégories
- Demande de contacts → fournir de faux contacts générés aléatoirement
- Demande de micro → fournir un bruit d’ambiance aléatoire (
random ambiance) - Demande de localisation → répondre que l’on se trouve sur une petite île de 5×5 m
- Si un service exige des données dont il n’a pas besoin, cela a pour effet de le punir en injectant des informations inutiles dans sa base de données
- Contrairement au simple blocage d’accès, les fausses données empêchent l’app de répliquer par « inutilisable » tout en neutralisant la collecte de données superflues
Pourquoi ce serait supérieur au boycott
- Boycotter une app nécessaire est un sacrifice personnel important qui n’inflige qu’un dommage à peine perceptible à des milliardaires, ce qui en fait un mauvais marché
- La partie qui se bat est celle qui a le plus à perdre, ce qui défavorise l’utilisateur
- L’injection de fausses données donnerait davantage de pouvoir aux utilisateurs
- L’expression « conformité malveillante (malicious compliance) » est présentée comme plus amusante qu’un boycott
Outils existants mentionnés dans la discussion
-
Location spoofing
- Par le passé, le location spoofing n’était possible que comme réglage global, avec peu de possibilités de choix app par app
- Dans les options développeur d’Android, on peut désigner une app précise comme app de mock location, ce qui s’applique globalement
- Firefox dispose d’extensions de spoofing pour divers types de données, dont la géolocalisation, mais il serait plus utile que cela fonctionne directement sur le téléphone
- Le fait que Pokémon GO ait été détourné via de fausses données de localisation montre que c’est techniquement possible
-
XPrivacyLua
- Sur un appareil rooté, cela faisait exactement ce que voulait l’utilisateur, mais nécessitait Magisk (modification du système)
- Le projet n’est plus maintenu et n’est pas compatible avec tous les appareils
-
Fonctions d’autorisations natives d’Android
- Android permet déjà de choisir l’accès aux informations app par app, ou de redemander à chaque fois
- Mais cela reste du blocage, pas une fourniture de fausses données
Idées d’extension et exemples
-
Pollution de données avec l’IA
- Proposition de neutraliser les data miners en leur fournissant récursivement des informations dénuées de sens
- Idée d’utiliser des données générées par IA pour polluer jusqu’aux contenus destinés à l’entraînement de l’IA
-
Réponse au pistage publicitaire
- Mention de AdNauseam (un fork de uBlock Origin), qui bloque les publicités tout en cliquant sur toutes pour neutraliser les données de ciblage
- Les tentatives passées ont été jugées gourmandes en ressources
-
Brouillage des profils de suivi dans le navigateur
- Il existe des services qui parcourent rapidement plusieurs sites avec navigateur et cookies pour perturber le fingerprinting et le suivi
- Possibilité de choisir des schémas aléatoires ou basés sur un profil (par exemple : « naviguer comme un hippie équatorien de 70 ans »)
- Mention du cas de TrackThis, créé par Mozilla
Limites et inquiétudes soulevées
- Si l’on saisit une date de naissance aléatoire, on recevra des messages d’anniversaire à une date arbitraire ; et avec les questions de sécurité, on risque de ne plus savoir quelle date a été utilisée
- D’où l’idée complémentaire que l’OS devrait pouvoir montrer à l’utilisateur les valeurs de ses fausses données
- L’idée avait été étudiée comme idée de startup il y a une dizaine d’années, mais sans trouver de juriste capable de la rendre défendable
- Les développeurs commerciaux en auraient trop peur, donc Google a peu de chances de l’implémenter
- La cause fondamentale, selon cette critique, est que ni Google ni Apple ne veulent que les utilisateurs aient le contrôle
1 commentaires
Commentaires sur Hacker News
Favorable à l’idée des « fausses données », mais les apps devraient aussi être tenues de gérer ça proprement quand l’utilisateur refuse l’accès aux vraies données
Quand je développais sur iOS, la politique d’Apple disait qu’une app ne devait pas punir l’utilisateur parce qu’il refusait une permission ni quitter via
exit(), et qu’elle devait continuer à fonctionnerIl fut un temps encore plus ancien où une app ne pouvait pas non plus exiger un « compte » pour se lancer. Je me souviens qu’il y a plus de dix ans, mon entreprise avait rendu le compte obligatoire et l’app s’était fait refuser à juste titre sur l’App Store. Vu le nombre croissant d’apps qui exigent aujourd’hui un compte, cette position semble s’être assouplie
Comment des apps bancaires, des jeux en ligne, l’app Twitter actuelle, ou des apps comme Dropbox/Nextcloud pourraient-elles fonctionner sans compte ?
C’est vrai que, dans beaucoup d’apps, l’exigence d’un compte est une astuce marketing, mais une règle générale de ce genre ne semble pas pouvoir fonctionner
Facebook/Meta, c’est vraiment de la merde
Si c’est pour afficher ma position sur une carte ou chercher des commerces à proximité, on peut fournir de fausses données
Mais si c’est une app de test de débit Internet qui cartographie les vitesses par opérateur, ou une app où les utilisateurs signalent la météo locale pour améliorer les prévisions, je pense qu’elle devrait pouvoir dire : « donnez une position précise ou pas de position du tout, nous ne voulons pas de fausse localisation »
La plateforme devrait décider s’il faut accorder une exception aux apps qui reçoivent des données contributives des utilisateurs ayant un impact sur d’autres personnes
Apple semble avoir trouvé ici un compromis assez correct. On n’est pas obligé d’autoriser une app à accéder à la « localisation précise », et pour les photos, l’app peut aussi ne voir que celles choisies par l’utilisateur via le sélecteur d’images fourni par le système
C’est pareil même si l’on veut seulement regarder des photos déjà stockées dans le cloud
Cela revient à proposer une solution organisationnelle à un problème technique, ce qui a peu de chances de marcher ; la seule solution pratique, ce sont les fausses données. Du point de vue de l’app, il faut que cela ait l’air autorisé même si la permission réelle ne l’est pas
Sur Android rooté, XPrivacy savait déjà faire ça il y a 7 ans, et il existe aussi des alternatives modernes. Cela dit, comme je n’ai pas rooté de téléphone depuis longtemps, difficile de garantir quoi que ce soit : https://github.com/M66B/XPrivacy
Bien sûr, ce n’est pas une approche grand public, et je suis d’accord pour dire que cela devrait être intégré par défaut. Mais Android comme iOS autorisent aussi des absurdités comme les apps à restriction géographique ou le blocage des captures d’écran sur des contenus DRM, donc ça ne sera pas simple
Un téléphone est un dispositif de diffusion de contenu du fournisseur, et l’utilisateur est à leur merci
GrapheneOS ne s’entendait pas très bien avec les apps bancaires, Google a cassé plusieurs fois le root via Magisk dans Android Beta, et à un moment j’ai cessé de m’en soucier
Un projet comme GrapheneOS, ou similaire, pourrait peut-être offrir cette fonctionnalité
C’était à ce point que je ne cliquais jamais tout de suite sur « refuser » ; je commençais toujours par « refuser temporairement ». Si l’app fonctionnait, je refusais ensuite définitivement ; si elle plantait, il fallait trouver l’ensemble minimal de permissions à autoriser
C’est une fonction importante des app stores, parce qu’une app peut ne pas offrir une bonne expérience dans tous les pays, ne pas être localisée dans toutes les langues, ne pas avoir de modérateurs pour le contenu dans telle ou telle langue, devoir respecter les lois nationales, ou avoir des licences de diffusion limitées à certains pays pour des contenus protégés par le droit d’auteur
L’empêchement des captures d’écran sur du contenu DRM est une fonctionnalité demandée par les développeurs d’apps pour répondre à des exigences juridiques liées aux licences de contenus comme les films. Les studios ne veulent pas que les gens diffusent ou enregistrent les films, donc les plateformes d’apps doivent fournir un moyen d’afficher ces contenus de manière sécurisée
« Si quelqu’un pose une question qu’il n’a pas qualité à poser, vous n’avez aucune obligation de lui dire la vérité »
— Leonard Schiffman
Source : “Blend me in: Privacy-Preserving Input Generalization for Personalized Online Services” https://drive.google.com/file/d/10OmoqMmHFcb7PsQtaU_GW4aCAJe...
L’idée selon laquelle, lors d’une demande d’autorisation d’application, le système d’exploitation devrait proposer non seulement oui/non mais aussi « oui, mais en fournissant à l’app des données factices » pose problème
Beaucoup d’utilisateurs ne savent même pas comment transférer un e-mail
Imaginez la confusion si ces mêmes personnes choisissaient des données factices en utilisant la navigation Google Maps sans en comprendre le sens
Google Maps : « Tournez à droite »
Conducteur sur une route en bord de mer : « D’accord »
Voiture : plouf
Il suffit de cacher la fonction de falsification des données assez profondément dans les réglages, de l’expliquer clairement en termes simples avant son activation, et d’indiquer explicitement à l’écran que l’app reçoit des informations de substitution à cause d’une fonction de protection de la vie privée activée par l’utilisateur, et qu’elle peut être désactivée facilement
Il y aura quand même des personnes qui l’activeront par erreur, mais cela pourrait apporter une grande valeur à beaucoup d’autres utilisateurs
Dans les deux cas, c’est un problème qui se résout tout seul
Le système d’exploitation devrait plutôt proposer « oui », « non » et « personnalisé ». Si l’utilisateur choisit « personnalisé », on peut afficher des avertissements dans ce menu si nécessaire, mais il ne faut pas empêcher l’utilisateur de configurer cela comme il le souhaite
Apple Maps n’aurait pas ce problème. On peut télécharger les cartes sur l’appareil, ce qui permet un fonctionnement hors ligne sans connexion de données
Je suis surpris que le commentaire le mieux classé ne mentionne pas qu’il est impossible sur iOS de distinguer si une autorisation a été accordée ou non
Par exemple, quand une app demande l’accès aux photos, elle reçoit toujours un tableau. Simplement, si l’autorisation est refusée, ce tableau est vide, donc on ne peut pas savoir si la photothèque de l’utilisateur est réellement vide ou si l’accès a été refusé. C’est simple et élégant
Bien sûr, pour les photos, on peut utiliser une heuristique puisque presque tout le monde en a au moins quelques-unes. Mais pour d’autres types de données, comme les données de santé, ce n’est pas aussi évident
Pour les notifications push, il existe UNAuthorizationStatus : https://developer.apple.com/documentation/usernotifications/...
Pour les données de santé, il existe HKAuthorizationStatus : https://developer.apple.com/documentation/healthkit/hkauthor...
Pour les contacts, il existe CNAuthorizationStatus : https://developer.apple.com/documentation/contacts/cnauthori...
Pour les photos, il existe PHAuthorizationStatus : https://developer.apple.com/documentation/photokit/phauthori...
Les photos constituent un cas particulier, car l’utilisateur peut choisir entre accès refusé, accès limité ou accès complet. On peut savoir si l’accès a été refusé, mais on ne peut pas distinguer l’accès limité de l’accès complet
Et si le dossier des photos est vide, cela voudra presque certainement dire qu’il n’y a pas d’autorisation. Les personnes n’ayant jamais pris de photo sont extrêmement rares
Par exemple, si l’utilisateur autorise l’accès à sa position, l’objet de localisation transmis à l’app contiendra évidemment les informations correspondantes. Si le système d’exploitation transmet un objet de localisation vide, cela ne rend-il pas le refus d’autorisation évident, ou bien est-ce caché derrière une erreur d’une manière ou d’une autre
Je pense que « fournir des données factices » est une mauvaise approche. Une meilleure approche serait de fournir des données issues d’une source alternative, et cette source alternative devrait pouvoir être n’importe quel autre programme
La source alternative pourrait être des données vides, des données aléatoires, des données fictives mais cohérentes, des données issues d’un fichier alternatif (par exemple une liste de contacts distincte ou des photos provenant d’un fichier au lieu de la caméra), des données transformées (par exemple retourner les photos de la caméra à l’envers), un filtrage, un enregistrement, interroger l’utilisateur pour chaque donnée individuelle, fournir des codes d’erreur au lieu de données et permettre à l’utilisateur de choisir le code d’erreur, etc. Cela devrait même inclure l’accès à la date et à l’heure actuelles
Cela renforce le contrôle de l’utilisateur et peut aussi être utile pour les tests et l’accessibilité
L’une de mes idées de conception d’OS est celle des autorisations proxy. Intégrer des autorisations proxy dans une sécurité fondée sur les permissions, faire passer toutes les entrées/sorties par elles, pouvoir les utiliser dans un shell de commande d’une manière meilleure que les pipes UNIX, ainsi que d’autres usages. Cela inclut aussi la date et l’heure. À part Yield et Quit, aucun appel système ne devrait être utilisable sans clé d’autorisation
Il est très difficile pour les développeurs d’apps de bien gérer des permissions qu’ils ne peuvent pas utiliser, et comme cela élargit fortement et complique le périmètre de test pour un nombre relativement faible d’utilisateurs, la plupart des petites apps commerciales n’essaieront probablement pas de le gérer correctement
Autoriser la permission tout en injectant une source de données alternative est la solution la plus simple à la fois pour les développeurs et pour les utilisateurs
Bien sûr, cela pourrait aussi faciliter la fraude. Par exemple, les banques adopteraient probablement des procédures d’enregistrement de l’appareil plus complexes
Pas besoin de se montrer inutilement hostile les uns envers les autres. La règle simple, c’est : « non est aussi une option », sauf si ce n’en est vraiment pas une
Si ce n’est pas une option, il faut que la raison soit extrêmement claire, elle devrait probablement être explicitée lors du processus de validation de l’app, et sinon l’app devrait être refusée
Par exemple, si TikTok/Instagram demande l’accès à la caméra et au micro, dans les deux cas ce n’est pas indispensable à l’utilisation de l’app, donc non est une option. Si une partie de l’app reste utilisable sans une permission donnée, c’est à l’app d’être conçue pour fonctionner ainsi. Si la caméra ou le micro est désactivé, il suffit de désactiver de façon conditionnelle uniquement les fonctionnalités qui nécessitent cette permission
Plus simplement, la charge de la preuve incombe au demandeur. Si ce n’est pas clair ou si l’on essaie de contourner la question avec malice, la réponse est non. Cela peut paraître strict, mais les créateurs d’apps peuvent éviter entièrement cette étape supplémentaire en rendant les permissions facultatives
Se concentrer sur l’application de cette règle éviterait d’avoir besoin d’une petite course aux armements mesquine, et ce serait aussi un meilleur choix pour les gens
Les seuls acteurs capables de l’imposer ici sont les app stores de Google/Apple/Microsoft. Il est difficile d’être certain qu’ils aient suffisamment d’incitation à l’appliquer de manière cohérente et favorable aux utilisateurs. Si c’était le cas, ils l’auraient déjà fait
Les téléphones Samsung ont des interrupteurs pour l’accès à la caméra et l’accès au micro
Quand on les désactive, ce message s’affiche :
Des réglages par application seraient préférables à une option du type « oui, mais fournir de fausses données à l’app » pour toutes les catégories
On peut ne vouloir donner ses données de localisation à presque aucune app, tout en acceptant de les fournir à Google Maps et à une app d’appel d’urgence. Même chose pour les contacts et les données personnelles
Mais de telles apps se heurteraient probablement à une forte résistance de la part de Google et d’autres entreprises qui tirent profit du profilage des utilisateurs
Par exemple, on devrait pouvoir donner à une app des données réelles pour une permission, de fausses données ou des données personnalisées/saisies manuellement pour une autre, et refuser une troisième permission
On peut aussi vouloir modifier temporairement ces réglages à des fins de test, ou dans des cas comme une app météo fondée sur la position actuelle, pour consulter un moment la météo d’un autre lieu puis revenir à sa position réelle
Si une app a besoin de mes données pour améliorer mon expérience, et uniquement mon expérience, alors si je lui fournis de fausses données, seule mon expérience devrait se dégrader. Cela ne devrait pas avoir d’importance pour le développeur ou le propriétaire de l’app
Mais si, comme c’est le cas le plus souvent, l’objectif est de faire du data mining sur moi, alors les fausses données fonctionneront très bien pour contrarier cela
Bien sûr, dans le cas de WhatsApp, cela ne sert pas à grand-chose. Les gens sont prêts à synchroniser tout leur carnet de contacts avec Facebook/Meta pour obtenir une expérience de messagerie à peine meilleure
Au moins sur mobile, l’app et le service sont à peine utilisables avant la synchronisation des contacts