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
Comentários do Hacker News
Técnica de fingerprinting de GPU
DrawnApartusa 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.Possibilidade de fingerprinting de áudio
Ineficiência de adicionar ruído para evitar vazamento de dados
Especificação da Web Audio API e tratamento de anti-aliasing do oscilador
Críticas à implementação da API de áudio dentro do navegador
Sugestão de melhoria na forma de adicionar ruído à amostragem
Opinião de usuário que prefere desativar JavaScript
Interferência no fingerprinting por meio da modificação do protótipo da Audio API
Base do fingerprinting de processamento de áudio
<canvas>para revelar diferenças entre dispositivos gráficos.