- Dans une issue de Mozilla standards-positions, une prise de position a été demandée concernant la Web Environment Integrity API, et Mozilla a conclu à
position: negative, estimant que cette proposition entre en conflit avec les principes d’ouverture du Web - La proposition indique que le prototype de Chromium dépend actuellement de Google Play Integrity, mais que la spécification est neutre vis-à-vis des fournisseurs ; le demandeur craint cependant qu’elle ne se fige en pratique autour d’un petit nombre d’acteurs, comme EME
- Mozilla estime que cette API pourrait devenir un mécanisme limitant le choix de l’appareil, du système d’exploitation et du navigateur, ce qui nuirait à l’ouverture de l’écosystème Web et serait défavorable aux utilisateurs
- Parmi les cas d’usage proposés, la « détection du trafic non humain » pourrait bloquer des usages existants du Web qui transforment, vérifient, indexent ou résument des contenus destinés aux humains, comme les technologies d’assistance, les tests automatisés, l’archivage et les spiders des moteurs de recherche
- Mozilla reconnaît que la détection de la fraude et du trafic invalide est un problème difficile et dit vouloir contribuer à sa résolution, mais considère que cette proposition n’explique pas suffisamment les progrès concrets qu’elle permettrait pour les cas d’usage réels et qu’elle présente des inconvénients clairs en cas d’adoption
Demande de l’issue et périmètre de la proposition
- L’issue GitHub demandait à Mozilla une position officielle sur une spécification Web émergente appelée Web Environment Integrity API
- Documents inclus dans la demande :
- Le prototype de Chromium dépend actuellement de Google Play Integrity, mais le demandeur précise que la spécification elle-même est neutre vis-à-vis des fournisseurs
Premières inquiétudes soulevées
- Le demandeur cite le cas d’EME : en théorie, le système est neutre vis-à-vis des fournisseurs, mais dans la pratique, seuls quelques fournisseurs sont largement reconnus
- Google Widevine : utilisé sur Firefox, Chrome et Android sur la plupart des plateformes
- Microsoft PlayReady : utilisé sur Microsoft Edge, Windows et certains appareils Android aux côtés de Widevine
- Apple FairPlay : utilisé sur Safari et dans l’écosystème Apple
- Il craint qu’une situation similaire ne se reproduise avec la Web Environment Integrity API et que des sites Web finissent par exiger des navigateurs préapprouvés
- Un commentaire critique cette API en affirmant qu’elle n’apporte rien à l’utilisateur final et ne pourrait servir qu’à restreindre les utilisateurs, tout en jugeant la spécification vague et son underlying mechanism peu clair
Pourquoi Mozilla s’y oppose
- Mozilla indique que cette proposition va à l’encontre des principes et de la vision du Web défendus par l’organisation
- Selon sa vision du Web, les navigateurs, serveurs et éditeurs qui implémentent des standards communs doivent automatiquement faire partie du Web
- Les standards doivent éviter de reposer sur des hypothèses liées au matériel ou aux logiciels déployables, et aucun acteur ne doit décider quels formats, appareils, systèmes d’exploitation ou navigateurs peuvent accéder au Web
- Cette liberté de choix permet à des personnes très diverses d’accéder au même Web, notamment en matière de technologies d’assistance, de localisation, de format d’appareil et de prix
- Par conséquent, tout mécanisme visant à restreindre ces choix nuit à l’ouverture de l’écosystème Web et va à l’encontre de l’intérêt des utilisateurs
Problèmes du cas d’usage « détection du trafic non humain »
- Mozilla estime que les cas d’usage proposés reposent sur la capacité à « detect non-human traffic »
- Cette approche risque d’entraver des usages existants du Web
-
Technologies d’assistance
- tests automatisés
- archivage
- spiders des moteurs de recherche
- ces outils doivent pouvoir recevoir des contenus destinés aux humains puis les transformer, les tester, les indexer ou les résumer au bénéfice des humains
- la mesure de protection proposée, appelée « holdback », ou l’idée d’échouer aléatoirement à générer une attestation, a peu de chances d’être efficace et est jugée insuffisante pour répondre aux préoccupations soulevées par Mozilla
-
Conclusion et traitement de l’issue
- Mozilla rappelle que la détection de la fraude et du trafic invalide est un problème difficile et dit vouloir aider à le résoudre
- Cependant, la proposition de Web Environment Integrity API n’explique pas comment elle permettrait de produire des progrès concrets sur les cas d’usage listés et présente des inconvénients évidents si elle était adoptée
- Sur cette base, un membre de Mozilla a étiqueté la position sur cette proposition comme negative
- Comme il s’agit d’une proposition publiée dans un dépôt GitHub personnel, et non d’un travail de normalisation ni d’un travail d’un groupe public d’incubation, Mozilla estime qu’aucune entrée distincte dans le dashboard n’est nécessaire
- L’issue a été fermée comme résolue le 25 juillet 2023 après l’ajout du label
position: negative
1 commentaires
Avis de Hacker News
Le mode d’attaque ressemble grosso modo à ceci : l’attaquant fabrique un appareil, comme un smartphone, génère une paire de clés et la stocke dans le HSM de l’appareil, généralement appelé trusted enclave, puis signe la clé publique avec une clé maître.
L’appareil exécute le logiciel de l’attaquant et il est conçu de sorte que, si le logiciel choisi par l’utilisateur s’exécute avec des privilèges élevés, le HSM en soit informé d’une manière irréversible jusqu’au redémarrage. Le HSM signe la phrase « cet appareil exécute le logiciel de l’attaquant » ainsi que le contenu que le logiciel de l’attaquant veut transmettre, mais ne signe pas si le logiciel choisi par l’utilisateur est en cours d’exécution. En y incluant aussi la clé publique signée par la clé maître, cela permet à un complice de vérifier que l’appareil n’est pas sous le contrôle de l’utilisateur, mais sous celui d’une entité qui restreint la liberté de l’utilisateur.
Facultativement, cette preuve peut passer par le serveur de l’attaquant pour être transformée en une nouvelle preuve, après anonymisation ou vérification de conditions arbitraires. Au final, un tiers obtient ainsi la garantie que l’appareil exécute le logiciel de l’attaquant, et peut empêcher l’utilisateur d’exécuter le logiciel qu’il souhaite, ou l’amener à utiliser l’appareil de la manière voulue par l’attaquant et ses complices. Cette attaque est déjà en cours sur Android via SafetyNet et la Play Integrity API de Google, et sur iOS par Apple ; elle s’étend maintenant au Web.
Cette Web Integrity API est un moyen de les installer non pas comme des intermédiaires facultatifs, mais comme des intermédiaires obligatoires.
Et cet « attaquant » n’y gagne rien. Ce n’est pas un attaquant, c’est le fabricant de l’appareil. Cela revient à expliquer le processus d’attestation à distance en appelant le TPM un attaquant, ce qui est étrange.
Ce type de système fait donc payer les coûts aux utilisateurs ordinaires, tout en ne profitant qu’à ceux qui disposent de telles capacités.
C’était prévisible, mais cela n’aura aucun sens si l’on ne parvient pas à envoyer les gens vers Firefox et à les éloigner de la famille Chromium. Les personnes qui ont investi dans la sûreté et la sécurité du Web, et plus largement dans la confiance, portent une certaine part de responsabilité.
Je n’ai encore rien vu sur le fait que Brave prendra ou non cela en charge. Mais si j’ai bien compris, tant qu’on utilise Chromium il n’y aura pas vraiment le choix, et j’espère me tromper.
Je pense qu’il faut finalement revenir durablement à un écran de choix du navigateur appuyé par la loi, comme après l’affaire de la vente liée d’IE. Sinon, les frictions et les incitations continueront de consolider un acteur dominant unique.
Ce qui compte davantage, c’est la liberté et l’interopérabilité.
En bonus, on peut aussi préinstaller uBlock Origin. C’est ce que nous faisons.
Si cela est implémenté, l’identité d’un utilisateur pourrait être jugée « insuffisante » et l’accès à certains sites ou services lui être refusé ; cela pourrait alors créer une incitation à passer à un autre navigateur qui ne dispose pas de cette fonctionnalité.
Comme je l’ai déjà dit ailleurs, les gens doivent utiliser Firefox. Si tout le monde s’arrête, il ne restera plus aucun acteur ayant une voix capable de s’opposer aux conneries de Google. Google possède Chrome et peut en faire ce qu’il veut.
Je ne dis pas que Firefox est parfait ou meilleur, mais qu’il est nécessaire. Il faut un navigateur concurrent avec une part de marché significative et un moteur de rendu qui ne soit pas contrôlé, en dernier ressort, par Google. Sinon, autant arrêter de se plaindre et laisser Google faire ce qu’il veut.
En cherchant rapidement, il semble qu’il y a 5 à 10 ans, plus de 50 % de ses revenus venaient de Google, mais je n’ai pas trouvé de données plus récentes. Si Google est la principale source de revenus de Mozilla, en particulier si elle représente une majorité, alors Google contrôle de fait Mozilla grâce au levier que constitue la possibilité de couper sa plus grande source de revenus.
Cela soulève aussi la question de savoir quelle entreprise ou organisation devrait développer un navigateur. Tout le monde s’attend à ce que les navigateurs soient gratuits, mais leur développement, leur exploitation et leur maintenance ne le sont pas. Les entreprises commerciales de navigateurs comme Brave n’ont d’autre choix que de monétiser le navigateur, avec des choses comme le jeton crypto BAT ou les publicités dans les nouveaux onglets.
Mozilla peut-elle aussi clarifier sa position sur sa propre proposition IPA, qui suit les utilisateurs à travers l’ensemble d’Internet ?
Si l’on voit une publicité pour un produit sur searchengine.example, qu’on recherche ensuite ce produit sur reviews.example puis qu’on l’achète sur shop.example, le navigateur de Mozilla enverrait tous ces événements à un ou plusieurs services d’agrégation, afin que shop.example comprenne, au moins à un niveau agrégé, que l’utilisateur a été exposé à la publicité sur searchengine.example et l’a de nouveau été sur reviews.example. Tout cela suppose bien sûr de faire confiance au cartel qui exploite les services d’agrégation.
Autrefois, même si l’on désactivait les cookies, les entreprises d’ad tech pouvaient suivre les utilisateurs à partir de leur adresse IP d’origine ; avec IPA, elles pourraient les suivre au moyen d’un identifiant de suivi unique, à travers plusieurs adresses IP et indépendamment des paramètres de cookies. Il a aussi été proposé que le système d’exploitation fournisse un identifiant de suivi unique utilisable par toutes les applications et tous les navigateurs de l’appareil, ce qui permettrait même de distinguer plusieurs appareils derrière la même IP.
https://github.com/patcg-individual-drafts/ipa/
C’est distinct du pistage publicitaire qui construit des profils d’intérêts des utilisateurs, ou du remarketing qui achète des publicités ciblant d’anciens visiteurs. La plupart des systèmes d’attribution privée sont conçus pour permettre à l’annonceur de compter combien de personnes ont cliqué sur une publicité, sans savoir qui a cliqué ni ce qu’elles ont fait d’autre. La proposition de Safari limitait le nombre de campagnes exécutables par domaine, afin d’empêcher de créer une « campagne » distincte pour chaque utilisateur et de les fingerprint en une seule fois. Je ne sais pas en quoi la proposition de Mozilla diffère.
La question de savoir si l’agent utilisateur devrait se préoccuper de ce genre de choses est distincte.
https://www.theregister.com/2023/06/29/google_trueview_skepticism/
Le remarketing, en particulier, est à l’origine de ce sentiment de « surveillance » de la publicité moderne, où après avoir recherché un objet, on est suivi par 10 000 pubs pour cet objet pendant toute la semaine suivante.
Il est regrettable que Mozilla s’aligne sur des saletés comme IPA, mais au moins, pour l’instant, l’utilisateur a la liberté de le désactiver, de le supprimer, de forker, etc. En revanche, l’attestation à distance signifie pratiquement game over pour le concept même d’agent utilisateur.
Détection du navigateur, détection de l’« environnement »
Certains exploitants de sites web pourraient, en guise de protestation, concevoir des sites web inaccessibles depuis Chrome. Il serait amusant de voir Google tenter de contourner cela, surtout si la pratique ne devenait populaire que parmi de petits sites non commerciaux.
Cela dit, plutôt que de bloquer complètement, je laisserais uniquement les fonctionnalités indispensables et j’afficherais en continu des rappels invitant à changer de navigateur ou à utiliser quelque chose comme Tampermonkey. Il faut aussi fournir des indications claires sur ce qu’il faut faire.
Quelle serait une bonne façon de détecter la prise en charge de cette fonctionnalité ? Une API JavaScript ?
Heureusement, Google l’a aussi corrigé il y a environ quatre mois. Plusieurs outils gratuits de test cross-browser permettent encore de montrer cette casse via des tests de version.
Son équivalent côté mobile, la Play Integrity API, devrait être rendue illégale et contestée devant les tribunaux. Puisque l’idée centrale est d’éliminer les ROM tierces, je pense qu’elle est probablement aussi contraire au droit à la réparation de l’UE et aux lois sur les déchets électroniques.
Il faut commencer à recentrer le débat sur les problèmes de sécurité créés par Google et sa publicité.
Il faut démanteler Google pour empêcher ses intérêts de contaminer Android et Chrome.
J’aimerais faire un don à Mozilla, mais je crains que mon argent finisse dans la poche des dirigeants de niveau C. Existe-t-il un moyen de donner spécifiquement à l’équipe cœur de Firefox ou à MDN ?
Même un CEO absurdement surpayé est nécessaire à une entreprise. Je ne crois pas à l’argument selon lequel il faut payer très cher pour attirer un bon CEO aux États-Unis, mais un mauvais CEO peut ruiner une entreprise, comme GE, Enron, Boeing ou Twitter
Un exemple amusant de la façon dont les restrictions budgétaires peuvent échouer est MARTA, à Atlanta. À une époque, à cause d’une loi de financement, les dépenses d’exploitation et d’investissement étaient figées à 50/50 : ils avaient de nouveaux trains, mais tout le reste s’effondrait
Une entreprise, c’est de l’argent qui entre, de l’argent qui sort et des produits qui sont fabriqués. Tu peux choisir de payer ou non pour un produit que tu aimes. La manière dont ils dépensent l’argent reçu leur appartient
Mais l’argent est fongible. Si tu donnes 500 dollars pour soutenir MDN, cela peut remplacer 500 dollars qui seraient allés à MDN depuis les revenus existants, et permettre à 500 autres dollars d’aller dans les poches des dirigeants de niveau C, vers Pocket, etc. Les dollars eux-mêmes vont bien là où tu les as affectés, mais ils peuvent rendre possibles d’autres dépenses qui ne te plaisent pas
À l’inverse, si tu donnais 50 milliards de dollars pour soutenir MDN, ce serait différent. Le budget existant de soutien à MDN serait certes libéré, mais les dépenses de MDN ne peuvent pas atteindre 50 milliards de dollars, donc l’argent dépassant les besoins de MDN n’aurait nulle part où aller
Utiliser leurs produits et devenir client a probablement plus de valeur pour eux et pour leur manifeste
Mozilla peut s’y opposer, mais si c’est intégré à Chrome et que cela commence à être largement utilisé, ils finiront par l’implémenter comme les CDM
Au final, les utilisateurs verront seulement que certains sites fonctionnent dans Chrome et pas dans Firefox. Face au coût réel d’une perte potentielle de parts de marché, Firefox conclura qu’il n’a aucune raison de s’y opposer
La position de WebKit sur les standards vaut aussi le détour : https://webkit.org/standards-positions/
Ce sujet n’y figure pas encore, et il est probablement assez susceptible d’être rejeté
Il existe une longue histoire de hackers, au sens classique du terme, qui ont fait faire aux ordinateurs des choses que d’autres personnes ne voulaient pas, tandis que ces dernières ne pouvaient rien faire, ou au mieux se lancer dans une course aux armements. C’était mauvais pour elles, mais extrêmement bénéfique pour la société dans son ensemble
C’est ce qui a donné naissance à GNU, à « IBM Compatible », aux bloqueurs de publicité, à Firefox, à BitTorrent, à YouTube ReVanced/youtube-dl et à beaucoup d’autres choses
L’objectif de l’attestation des appareils pour les logiciels grand public est de mettre fin à cela. Apple en a été le pionnier sur iOS, et maintenant les forces du capitalisme sont en train de l’étendre à toute l’informatique. L’attestation des appareils signifie que les hackers perdent, et c’est une mauvaise issue
L’autre menace jumelle est que l’industrie du logiciel est en train de vraiment remettre de l’ordre dans la sécurité. Autrefois, les jailbreaks iOS étaient courants, mais il n’y a pas eu de jailbreak iOS depuis un an. Rust n’aide pas non plus
Nous fonçons vers un monde où les producteurs et les détenteurs de droits de propriété intellectuelle contrôlent entièrement le contenu qu’ils ont créé, et maintiennent cet état de fait grâce à une cryptographie de pointe et à des logiciels extrêmement sûrs, mais hostiles aux consommateurs. C’est l’une des évolutions les plus dangereuses de l’histoire, et si elle devient réalité, il sera impossible de revenir en arrière. Stallman avait raison
C’est un peu comme dire que donner son portefeuille sous la menace d’une arme peut améliorer le bonheur