1 pontos por GN⁺ 1 시간 전 | 1 comentários | Compartilhar no WhatsApp
  • Esta página mostra localização, dispositivo, navegador, idioma, GPU, bateria, fontes e preferências do usuário usando apenas os dados que o navegador enviou nos primeiros milissegundos após a visita, sem exploits nem invasões, apenas com recursos padrão publicamente documentados
  • Ela envia o endereço IP de todos os cabeçalhos de requisição para ip-api.com · Free tier · CC-BY-SA para convertê-lo em cidade e nome do provedor de internet; informa que a consulta não é armazenada e que só exibe alguns octetos na tela, embora o restante também possa ser conhecido
  • A impressão digital por fontes detecta fontes instaladas pela largura do texto renderizado, e a Electronic Frontier Foundation · Cover Your Tracks oferece uma ferramenta para verificar a singularidade do navegador; um estudo de Princeton de 2014 encontrou impressão digital por canvas em 5% dos 100.000 principais sites
  • Embora não execute isso na página, existem a Clipboard API, que pode solicitar a leitura do último conteúdo copiado com um único gesto do usuário, “The Leaking Battery”, que mostrou a possibilidade de rastreamento por até 30 minutos com nível e tempo de descarga da bateria, e uma técnica para detectar sites em que o usuário está logado via favicon
  • Informa que só enviou ao servidor dois eventos anônimos, chegada e conclusão, não armazena nada em cookies, localStorage, sessionStorage, IndexedDB nem no cache do service worker, e esquece o visitante quando a aba é fechada

Informações que o navegador forneceu logo ao chegar

  • Todas as observações de taken. vêm de dados do navegador do visitante nos primeiros milissegundos após a visita, sem exploits, vulnerabilidades ou invasões, usando apenas recursos padrão publicamente documentados
  • Localização

    • O endereço IP incluído em todos os cabeçalhos de requisição é enviado para ip-api.com · Free tier · CC-BY-SA para ser convertido em cidade e nome do provedor de internet
    • A consulta é temporária e não é armazenada por nenhum dos lados; a tela mostra apenas o primeiro e o último octeto do IP, mas informa que o restante também pode ser conhecido
    • No GDPR, endereços IP podem ser considerados dados pessoais quando usados para rastreamento, e o taken. afirma não rastrear, reter nem registrar logs
  • APIs do navegador

    • Observações do dispositivo, como tela, navegador, idioma, GPU, número de núcleos, bateria, fontes e preferências do usuário, são obtidas por APIs JavaScript padrão publicamente documentadas em MDN Web Docs · Mozilla · CC-BY-SA 2.5
    • É um comportamento possível pelo próprio design do navegador, levando à conclusão de que “o problema é o design”
  • Impressão digital por fontes e canvas

    • A técnica de impressão digital por fontes, que detecta fontes instaladas pela largura do texto renderizado, é documentada desde 2010, e a Electronic Frontier Foundation · Cover Your Tracks oferece uma ferramenta para verificar o quão singular é um navegador
    • A maioria dos navegadores é singular o bastante para ser rastreada na web aberta mesmo sem cookies, e a combinação de fontes é um dos sinais mais fortes
    • Um estudo de 2014 do Princeton University · Web Transparency & Accountability Project documentou pela primeira vez a impressão digital por canvas na web real e a encontrou em 5% dos 100.000 principais sites
    • A impressão digital por canvas funciona fazendo o navegador do visitante desenhar uma imagem oculta e depois relendo os pixels renderizados como identificador; o taken. não executou essa técnica, mas o navegador a suporta
  • Área de transferência e bateria

    • Segundo a MDN · Clipboard API specification, com um único gesto do usuário, como clique ou toque, uma página pode solicitar a leitura do último conteúdo copiado
    • O último conteúdo copiado pode ser uma senha, endereço ou mensagem em rascunho; o taken. não solicitou isso, mas o recurso existe nos navegadores modernos
    • O artigo de 2015 “The Leaking Battery”, de Olejnik, Englehardt e Narayanan, mostrou que só a combinação de nível de bateria e tempo de descarga pode rastrear visitantes por até 30 minutos em vários sites, sem cookies nem contas
    • O Firefox removeu essa API em 2016, mas Chrome e Edge ainda a expõem

