1 pontos por GN⁺ 2024-03-11 | 1 comentários | Compartilhar no WhatsApp

Identificação por áudio

  • A técnica de identificação por áudio usa a API de áudio do navegador para gerar um sinal de áudio e somar todas as amostras desse sinal gerado, convertendo o resultado em um único número.
  • Esse número é usado como fingerprint (identificador) e permanece estável mesmo após limpar os cookies ou mudar para o modo anônimo.
  • No entanto, o identificador não é tão exclusivo, então muitos usuários podem ter o mesmo identificador.

Como o Safari 17 atrapalha o fingerprinting de áudio

  • O Safari 17 introduziu uma proteção avançada contra fingerprinting, ativada por padrão no modo de navegação privada e desativada no modo normal.
  • Essa proteção adiciona ruído aleatório a cada amostra de áudio, reduzindo a precisão do fingerprint.
  • Como resultado, o fingerprint de áudio muda toda vez que é calculado, deixando de poder ser usado para identificação.

Como contornar a proteção avançada contra fingerprinting do Safari 17

  • Três etapas para melhorar o algoritmo de fingerprinting e remover o ruído adicionado pelo Safari: reduzir a dispersão do ruído, ampliar o espaçamento entre os números de identificação dos navegadores e arredondar o fingerprint para eliminar o ruído restante.
  • Para reduzir o ruído, vários fingerprints de áudio são combinados, e o sinal base é alterado para aumentar as diferenças entre as amostras de áudio dos navegadores.
  • Para estabilizar o resultado, as amostras de áudio são arredondadas, preservando os números importantes.

Desempenho

  • O novo algoritmo de fingerprinting tem desempenho cerca de 1,5 a 2 vezes pior que o algoritmo anterior, mas ainda exige pouco tempo de cálculo mesmo em dispositivos de baixo desempenho.
  • Parte do trabalho é processada na thread OfflineAudioRender para manter a responsividade da página.

Como funciona em navegadores focados em privacidade

  • Navegadores voltados para privacidade, como Tor e Brave, também tentam limitar o fingerprinting de áudio.
  • No Tor, a Web Audio API é completamente desativada, tornando o fingerprinting de áudio impossível.
  • O Brave usa uma abordagem semelhante à do Safari 17, adicionando ruído ao sinal de áudio.

Uso no FingerprintJS

  • O novo algoritmo de fingerprinting de áudio substitui o algoritmo anterior no FingerprintJS.
  • O fingerprinting de áudio é apenas um dos muitos sinais usados para gerar um fingerprint do navegador, e a estabilidade e a exclusividade de cada sinal são analisadas separadamente para determinar seu impacto na precisão do fingerprint.

Opinião do GN⁺

  • O recurso do Safari 17 para atrapalhar o fingerprinting de áudio mostra o esforço da Apple para reforçar a privacidade dos usuários. Isso pode oferecer mais privacidade aos usuários.
  • No entanto, serviços como o FingerprintJS ainda conseguem permitir a identificação ao contornar essas proteções, revelando a tensão contínua entre proteção de privacidade e segurança.
  • É necessária uma discussão adicional sobre como essa tecnologia pode ser usada em cibersegurança. Por exemplo, ela pode ser usada para prevenir fraudes e proteger contas de usuários.
  • Outros projetos open source com funções semelhantes incluem Privacy Badger e uBlock Origin, que podem ajudar a bloquear o rastreamento de usuários.
  • Ao adotar essa tecnologia, é importante encontrar um equilíbrio entre a privacidade do usuário e as necessidades de segurança dos sites. O benefício obtido com seu uso é a melhora na precisão da identificação de usuários, mas o risco de invasão de privacidade também deve ser considerado.

1 comentários

 
GN⁺ 2024-03-11
Comentários do Hacker News
  • Técnica de fingerprinting de GPU

    • A técnica de fingerprinting de GPU chamada DrawnApart usa WebGL para medir a quantidade e a velocidade das unidades de execução da GPU, além do tempo de conclusão da renderização de vértices, processamento de funções de stall etc.
    • Fonte
  • Possibilidade de fingerprinting de áudio

    • Pedido de explicação sobre por que o fingerprinting de áudio é possível.
  • Ineficiência de adicionar ruído para evitar vazamento de dados

    • Considerando o interesse recente em ataques por canal lateral, adicionar ruído para evitar vazamento de dados não é eficaz, já que é possível coletar mais amostras e remover o ruído.
    • Levanta-se a dúvida sobre por que o Safari adicionou isso.
  • Especificação da Web Audio API e tratamento de anti-aliasing do oscilador

    • A escolha, na especificação da Web Audio API, de como tratar o anti-aliasing do oscilador parece ser a chave para o sucesso do bypass do fingerprinting.
    • Dependendo do navegador ou do hardware, podem ser escolhidos métodos diferentes de anti-aliasing, o que pode gerar resultados não determinísticos entre navegadores ou até dentro do mesmo navegador.
    • Expressa-se falta de compreensão sobre a decisão de deixar o anti-aliasing a cargo do navegador.
    • Fonte
  • Críticas à implementação da API de áudio dentro do navegador

    • Opinião de que incluir no navegador uma API de áudio baseada em grafo de nós é algo irracional.
    • Defesa de que deveria existir apenas audio worklet.
  • Sugestão de melhoria na forma de adicionar ruído à amostragem

    • Sugestão de que o Safari poderia, em vez de adicionar ruído aleatório a cada amostra, adicionar ruído baseado em uma chave que muda ao longo do tempo.
    • Nesse método, o ruído permaneceria constante dentro de uma sessão, mas após uma hora deixaria de ser útil para rastreamento.
  • Opinião de usuário que prefere desativar JavaScript

    • Opinião de um usuário que prefere desativar JavaScript e navegar na web.
  • Interferência no fingerprinting por meio da modificação do protótipo da Audio API

    • Sugestão de alterar o protótipo da Audio API para retornar o resultado desejado.
    • Reconhecimento da dificuldade de obter o fingerprint emulado desejado.
  • Base do fingerprinting de processamento de áudio

    • Pergunta sobre se o fingerprinting de processamento de áudio se baseia em diferenças de hardware/driver/SO ou simplesmente em diferenças no software do navegador.
    • Menciona que houve uma técnica semelhante usando <canvas> para revelar diferenças entre dispositivos gráficos.