O pesadelo do Google chamado "Web Integrity API": a polêmica do gatekeeper de DRM para a web
(arstechnica.com)- A Web Environment Integrity API, escrita por quatro funcionários do Google, é uma proposta para permitir que sites verifiquem se podem confiar no ambiente de execução do navegador do visitante; um protótipo para testes no Chrome também está em andamento
- O uso central é a atestação de ambiente para filtrar bots e ambientes adulterados, podendo ser aplicada à medição de impressões de anúncios, ao bloqueio de bots em redes sociais, à proteção de propriedade intelectual, à prevenção de trapaças em jogos web e à segurança de transações financeiras
- A proposta foi inspirada no Apple App Attest e na Play Integrity API do Android, e a Ars Technica a vê como uma tendência de levar para a web a estrutura em que o acesso a apps é bloqueado em dispositivos com root
- Se um servidor web exigir uma atestação antes de fornecer conteúdo, o navegador passa por um teste em um servidor de atestação de terceiros, recebe um IntegrityToken assinado e o envia ao site
- Embora o documento diga que seus objetivos não incluem rastreamento por impressão digital, impedir extensões ou excluir fornecedores, uma forte reação contrária se espalhou por GitHub issues, Hacker News e Louis Rossmann
O que a Web Environment Integrity API quer fazer
- A proposta da Web Environment Integrity API é uma proposta de padrão web que busca permitir que sites verifiquem se podem confiar no ambiente do cliente do usuário
- O explainer foi escrito por quatro funcionários do Google, dos quais pelo menos um pertence à equipe de Privacy Sandbox do Chrome
- A premissa é que sites precisam poder confiar no ambiente do usuário para proteger dados de usuários e propriedade intelectual, além de determinar se há uma pessoa real usando o serviço
- Os principais casos de uso são os seguintes
- Melhorar a precisão da medição de impressões de anúncios para anunciantes
- Bloquear bots em redes sociais
- Fazer valer direitos de propriedade intelectual
- Impedir trapaças em jogos web
- Reforçar a segurança de transações financeiras
Preocupações quando o Play Integrity chega à web
- O documento da proposta afirma ter sido inspirado por sinais de atestação nativos existentes, como o App Attest da Apple e a Play Integrity API do Android
- O Play Integrity é o antigo SafetyNet, uma API do Android que permite a um app verificar se o dispositivo está com root
- Fazer root é uma forma de o usuário controlar completamente um dispositivo que comprou, mas, se um dispositivo com root for sinalizado pela Android Integrity API, alguns apps podem se recusar a executar
- O acesso a apps bancários, Google Wallet, jogos online, Snapchat, Netflix e alguns apps de mídia pode ser bloqueado
- O acesso root pode ser usado para trapaças em jogos ou phishing de dados bancários, mas também para personalização do dispositivo, remoção de apps pré-instalados e criação de sistemas de backup
- A crítica da Ars Technica se concentra no fato de que o Google estaria tentando introduzir esse tipo de estrutura de controle de acesso também na web
Fluxo de atestação proposto
- Durante uma transação em uma página web, o servidor web pode exigir que o usuário passe por um teste de environment attestation antes de fornecer os dados
- Nesse momento, o navegador se conecta a um servidor de atestação de terceiros e realiza algum tipo de teste
- Se passar no teste, o navegador recebe um IntegrityToken assinado indicando que o ambiente não foi adulterado e apontando para o conteúdo que se deseja desbloquear
- O usuário então envia esse token de volta ao servidor web e, se o servidor web confiar naquela empresa de atestação, o acesso ao conteúdo é liberado
- A estrutura em si parece uma API comum, mas permanece a preocupação de que, na web real, o site possa ser o Google, o navegador possa ser o Chrome e o servidor de atestação também possa ser o Google
Os limites traçados pelo documento e as controvérsias restantes
- Os autores da proposta dizem que a API não deve ser usada para rastreamento por impressão digital que identifique uma pessoa de forma única
- Ao mesmo tempo, afirmam que é necessário algum indicador que permita aplicar limites de taxa a dispositivos físicos
- O item “non-goals” diz que a API não interferirá em funcionalidades do navegador, incluindo plugins e extensões
- A Ars Technica interpreta isso como uma forma indireta de dizer que não pretende matar bloqueadores de anúncios
- Os objetivos da proposta incluem melhor suporte a anúncios
- O Chrome já tem o plano Manifest V3, que muda o funcionamento das APIs de extensões para reduzir sua capacidade de modificar o conteúdo de páginas web
- A proposta também estabelece como objetivo não excluir outros fornecedores
Reação pública e protótipo no Chrome
- O Google não promoveu amplamente essa ideia em público, e o documento não está em um repositório oficial do Google, mas sim na conta pessoal de GitHub de um funcionário
- A proposta mais antiga verificável é de abril de 2022
- Depois que a especificação atualizada foi publicada no fim de semana, ela se espalhou por meio do Hacker News e do YouTuber de reparo de dispositivos Louis Rossmann
- As issues no GitHub receberam fortes reações contrárias
- A Issue #134 critica a ideia como “absolutamente antiética e contrária à web aberta”
- A Issue #113 reagiu dizendo “não consigo acreditar que isso sequer tenha sido proposto”
- A Issue #127 escreveu: “vocês já consideraram a possibilidade de serem os vilões?”
- A API ainda está em fase de proposta, mas em maio de 2023 o Google publicou no blink-dev do Chromium uma intent to prototype, avançando com uma implementação de teste dentro do Chrome
- A página de acompanhamento do desenvolvimento do recurso está em chromestatus.com
1 comentários
Opiniões do Hacker News
Se o Google pode fazer algo que todos os usuários odeiam e ninguém consegue impedir, então a ideia de dividir a empresa começa a ficar bem convincente
O Google parece ter se tornado dominante demais no mercado
Quando se fala em “manifest v3”, ficam com cara de quem não entendeu nada; quando se fala em anúncios ou bloqueadores de anúncios, a maioria não se interessa, e há até quem nem use bloqueador
Lugares como o HN vivem realmente dentro de uma bolha. A maioria vê privacidade como algo abstrato sobre o qual quase não tem controle, e em geral aceita isso
Há também quem aceite governos enfraquecendo a privacidade com justificativas como “precisamos proteger as crianças”, e empresas enfraquecendo a privacidade com a justificativa de oferecer serviços gratuitos em troca de dados pessoais
É uma realidade triste. Se as pessoas realmente se importassem muito com essas questões, seria difícil entender por que há tão pouca mudança; mas, vendo que quase ninguém usa o Firefox mesmo havendo uma alternativa suficiente, não é surpresa. A maioria não se importa
Por exemplo, se a Apple faz uma mudança de hardware desfavorável ao usuário, os principais fabricantes de Android a copiam em poucos meses[0]. A próxima opção acaba sendo algum fabricante chinês de celulares de nicho que trará outros tipos de sofrimento
Hoje estou quase totalmente desconectado do Google. Por causa dos meus requisitos para celular, acabei usando um aparelho sem Google Play Services, e moro em um país onde o Google não é dominante. Só o YouTube ainda aparece de vez em quando. Eu gostaria de conseguir exportar do Photos meu arquivo antigo do Google Photos, mas a exportação pelo Takeout continua dando erro
[0]: Na época em que eu trabalhava no Google, em uma grande lista interna de engenharia, alguém perguntou diretamente: “Foi por causa da Apple que removeram a entrada de fone de ouvido do Pixel?”, e a resposta da equipe de produto foi, no fim das contas, um jogo de palavras ambíguo que equivalia a “sim”
Mais precisamente, pior para “todos, exceto anunciantes de baixa qualidade”
Ao contrário do EME, a Web Integrity API exige um serviço de terceiros, e não apenas custos de manutenção, mas também custos contínuos de desenvolvimento para acompanhar a corrida armamentista contra hackers tentando quebrar essa verificação
Em uma indústria de atestação que funcionasse corretamente, vários servidores de atestação competiriam em preço para verificar usuários, tornando a rede eficiente e robusta; mas acho difícil isso se concretizar. Uma boa atestação exige tecnologia extremamente complexa para cada navegador compatível, e há praticamente uma única empresa que quer desenvolver um navegador relevante e também operar servidores de atestação
Em uma indústria de atestação monopolizada, o Google se torna um ponto único de falha para toda mídia protegida por DRM na internet. Se o Google cair, Netflix, Hulu, HBO etc. também caem junto, porque não conseguirão verificar versões aprovadas do Chrome. Além disso, o Google poderia alterar taxas e políticas unilateralmente, ganhando enorme poder de alavancagem sobre outras empresas, e as empresas têm incentivo para não se colocarem nessa posição
Poderia funcionar se toda a indústria de mídia aceitasse o Google Chrome como o único navegador compatível com mídia na internet e concedesse ao Google esse poder de mercado e essa alavancagem. Mas é difícil acreditar que isso passaria por todos os principais órgãos reguladores do mundo, e, se houver qualquer brecha relevante no controle do mercado, esse plano não funciona
Além disso, o Google pode se defender apontando para outros gigantes, como Microsoft, Apple e Amazon, e dizendo que não se trata de conduta monopolista. Foi o que fez para tentar impedir a divisão do negócio de anúncios no processo de janeiro
Soma-se a isso o fato de muitos usuários não ligarem. A conveniência é grande demais, e é fácil demais para empresas como o Google, assim como outros gigantes como o Walmart, mudarem a opinião pública
O objetivo do projeto seria “entender melhor a pessoa do outro lado da web”, enquanto a introdução diz que esses dados seriam úteis para contagem de impressões de anúncios, bloqueio de bots em redes sociais, aplicação de direitos de propriedade intelectual e prevenção de trapaças em jogos web
Vá se ferrar, Google. O propósito de um navegador é me mostrar páginas da web, não descobrir coisas sobre mim
O uso da proposta WEI fica bastante claro só de olhar o documento explicativo (https://github.com/RupertBenWiser/Web-Environment-Integrity/)
O Google pode “solicitar tokens que atestem fatos essenciais sobre o ambiente em que o código do cliente está sendo executado”
O Google “toma a decisão final sobre confiar ou não no veredito retornado pelo atestador”
Isso permite que o Google “avalie a autenticidade do dispositivo e uma representação honesta da pilha de software e do tráfego do dispositivo”
Aqui, li “site” e “servidor web” do texto original como “Google” para deixar clara a intenção
Por que o Google iria querer esse tipo de capacidade no navegador? O que pretende fazer? Qual é o próximo passo?
Se fosse um executivo de marketing do Google, ele diria: “precisamos travar o navegador web para ganhar mais dinheiro com anúncios”
“Bloqueadores de anúncios precisam ser barrados. A nova API WEI vai garantir que nenhum bloqueador de anúncios esteja em execução, que os anúncios estejam visíveis e que o DRM não tenha sido violado”
“Também queremos impedir fraude em anúncios. Com WEI, podemos garantir que os cliques em anúncios são legítimos e que pessoas estão vendo os anúncios. Se não conseguimos controlar o sistema operacional, como em Chromebooks e celulares Android, precisamos controlar o navegador web com certeza criptográfica”
A etapa 1 é fazer com que navegadores adotem e implementem o Web Environment Integrity
A etapa 2 é exigir o uso do Web Environment Integrity em todos os sites do Google e bloquear o acesso caso contrário
A etapa 3 é exigir o uso do Web Environment Integrity em todos os sites que veiculam anúncios do Google
A etapa 4 é lucro!
O Web Environment Integrity é o começo de mais DRMização e enshittification da web
Não precisam se preocupar. Eles estão pensando até nos usuários que resistem
“Usuários gostam de visitar sites que são caros de criar e manter, mas muitas vezes querem ou precisam fazer isso sem pagar diretamente. Esses sites são financiados por anúncios, mas anunciantes só conseguem arcar com o custo quando pessoas, não robôs, veem seus anúncios. Isso cria a necessidade de usuários humanos provarem a um site que são humanos, às vezes por meio de tarefas como desafios ou login”
Pela formulação, parece algo para permitir que sites de notícias bloqueiem usuários que não pagam, mas isso também acabaria mirando o Internet Archive, outros arquivos de páginas web, modo Leitor etc.
Esta parte na discussão do blink-dev chamou minha atenção
“As decisões que podemos tomar acabarão sendo influenciadas por um debate social maior sobre privacidade (regulação etc.), já que privacidade perfeita significa impunidade perfeita para criminosos”
Impedir que meu dispositivo me vigie em nome do governo ou de uma empresa não significa “impunidade perfeita para criminosos”
Deixando a atestação de lado por um momento, se pensarmos em criptografia moderna de dispositivos baseada em enclaves de segurança e no limite de tentativas de senha autodestrutivo que vem junto, é possível comparar isso a projetar um cofre muito bom capaz de destruir automaticamente seu conteúdo se for invadido. Nesse caso, o governo precisa obrigatoriamente ter sua própria chave para cada cofre vendido?
O debate existe apenas entre pessoas que querem ter seus direitos respeitados e empresas que não querem respeitá-los. Transformar isso em “debate” é uma tentativa óbvia de construir uma narrativa para lobistas
“Privacidade perfeita” também é um espantalho. O compromisso entre nenhuma privacidade e privacidade perfeita não precisa ser “o Google coleta dados contra a vontade do usuário”
Deixando de lado a misantropia daquela figura problemática, essa citação é um bom lembrete de que o argumento “mas e os criminosos!” é usado com frequência, mas raramente é justificado
Depois de pensar por alguns dias, só agora percebi: isso é um mecanismo para bloquear todo web scraping comum, sem rotas alternativas
A “compatibilidade adversarial” de projetos como Nitter, Teddit, Invidious e youtube-dl desapareceria por completo. Sites de arquivo como archive.org e archive.ph também poderiam ser bloqueados por sites que exigissem atestação
Assim como o setor editorial, com medo da pirataria, foi “salvo” pelo Kindle, veículos de imprensa que não conseguem encontrar um modelo de negócios vão correr para que o Google os salve
Parece que vai ficar difícil
Claro que, nesse cenário, serviços de scraping com incentivo financeiro continuarão funcionando, e apenas indivíduos honestos que querem liberdade de user agent serão prejudicados. Igual a muitos outros DRMs
Ainda há coisas de que não gosto, e muitas das extensões que uso são exclusivas do Chromium, mas agora sinto que não há mais escolha
É bom que esse problema esteja recebendo mais atenção. Discriminação por user agent, ou seja, atitudes do tipo “se não for o Chrome mais recente, caia fora”, deveria ser ilegal
Se o meu uso não está sobrecarregando o serviço, não deveria haver restrições sobre qual hardware ou software eu uso
O mesmo vale para outros obstáculos que atrapalham deliberadamente a acessibilidade e a interoperabilidade. Deve-se impedir a criação de um “padrão” tão complexo e tão frequentemente alterado que só o Google consiga implementá-lo e acompanhar as mudanças, e a propaganda que faz com que, na prática, todos os sites se tornem exclusivos do Chrome, independentemente da utilidade real
Recomendo identificar todos os responsáveis por isso e exercer o direito à livre expressão. Funciona com políticos, então deveria funcionar com esse outro tipo de vilão também
Mais uma vez, Stallman foi muito visionário: https://www.gnu.org/philosophy/right-to-read.html
Conceitualmente, qual é a diferença em relação à época em que sites bloqueavam o IE por má vontade?
A string de user agent do software é apenas um identificador que o navegador acrescenta para dar contexto ao servidor, não uma camada de proteção
O Google tem o direito de restringir o uso do próprio software da forma que quiser, e nós podemos simplesmente não usá-lo
Não existe um direito fundamental à internet aberta, e ninguém nos deve isso. Eu gostaria que voltássemos aos tempos em que a internet era muito mais aberta e menos comercializada, mas isso não virá por meio de regulação legal
Isso está errado em tantos níveis que nem sei por onde começar
Para começar, odeio esse tipo de “proposta”. Na prática, a postura é: “já implementamos isso no nosso principal produto, vamos empurrar de forma amigável para os usuários e, se houver escolha, vocês podem não usar”
Depois vem a parte de “garantir que você não é um robô e que o navegador não foi modificado ou adulterado de maneira não aprovada”. Eu uso um navegador open source que não é baseado no Chromium, ou seja, o Firefox, e posso modificá-lo e recompilá-lo como eu quiser. Se eu quiser, posso usar links, elinks, lynx, dillo, e de fato uso. Quem são vocês para ditar qual software eu uso no meu computador?
Isso é a onda de DRM dos anos 90 voltando. É um ataque contínuo a software aberto, plataformas abertas e protocolos abertos
É enlouquecedor e também triste
Hoje temos todo tipo de ambiente de execução de “confiança” e computação traiçoeira como TPM, que nem dá para evitar, com a chave pública de outra pessoa gravada no silício
O autor da proposta que bloqueou a issue no GitHub[0] também comentou no HN, mas até agora continua em silêncio aqui também: https://news.ycombinator.com/item?id=36825097
[0] https://github.com/RupertBenWiser/Web-Environment-Integrity/...
Os Googlers RupertBenWiser[3] e yoavweiss[4] estão apenas seguindo a política do Google. É especialmente nojento o fato de yoavweiss ter tentado fingir que a issue original, que ele fechou à força sem nem ler os comentários, era “spam”[5]
Ambos os usuários estão agindo de forma muito maliciosa e, na minha visão, não estão cumprindo adequadamente o código de ética da engenharia
Só o ato de bloquear o repositório no GitHub já mostra que eles sabem disso
É muito deprimente ver o quanto o Google e os Googlers caíram. Um lugar que já foi uma casa de inovação, crescimento e criação tecnológica agora é só publicidade, abuso de posição de mercado para dar ao Chrome uma vantagem absurda na fase final da guerra dos navegadores, e mais do mesmo
Parece que chegou a hora de tomar medidas antitruste contra o Google. Se você ainda não fez isso, deveria migrar para o Firefox e parar de usar o Chrome. A Mozilla se opõe a esta proposta e aos engenheiros que a estão empurrando[6]
[1] https://github.com/RupertBenWiser/Web-Environment-Integrity/...
[2] https://github.com/RupertBenWiser/Web-Environment-Integrity/...
[3] https://github.com/RupertBenWiser
[4] https://github.com/yoavweiss
[5] https://github.com/RupertBenWiser/Web-Environment-Integrity/...
[6] https://github.com/mozilla/standards-positions/issues/852#is...
Como naquela piada antiga: “basta uma vez com uma cabra...”
Do ponto de vista do usuário, essa “comprovação” não tem valor nenhum
O navegador deveria permitir fazer o que eu quisesse. Por exemplo, eu deveria poder remover anúncios ou bloquear o acesso a canvas e WebGL, e os sites não deveriam conseguir saber disso
Além disso, é bem provável que essa comprovação forneça um sinal adicional de fingerprinting do navegador, e isso não é algo desejável
Posso querer controlar e verificar se meus dispositivos continuam sob meu controle, e seria bom não precisar entrar pessoalmente no datacenter toda semana para conferir. O conceito em si não é ruim
Só que este conceito parece ser uma tentativa de impedir bloqueadores de anúncios e evitar que navegadores como o Brave finjam ser o Chrome enquanto bloqueiam anúncios sem extensões
O único uso positivo para o usuário que me vem à mente seria em software auto-hospedado. Talvez também possa ser usado para detectar ataques man-in-the-middle ou malware que mexa no navegador. Na prática, isso vai virar “Firefox proibido, Linux proibido, bloqueador de anúncios proibido”
Isso poderia excluir keyloggers, extensões maliciosas de navegador e sequestro de sessão
Claro que, na prática, será usado para bloquear conteúdo e forçar os usuários a ver anúncios impossíveis de pular
Mas já existem softwares que fazem esse tipo de coisa em redes privadas. Acredito firmemente que esse tipo de recurso não tem lugar nenhum na web aberta
Esta proposta é hostil ao usuário e pode ser muito perigosa para o futuro da web
Você está usando Chrome agora? Não gosto de dizer isso, mas você também faz parte do problema. Basta trocar por outra coisa
Não sou extremamente anti-Google. Uso Gmail e também uso Google como mecanismo de busca. Mas o Firefox é um bom navegador e é o que uso no dia a dia. Edge, Brave, Safari e o navegador da DDG também são opções
Você deveria trocar hoje e começar a reduzir a alavancagem do Google
Como eles não bloqueiam a maioria das mudanças que o Google empurra para dentro do Chrome, ainda contribuem muito para o domínio do Google sobre a internet
Se você realmente quer abalar o controle do Google sobre a plataforma web, as únicas opções práticas são Firefox e Safari