Posição de padrões da Mozilla se opõe à Web Environment Integrity API
(github.com/mozilla)- Em uma issue do Mozilla standards-positions, foi solicitada uma posição sobre a Web Environment Integrity API, e a Mozilla concluiu com
position: negative, afirmando que a proposta entra em conflito com os princípios de abertura da Web - A proposta diz que o protótipo do Chromium atualmente depende do Google Play Integrity, mas que, na especificação, é neutra em relação a fornecedores; o solicitante manifestou preocupação de que, assim como o EME, ela possa na prática se consolidar em torno de poucos fornecedores
- A Mozilla avaliou que essa API poderia se tornar um mecanismo para restringir a escolha de dispositivos, sistemas operacionais e navegadores, sendo prejudicial à abertura do ecossistema Web e ruim para os usuários
- Entre os casos de uso propostos, a “detecção de tráfego não humano” poderia bloquear usos existentes da Web que transformam, verificam, indexam ou resumem conteúdo destinado a humanos, como tecnologias assistivas, testes automatizados, arquivamento e spiders de mecanismos de busca
- A Mozilla afirmou que detectar fraude e tráfego inválido é um problema difícil e que tem interesse em resolvê-lo, mas considerou que a proposta carece de explicação sobre avanços nos casos de uso reais e tem desvantagens claras caso seja adotada
Solicitação da issue e escopo da proposta
- A issue no GitHub solicitou à Mozilla uma posição oficial sobre uma especificação Web emergente chamada Web Environment Integrity API
- Materiais incluídos na solicitação:
- O protótipo do Chromium atualmente depende do Google Play Integrity, mas o solicitante escreveu que a especificação em si é neutra em relação a fornecedores
Preocupações iniciais levantadas
- O solicitante citou como exemplo o fato de o EME ser, em teoria, neutro em relação a fornecedores, mas, na prática, haver apenas poucos fornecedores amplamente reconhecidos
- Google Widevine: usado no Firefox, Chrome e Android na maioria das plataformas
- Microsoft PlayReady: usado no Microsoft Edge, no Windows e, junto com o Widevine, em alguns dispositivos Android
- Apple FairPlay: usado no Safari e no ecossistema Apple
- Há a preocupação de que a mesma situação possa se repetir com a Web Environment Integrity API, e que sites reais passem a exigir navegadores pré-aprovados
- Um comentário criticou que essa API não oferece nada ao usuário final, pode ser usada apenas para restringir usuários, e que a especificação é vaga e o underlying mechanism não está claro
Motivos da oposição da Mozilla
- A Mozilla afirmou que essa proposta contraria seus princípios e visão para a Web
- A visão da Mozilla para a Web é que navegadores, servidores e publishers que implementam padrões comuns devem se tornar automaticamente parte da Web
- Padrões devem evitar pressupostos sobre hardware ou software implantáveis, e nenhuma entidade específica deve decidir quais form factors, dispositivos, sistemas operacionais ou navegadores podem acessar a Web
- Esse direito de escolha permite que pessoas diversas cheguem à mesma Web em termos de tecnologias assistivas, localização, form factors e preço
- Portanto, mecanismos que tentam restringir escolhas são prejudiciais à abertura do ecossistema Web e ruins para os usuários
Problemas no caso de uso de “detecção de tráfego não humano”
- A Mozilla entende que os casos de uso propostos dependem da capacidade de “detectar tráfego não humano”
- Essa abordagem pode interferir em usos existentes da Web
-
Tecnologias assistivas
- Testes automatizados
- Arquivamento
- Spiders de mecanismos de busca
- Essas ferramentas precisam poder receber conteúdo destinado a humanos e transformá-lo, testá-lo, indexá-lo e resumi-lo novamente para humanos
- A salvaguarda proposta, chamada “holdback”, ou a criação de falhas aleatórias na geração de attestation, é considerada pouco propensa a ser eficaz e insuficiente para resolver as preocupações levantadas pela Mozilla
-
Conclusão e tratamento da issue
- A Mozilla afirmou que detectar fraude e tráfego inválido é um problema difícil e que tem interesse em resolver essa questão
- No entanto, a proposta da Web Environment Integrity API não explica como produziria avanços substanciais nos casos de uso listados e tem desvantagens claras caso seja adotada
- Com base nessa análise, um membro da Mozilla rotulou a posição sobre a proposta como negative
- Como essa proposta é de um repositório pessoal no GitHub e não é trabalho em uma trilha de padronização nem de um grupo público de incubação, considerou-se que não era necessária uma dashboard entry separada
- A issue foi marcada com o rótulo
position: negativeem 25 de julho de 2023 e depois fechada como concluída
1 comentários
Opiniões no Hacker News
O ataque funciona mais ou menos assim: o invasor cria um dispositivo, como um smartphone, gera um par de chaves e o armazena dentro do HSM do aparelho, normalmente chamado de trusted enclave, depois assina a chave pública com uma chave mestra.
O dispositivo executa o software do invasor e é projetado para que, quando um software escolhido pelo usuário seja executado com privilégios elevados, o HSM fique sabendo disso de uma forma irreversível até a próxima reinicialização. O HSM assina a frase “este dispositivo está executando o software do invasor” e o conteúdo que o software do invasor quer transmitir, mas não assina se o software escolhido pelo usuário estiver em execução. Ao incluir também a chave pública assinada pela chave mestra, isso permite que um cúmplice verifique que o dispositivo não está sob controle do usuário, mas sob o controle de uma entidade que restringe a liberdade do usuário.
Opcionalmente, essa comprovação pode passar pelo servidor do invasor e ser transformada em uma nova comprovação, após anonimização ou verificação de condições arbitrárias. No fim, um terceiro recebe por esse método a garantia de que o dispositivo está executando o software do invasor, podendo impedir o usuário de executar o software que deseja ou forçá-lo a usar o dispositivo da forma desejada pelo invasor e seus cúmplices. Esse ataque já está em execução no Android, por meio do SafetyNet e da Play Integrity API do Google, e no iOS, pela Apple; agora está sendo estendido para a web.
Esta Web Integrity API é um meio de se consolidarem não como intermediários opcionais, mas como intermediários obrigatórios.
E esse “invasor” também não ganha nada com isso. Isso não é um invasor, é o fabricante do dispositivo. É estranho porque é como explicar o processo de atestação remota chamando o TPM de invasor.
Por isso, sistemas assim repassam o custo para usuários comuns, enquanto só beneficiam quem tem esse tipo de capacidade.
Era esperado, mas não significa nada se não conseguirmos levar as pessoas para o Firefox e afastá-las dos derivados do Chromium. Há certa responsabilidade por parte de quem investiu na segurança, na proteção e, de forma mais ampla, na confiança da web.
Ainda não vi nada sobre se o Brave vai dar suporte a isso. Mas, se entendi corretamente, usando Chromium não deve haver escolha; espero estar enganado.
No fim, acho que precisamos voltar permanentemente a uma tela de escolha de navegador respaldada por lei, como depois do caso do empacotamento do IE. Caso contrário, o atrito e os incentivos continuarão consolidando ainda mais um único player dominante.
O mais importante são liberdade e interoperabilidade.
De quebra, dá para pré-instalar o uBlock Origin também. É o que fazemos.
Se isso for implementado, a identidade do usuário pode ser considerada “insuficiente” e ele pode perder acesso a determinados sites ou serviços; nesse caso, pode surgir motivação para migrar para outro navegador que não tenha esse recurso.
Como já disse em outros lugares, as pessoas precisam usar o Firefox. Se todo mundo parar, não haverá ninguém com voz para enfrentar as besteiras do Google. O Google é dono do Chrome e pode fazer o que quiser com ele.
Não estou dizendo que o Firefox é perfeito ou melhor, mas que ele é necessário. Precisamos de um navegador concorrente com participação significativa e um mecanismo de renderização que não seja, em última instância, controlado pelo Google. Caso contrário, só resta parar de reclamar e deixar o Google fazer o que quiser.
Fazendo uma busca rápida, há 5 a 10 anos mais de 50% da receita vinha do Google, mas não encontrei dados mais recentes. Se o Google é a principal fonte de receita da Mozilla, especialmente se for mais da metade, então o Google na prática controla a Mozilla pela alavanca de poder cortar sua maior fonte de receita.
Também surge a pergunta: que empresa ou organização deveria desenvolver um navegador? Todo mundo espera que navegadores sejam gratuitos, mas desenvolvimento, operação e manutenção não são de graça. Empresas de navegadores com fins lucrativos, como a Brave, acabam tendo que monetizar o navegador, seja com o token cripto BAT ou com anúncios na nova aba.
A Mozilla também pode esclarecer sua posição sobre sua própria proposta IPA, que rastreia usuários por toda a internet?
Se alguém vê um anúncio de produto em searchengine.example, depois procura esse produto em reviews.example e então compra em shop.example, o navegador da Mozilla envia todos esses eventos para um ou mais serviços de agregação, permitindo que shop.example entenda, ao menos em nível agregado, que o usuário foi exposto ao anúncio em searchengine.example e novamente exposto em reviews.example. Claro, isso parte do pressuposto de que se confia no cartel que opera os serviços de agregação.
Antes, uma empresa de ad tech podia rastrear usuários com base no endereço IP de origem mesmo com cookies desativados, mas o IPA permite rastrear por vários endereços IP por meio de um identificador único de rastreamento, independentemente das configurações de cookies. Também foi proposta uma abordagem em que o sistema operacional forneça um identificador único de rastreamento utilizável por todos os apps e navegadores no dispositivo, permitindo distinguir vários dispositivos por trás do mesmo IP.
https://github.com/patcg-individual-drafts/ipa/
Isso é separado do rastreamento publicitário que cria perfis de interesses do usuário ou do remarketing, em que se compra anúncios direcionados a visitantes anteriores. A maioria dos sistemas de atribuição privada é projetada para permitir que o operador da campanha conte quantas pessoas clicaram no anúncio, mas sem saber quem clicou nem o que mais fez. A proposta do Safari tinha um limite para o número de campanhas executáveis por domínio, tentando impedir que se criasse uma “campanha” separada para cada usuário e se fizesse fingerprinting de uma só vez. Não sei em que a proposta da Mozilla difere.
Se o agente de usuário deve se preocupar com esse tipo de coisa é uma questão à parte.
https://www.theregister.com/2023/06/29/google_trueview_skepticism/
Em particular, o remarketing é o que cria a “sensação de estar sendo vigiado” da publicidade moderna, em que, depois de pesquisar uma coisa, 10 mil anúncios daquele item seguem você pela semana inteira.
É lamentável que a Mozilla acompanhe lixo como o IPA, mas pelo menos hoje o usuário ainda tem a liberdade de desativar, remover, fazer um fork etc. Já a atestação remota é, na prática, fim de jogo para o próprio conceito de agente do usuário.
Detecção de navegador, detecção de “ambiente”
Operadores de certos sites poderiam, como forma de protesto, criar sites inacessíveis no Chrome. Seria interessante ver o Google tentando contornar isso. Especialmente se virasse moda apenas entre sites pequenos e não comerciais.
Mas, em vez de bloquear completamente, eu deixaria apenas as funcionalidades estritamente necessárias e ficaria lembrando o usuário de trocar de navegador ou usar algo como Tampermonkey. Também seria preciso fornecer instruções claras sobre o que fazer.
Qual seria uma boa forma de detectar suporte a esse recurso? Uma API JavaScript?
Felizmente, o Google também corrigiu há cerca de 4 meses. Em várias ferramentas gratuitas de teste cross-browser, ainda dá para demonstrar essa quebra com testes de versão.
O equivalente no lado mobile, a Play Integrity API, deveria ser tornado ilegal e contestado nos tribunais. Como a ideia central é eliminar ROMs de terceiros, acho que provavelmente também entra em conflito com o direito ao reparo e as leis de lixo eletrônico da UE.
Precisamos começar a redirecionar o foco do debate para os problemas de segurança criados pelo Google e por sua publicidade.
O Google deve ser desmembrado para que seus interesses não contaminem o Android e o Chrome.
Quero doar para a Mozilla, mas fico preocupado que meu dinheiro acabe no bolso de executivos de nível C. Existe alguma forma de doar especificamente para a equipe principal do Firefox ou para a MDN?
Até um CEO absurdamente bem pago é necessário para uma empresa. Não acredito no argumento de que, nos EUA, é preciso pagar muito para trazer um bom CEO, mas um CEO ruim pode destruir uma empresa, como GE, Enron, Boeing e Twitter
Um exemplo divertido de como restrições de uso do orçamento dão errado é a MARTA, de Atlanta. Antigamente, por causa de uma lei de financiamento, os custos operacionais e os gastos de capital eram fixados em 50/50; o resultado foi que havia trens novos, enquanto todo o resto estava desmoronando
Um negócio funciona assim: dinheiro entra, dinheiro sai e produtos são feitos. Você escolhe pagar ou não por um produto de que gosta. Como eles usam o dinheiro que recebem é decisão deles
Mas dinheiro é fungível. Se você doar 500 dólares para apoiar a MDN, isso pode substituir 500 dólares que originalmente iriam para a MDN a partir da receita existente, permitindo que outros 500 dólares acabem no bolso de executivos de nível C, no Pocket etc. Os dólares em si vão para o destino indicado, mas podem viabilizar outros gastos de que você não gosta
Por outro lado, se você doar 50 bilhões de dólares para apoiar a MDN, aí é um pouco diferente. O orçamento existente de apoio à MDN certamente seria liberado, mas os gastos da MDN obviamente não seriam de 50 bilhões de dólares, então o dinheiro que excedesse as necessidades da MDN não teria para onde ir
Usar os produtos e se tornar cliente provavelmente é mais valioso para eles e para o manifesto deles
A Mozilla pode ser contra, mas, se isso for incluído no Chrome e começar a ser usado ativamente, no fim eles vão implementar, como fizeram com CDM
No fim, os usuários só verão que determinado site funciona no Chrome e não no Firefox. Quando houver um custo real na forma de possível perda de participação de mercado, o Firefox vai concluir que não há motivo para continuar contra
A posição de padrões do WebKit também vale uma olhada: https://webkit.org/standards-positions/
Este caso ainda não foi refletido lá e provavelmente será rejeitado
Há uma longa história de hackers, no sentido clássico, usando computadores para fazer coisas que outras pessoas não queriam, enquanto essas outras pessoas não conseguiam fazer nada ou, no máximo, entravam em uma corrida armamentista. Foi ruim para elas, mas muito bom para a sociedade como um todo
Isso deu origem a inúmeras coisas, como GNU, “IBM Compatible”, bloqueadores de anúncios, Firefox, BitTorrent, YouTube ReVanced/youtube-dl etc.
O objetivo da atestação de dispositivo para software de consumo é acabar com isso. A Apple foi pioneira nisso no iOS, e agora, pela força do capitalismo, está se espalhando para toda a computação. Atestação de dispositivo significa que os hackers perdem, e esse é um final ruim
Outra ameaça gêmea é que a indústria de software está finalmente colocando a segurança em ordem. Antigamente, jailbreaks de iOS eram comuns, mas passamos um ano sem um jailbreak de iOS. Rust também não ajuda
Estamos correndo para um mundo em que produtores e detentores de propriedade intelectual controlam totalmente o conteúdo que criaram e mantêm esse estado por meio de criptografia de ponta e software extremamente seguro, porém hostil ao consumidor. Esta é uma das evoluções mais perigosas da história e, se se tornar realidade, não haverá como voltar atrás. Stallman estava certo
É parecido com dizer que entregar a carteira sob a mira de uma arma pode melhorar sua felicidade