A matemática por trás da correspondência de dispositivos entre sessões
Os fundamentos matemáticos da correspondência de dispositivos através de sinais em mudança — como a análise com IA reconecta visitantes recorrentes apesar da deriva de sinais.
A impressão digital de dispositivo enfrenta um desafio fundamental: os sinais mudam. Navegadores atualizam, usuários modificam configurações, fontes são instaladas e removidas. Uma comparação estrita trataria cada sinal alterado como um novo dispositivo, destruindo a precisão da identificação. Nosso sistema de correspondência entre sessões resolve isso usando técnicas com IA que quantificam a similaridade em vez de exigir igualdade exata.
O problema: deriva de sinais
Considere um dispositivo que teve sua impressão digital coletada ontem e retorna hoje após uma atualização de navegador. A string de user agent mudou. Dois novos recursos de CSS agora são suportados. Uma extensão de WebGL foi adicionada. A renderização de canvas permanece idêntica (mesma GPU, mesmo driver). A impressão digital de áudio é idêntica. Os parâmetros de WebGL são idênticos, exceto pela nova extensão.
Com a correspondência exata, esse dispositivo não seria reconhecido — a impressão digital combinada mudou. Mas, intuitivamente, sabemos que é o mesmo dispositivo. Os sinais de hardware são idênticos, e as mudanças de software são consistentes com uma atualização de navegador. Nosso sistema de correspondência entre sessões formaliza essa intuição.
Comparação baseada em conjuntos para sinais de recursos
Muitos sinais de navegador são naturalmente representados como conjuntos: o conjunto de recursos de CSS suportados, o conjunto de fontes disponíveis, o conjunto de extensões de WebGL. Para esses sinais, medimos a sobreposição usando métricas de similaridade baseadas em conjuntos. Para dois conjuntos A e B, calculamos a razão entre os elementos compartilhados e o total de elementos.
Um dispositivo com 45 recursos de CSS ontem e 47 hoje (com 44 em comum) tem uma alta pontuação de similaridade. Isso é suficiente para indicar o mesmo dispositivo com uma atualização de navegador. Um dispositivo completamente diferente poderia compartilhar apenas 30 recursos de CSS, resultando em uma pontuação de similaridade muito menor. O limiar entre "mesmo dispositivo" e "dispositivo diferente" é aprendido a partir de dados rotulados.
Geração eficiente de candidatos
Calcular a similaridade entre cada par de dispositivos seria proibitivamente caro em escala. Nosso sistema de geração de candidatos usa técnicas avançadas de indexação que mapeiam itens similares para o mesmo bucket de consulta com alta probabilidade, permitindo-nos encontrar correspondências potenciais em tempo constante.
Essa abordagem elimina 99.9% das comparações na fase de geração de candidatos, tornando o sistema eficiente mesmo com bilhões de perfis de dispositivo.
Análise com IA para sinais complexos
Alguns sinais não se decompõem de forma limpa em conjuntos. Impressões digitais de canvas, a saída de processamento de áudio e vetores de parâmetros de WebGL são dados complexos onde a comparação simples de conjuntos não se aplica. Para esses sinais, usamos análise com IA que mapeia perfis de dispositivo em uma representação onde dispositivos similares ficam próximos uns dos outros.
O modelo de IA captura relações não óbvias entre sinais. Por exemplo, ele aprende que uma mudança na string do renderizador WebGL de um modelo de GPU para uma versão ligeiramente atualizada do mesmo modelo representa uma atualização de GPU na mesma máquina, enquanto uma mudança para um fornecedor de GPU completamente diferente representa um dispositivo totalmente distinto.
Combinando as técnicas
Nosso sistema de produção usa múltiplas técnicas em cascata. Primeiro, a geração eficiente de candidatos identifica correspondências potenciais. Segundo, a comparação baseada em conjuntos fornece uma medida precisa de sobreposição para sinais baseados em recursos. Terceiro, a análise com IA pontua a similaridade de sinais dependentes de hardware. A pontuação de confiança final é uma combinação ponderada de todos os métodos, com pesos ajustados em dados rotulados.
Essa arquitetura em cascata é ao mesmo tempo precisa e eficiente. O tempo total de correspondência para um visitante recorrente é de menos de 5ms em média.