Técnicas não executadas e dados não deixados

  • Detecção de sites com login ativo

    • Embora o taken. não a execute, existe uma técnica documentada, legal e amplamente distribuída que faz o navegador carregar a URL do favicon de um serviço específico e observa sucesso ou falha para detectar em quais sites o usuário está logado
    • Ela explora a diferença entre imagens retornadas em estados logado e deslogado e pode revelar, sem permissão, o login em serviços como Facebook, Google, X, GitHub, Reddit e LinkedIn
  • Código de barras calculado no navegador

    • As 16 linhas exibidas abaixo da contagem são formadas por alturas derivadas de GPU, fontes, tamanho de tela, idioma, fuso horário, sistema operacional, navegador e profundidade de cor
    • Os mesmos dados produzem o mesmo código de barras, visitantes diferentes veem códigos diferentes, e o cálculo acontece apenas dentro do navegador, sem ser enviado
    • Se houver alguém com exatamente a mesma impressão digital, verá as mesmas barras, mas essa chance é pequena
  • Como as frases são geradas

    • Todas as frases foram escritas manualmente por Matt, e nenhum modelo de linguagem escreve ou corrige frases no momento da execução
    • O código escolhe um dos modelos de frase previamente escritos conforme os valores retornados pelo navegador, e foi feito para não dizer nada quando a condição não puder ser tratada por uma frase escrita por humanos
  • O que foi enviado ao servidor

    • Os únicos eventos enviados ao servidor foram dois eventos anônimos, chegada e conclusão, sem cookies, identificadores nem IPs armazenados
    • O servidor descarta o corpo de cada requisição e não retorna nada; registros da camada de transporte de que houve uma requisição podem permanecer em log pelo período padrão de retenção do provedor de hospedagem, normalmente alguns dias
    • A maioria dos sites envia centenas de beacons adicionais para anunciantes, coletores de impressão digital, ferramentas de replay de sessão e gerenciadores de tags, mas o taken. envia apenas dois ao próprio servidor e informa esse fato
  • O que foi armazenado no dispositivo

    • Nada é armazenado em cookies, localStorage, sessionStorage, IndexedDB nem no cache do service worker
    • Os dados mostrados na tela foram calculados dentro do navegador e, exceto pela consulta de geolocalização por IP e pelos dois eventos anônimos, não saem do dispositivo
    • Ao fechar a aba, o taken. esquece o visitante e conclui, junto com a abertura do código-fonte, que “a maioria das páginas não pode dizer isso”
  • Contexto da série e criação

    • O Vol. I trata do que aconteceu no mundo enquanto o visitante permaneceu ali, o Vol. II do céu que ele perdeu, o Vol. III do que já estava sob seus pés, e o Vol. IV vai afunilando até o próprio visitante
    • A página foi criada por Matt na Rise Up Labs, e as edições seguintes serão publicadas no X e no Bluesky

1 comentários

 
GN⁺ 1 시간 전
Comentários do Hacker News
  • Nem estou nessa cidade. Forçando bastante, no máximo dá para dizer que estou rodando algo parecido com Linux com algo parecido com Chrome em cima, e ninguém consegue deduzir quando eu trabalho ou durmo. Nem eu sei
    Esse tal display moderno e avançado é na verdade a tela de um tablet barato que comprei no supermercado há 5 anos, e mesmo assim a coleta de impressão digital do navegador continua irritante. Se conseguem detectar o modo claro, não dava para respeitar essa configuração também?

    • A quantidade de fingerprinting que esta página mostra não é nada perto do que acontece na web de verdade
    • A porcentagem da bateria está errada e o estado de carregamento também está errado. Concordo com a parte de respeitar o modo claro, mas, mesmo que respeitassem, provavelmente ainda seria uma tela lixo de baixo contraste
    • Disseram que eu estou em “Los Angeles”, mas é só porque meu fuso horário é de lá. Também agem como se tivessem marcado pontos por “me pegar” porque tenho dois idiomas de entrada, quando na verdade eu só uso com frequência um segundo idioma
      Dizem “English · Chinese” e sugerem que o idioma principal do navegador e os idiomas adicionais revelam onde a pessoa cresceu, onde mora e até com quem vive, mas ter inglês e chinês como idiomas de entrada não revela nada disso. É parecido com dizer que “o fato de alguém acessar a internet pelo celular revela que essa pessoa consegue acessar a internet pelo celular”. Tecnologias interagem entre si, é assim que elas funcionam. É orwelliano, mas daí a dizer que é mais orwelliano do que Estados de vigilância como Rússia/China/Coreia do Norte é outra história. Compartilhar localização ajuda a encontrar celular, carro e outros dispositivos; atividades online podem ajudar a encontrar criminosos; e também podem registrar crimes ou casos em que seja necessário cobrar responsabilidade da polícia. Ver o excesso de intrusão da tecnologia como uma catástrofe é uma escolha cognitiva, mas é bom estar ciente do que nossas tecnologias “sabem” sobre nós
    • Usando o Apple Private Relay VPN, minha localização ficou errada por centenas de milhas. Sempre é interessante ver em que lugar sites e serviços acham que eu estou com base em bancos de dados de geolocalização, e, se eu desligo, eles acertam dentro de algumas milhas. Felizmente quase nenhum lugar bloqueia a VPN da Apple, então não preciso desligar
      Concordo totalmente com a parte do modo claro. Estou na metade dos 30 e alguns desses sites em modo escuro me fazem sentir como se eu tivesse mais de 80. Neste site eu realmente não consigo ver nada
    • Comigo também não. Aparece Brussels, mas na verdade estou em Antwerp. A resolução da tela também está errada
  • Queria que os defensores da privacidade falassem de forma normal pelo menos uma vez. Tentar vender o fato de o navegador ter acesso ao fuso horário como se fosse algo maligno não vai convencer ninguém

    • “Você prefere interfaces escuras — o sistema operacional nos contou.” Ué, isso só significa que minha configuração funcionou como deveria; isso é para ser assustador?
    • Concordo. Informações como meu idioma, se uso modo escuro e meu fuso horário podem ser usadas para oferecer uma experiência melhor, então isso não me incomoda muito
    • É aquele estilo curto de LLM que tenta fazer tudo soar dramático, dá a mesma sensação de unha no quadro
    • Mas, se eu for a única pessoa do mundo nesse fuso horário, então isso me identifica de forma única!
  • A questão não é se a informação está correta ou não. A questão é que ela serve para me identificar mesmo sem cookies. Procurando um site melhor, achei o da EFF útil
    Lá dizia que minha impressão digital do navegador era única entre os visitantes dos últimos 45 dias: https://coveryourtracks.eff.org/

    • Aqui aparece “Você tem forte proteção contra rastreamento na web”. Não tem como não amar Firefox + uBlock Origin em modo avançado, sem precisar desligar JavaScript e ainda mantendo os sites funcionando
    • Se você rodar esse tipo de site várias vezes, não deveria deixar de ser único em todas elas?
    • Pelo menos na Europa, mesmo que usem fingerprinting em vez de cookies, o GDPR continua valendo. Para usar essas informações, precisam divulgá-las e tratar os dados de acordo com a lei
    • Esse papo de “medo, incerteza e dúvida não precisam estar corretos” é meio estranho
    • Ainda assim, prefiro que a informação esteja errada. Se os sites vão tentar me rastrear de forma invasiva, pelo menos eu posso alimentá-los com dados lixo únicos
  • Se você visita sem JavaScript, aparece: “Se o JavaScript estiver desativado, a página não pode dizer o que o navegador revelou. Os dados ainda estão lá. A revelação ainda aconteceu. A única coisa que para é a explicação.”
    Esse tom exagerado de LLM é muito irritante, mas pelo menos serve de sinal de que posso ignorar tudo sem culpa

  • Não sei se é porque estou velho ou porque trabalho com software para internet há quase 30 anos, mas nada disso me parece surpreendente nem preocupante
    Alguém cria um servidor que aceita conexões, e alguém envia uma requisição de conexão para esse servidor. Não houve acordo, nem expectativas, nem regras definidas. O servidor não é obrigado a aceitar toda requisição, e ninguém é obrigado a fazer requisição para aquele servidor. O que o servidor devolve e como o cliente lida com isso fica por conta de cada um
    Sinto que esse acordo, ou essa ausência de acordo, vale para os dois lados. Não acho que o usuário deva ficar bravo porque um site usa as informações da requisição da forma que quiser, mas o site também não deveria ficar bravo porque eu trato os dados que recebo como eu quiser. Ou seja, o site pode guardar meu endereço IP e os detalhes da requisição o quanto quiser, e eu posso fazer o que bem entender com a resposta recebida. Posso bloquear anúncios, recusar requisições subsequentes que o site mande fazer ou exibir a resposta da forma que eu quiser. Eu pedi os dados, e eles enviaram os dados
    Se há informações sobre mim que eu não quero revelar, então elas não deveriam ir na requisição. Se o site só quer enviar os dados sob a condição de eu ver anúncios, então deveria me fazer concordar com isso antes de enviar os dados. Claro, no mundo real a maioria das pessoas não sabe o que o navegador faz, não tem muitas escolhas reais sobre o que ele envia, e a internet deixou de ser algo opcional na vida. Coisas como DDoS também tornam irreal um modelo totalmente “vale tudo”. Ainda assim, tenho a intuição de que, ao fazer uma requisição na internet, não devemos esperar demais de nenhum dos lados

    • Esse é o problema fundamental. O navegador deveria ser o agente do usuário. O próprio nome é User Agent. Ele deveria trabalhar para o usuário, o usuário deveria saber o que o navegador faz, e o navegador não deveria fazer nada que o usuário não entenda e com o que não concorde explicitamente. A palavra final sobre o que meu navegador envia deveria ser minha, e o navegador deveria tornar trivial o exercício desse controle
      Na prática, o navegador é agente de outra pessoa. Trabalha para desenvolvedores web, oferecendo todo tipo de coisa que facilita a vida deles. Trabalha para anunciantes, fornecendo pistas de rastreamento e fingerprinting. Trabalha para os desenvolvedores do próprio navegador, coletando métricas, telemetria e outros dados que nem sabemos quais são. Mas já não trabalha mais de verdade para mim. Eu sou só um passageiro no carro
      Eu entendo que o endereço IP não é algo que o navegador consiga controlar e que, para se conectar a um site, ele inevitavelmente precisa ser revelado. Mas o fato de que, no estado padrão e sem VPN, um IP possa ser mapeado de forma estável para país, estado/província e às vezes até cidade é uma falha de projeto terrível. É um grande problema de projeto na forma como os IPs são distribuídos. Num mundo melhor, o endereço IP por si só não deveria revelar a localização geográfica de alguém
    • Frases como “Também sabemos o resto. Escolhemos não mostrar. A maioria das páginas não faria essa escolha” parecem escritas para assustar criança. Além disso, o que mostraram nem é meu provedor de internet. Talvez seja o upstream do meu ISP
    • Também estou velho, mas talvez idealista, então vejo boa parte desses recursos como coisas que foram claramente adicionadas com um propósito legítimo
      Quando o cliente envia cabeçalhos de idioma ou a lista de fontes compatíveis, isso não significava que o servidor podia “fazer o que quisesse com esses dados”. Havia motivos reais quando criamos esses padrões. O fato de provedores de sites, ou mais especificamente redes de anúncios, terem decidido usar isso para outra finalidade quebra esse acordo implícito. Claro, talvez eu esteja esperando demais
    • A localização era ridiculamente imprecisa, e, como alguém que escreve aqui, eu sei por quê. Esconderam um pouco o endereço IP de forma meio infantil, mas, descendo mais a página, melhora
      Acertaram o nível de bateria do meu celular e a inferência sobre o dispositivo. Leram corretamente giroscópio e interações com touchscreen, e mostraram como isso pode ser usado para identificação e inferência. Dá até para inferir se você está sentado, em pé ou deitado. O começo é lento, mas depois fica interessante
    • Nós, velhos profissionais de tecnologia, ainda parecemos querer acreditar no ideal tecnolibertário da web antiga. Mas, para isso, é preciso ignorar bastante os ideais capitalistas e autoritários da web moderna
      Essa ideia de que ninguém deve nada a ninguém funcionava bem antigamente, quando em geral se podia presumir boa-fé da maioria dos agentes. Mas, quando o dinheiro e o poder da internet viraram realidade, a relação ficou mais adversarial. As premissas de confiança e a falta de responsabilidade facilitam que um lado explore a boa-fé do outro. E, por causa do desequilíbrio técnico e de poder inerente à arquitetura servidor-cliente da web, os abusos também tendem a fluir em uma direção só
  • O site é bonito e as frases exageradas até são divertidas, mas há demos de fingerprinting muito melhores
    A quantidade de pontos de dados mostrados aqui é pequena. Dá para verificar muito mais coisa, e boa parte do que aparece parece errada. Só detectou explicitamente um item como “withheld”, mas na prática parece que há vários itens ocultos distorcendo a saída. Precisa de controle de qualidade

    • O tom exagerado é até engraçado. Passa uma sensação de “Você está em [cidade errada]. Poderíamos mandar uma equipe ninja agora mesmo para te matar, mas decidimos não fazer isso. Agradeça”
    • Resumindo, é mais um projeto de tralha gerado por IA. Já vi esse estilo de UI dezenas de vezes, e ele sempre vem acompanhado dessas frases longas e obviamente exageradas
  • Parece o EFF Cover Your Tracks feito com vibe coding. O fato de isso ter ido parar na front page assusta mais do que o conteúdo

    • Exato. Parece uma página gerada a partir do prompt “copie isso sem parecer tão óbvio e coloque um tema de landing page chamativo”. Ficou feio
    • Foi enviado por uma conta criada há 21 dias, que nunca comentou nada e nem está acompanhando este tópico. Nunca respondeu a ninguém e provavelmente nunca vai responder. O fato de submissões assim não serem denunciadas está destruindo o Hacker News
  • Dá para ver muito mais coisa aqui. Também já existe bastante trabalho anterior sobre supercookies e fingerprinting
    https://coveryourtracks.eff.org/
    https://amiunique.org/

    • Interessante. Rodei o site da EFF e, entre várias informações, apareceu que eu sou “MacIntel”. Fiquei surpreso, achei que ainda estivesse rodando a build x86 do Firefox
    • Os dois estão linkados no modal Sources & Confessions no rodapé. Cover Your Tracks é o ancestral espiritual de todo esse trabalho, e o amiunique é mais rigoroso. Este aqui é tipo um primo de versão privada
    • Há também outra ferramenta para verificar vazamento de informações: https://www.ipleak.com/full-report/
  • Uau, parece que alguém usando ChatGPT descobriu o conceito de cabeçalhos do navegador e resolveu enfiar frases estranhas como “decidimos não contar a você”
    Se você realmente quer saber o que seu navegador está enviando, veja aqui:
    https://browserleaks.com/
    https://coveryourtracks.eff.org/

  • “Nós não pedimos sua localização. Seu endereço chegou antes de você” é bobagem. Eles consultaram meu endereço IP como chave numa API/serviço de geolocalização, então sim, pediram minha localização
    E o IP é praticamente obrigatório para a comunicação na internet funcionar. Há formas de usar serviços que o escondem, mas aí esse serviço passa a ter minhas informações

    • Não. O navegador tem um mecanismo para pedir dados de localização, e o “pedimos” aí significa que eles não usaram esse mecanismo. A parte importante é que não perguntaram ao usuário
      Se você tem um dicionário, não precisa necessariamente perguntar ao seu interlocutor o significado de uma palavra; pode procurar no dicionário. A palavra pode ter vários sentidos, ou ser gíria, e aí você pode inferir errado. Para corrigir essa imprecisão, talvez precise de outros pontos de dados, como o contexto da conversa, ou então pedir confirmação diretamente à pessoa
    • Acho que você leu isso errado. Não quer dizer “não perguntamos a ninguém”, e sim que não perguntamos diretamente ao usuário
      E, claro, o endereço chega antes. Senão não haveria como devolver os dados solicitados
    • Proxies multi-hop parecidos com o Tor são conhecidos por não permitir, dependendo da arquitetura, mapear o IP de origem ao IP de destino