Segundo o desenvolvedor z0ccc, as extensões do Google Chrome podem ser usadas para rastreá-lo online. Confira os detalhes da descoberta dele.
Um pesquisador criou um site que usa suas extensões instaladas do Google Chrome para gerar uma impressão digital do seu dispositivo que pode ser usada para rastreá-lo online.
Extensões do Google Chrome podem ser usadas para rastreá-lo online
Sim. Extensões do Google Chrome podem ser usadas para rastreá-lo online. Para rastrear usuários na web, é possível criar impressões digitais, ou hashes de rastreamento, com base em várias características de um dispositivo conectado a um site.
Essas características incluem desempenho de GPU, aplicativos Windows instalados, resolução de tela de um dispositivo, configuração de hardware e até mesmo as fontes instaladas.
É então possível rastrear um dispositivo entre sites usando o mesmo método de impressão digital.
Recentemente, o desenvolvedor da web ‘z0ccc’ compartilhou um novo site de impressão digital chamado ‘Extension Fingerprints’ que pode gerar um hash de rastreamento com base nas extensões do Google Chrome instaladas em um navegador.
Ao criar uma extensão do navegador Chrome, é possível declarar determinados ativos como ‘recursos acessíveis pela Web‘ que as páginas da Web ou outras extensões podem acessar.
Na verdade, z0ccc não descobriu o método para detectar extensões instaladas, mas sim o método de comparação de tempo.
Esses recursos geralmente são arquivos de imagem, que são declarados usando a propriedade ‘web_accessible_resources
‘ no arquivo de manifesto de uma extensão do navegador.
Um exemplo de declaração de recursos acessíveis pela web é mostrado abaixo:
"web_accessible_resources": [
{
"resources": [ "logo.png" ],
"matches": [ "https://www.bleepingcomputer.com/*" ]
}
],
Conforme divulgado anteriormente em 2019, é possível usar recursos acessíveis pela web para verificar as extensões instaladas e gerar uma impressão digital do navegador de um visitante com base na combinação de extensões encontradas.
Para evitar a detecção, z0ccc diz que algumas extensões usam um token secreto necessário para acessar um recurso da web.
No entanto, o pesquisador descobriu um método de ‘comparação de tempo de recursos’ que ainda pode ser usado para detectar se a extensão está instalada.
Na página do projeto no GitHub, z0ccc explicou:
“Recursos de extensões protegidas levarão mais tempo para serem buscados do que recursos de extensões que não estão instaladas. Ao comparar as diferenças de tempo, você pode determinar com precisão se as extensões protegidas estão instalada.”
Para ilustrar esse método de impressão digital, a z0ccc criou um site Extension Fingerprints que verificará no navegador de um visitante a existência de recursos acessíveis pela Web em 1.170 extensões populares disponíveis na Google Chrome Web Store.
Algumas das extensões que o site identificará são uBlock, LastPass, Adobe Acrobat, Honey, Grammarly, Rakuten e ColorZilla.
Com base na combinação de extensões instaladas, o site gerará um hash de rastreamento que pode ser usado para rastrear esse navegador específico, conforme mostrado abaixo.
Algumas extensões populares, como MetaMask, não expõem nenhum recurso, mas o z0ccc ainda pode identificar se elas estão instaladas verificando se “typeof window.ethereum é igual a undefined”.
Enquanto aqueles sem extensões instaladas terão a mesma impressão digital e serão menos úteis para rastreamento, aqueles com muitas extensões terão uma impressão digital menos comum que pode ser usada para rastreá-los na web.
No entanto, adicionar outras características ao modelo de impressão digital pode refinar ainda mais a impressão digital, tornando os hashes únicos por usuário.
“Esta é definitivamente uma opção viável para usuários de impressão digital”, explicou z0ccc em um e-mail para BleepingComputer.
“Especialmente usando o método ‘buscando recursos acessíveis na web’. Se isso for combinado com outros dados do usuário (como agentes do usuário, fusos horários, etc.), os usuários poderão ser facilmente identificados.”
O site Extensions Fingerprints funciona apenas com navegadores Chromium que instalam extensões da Chrome Web Store.
Embora esse método funcione com o Microsoft Edge, ele precisaria ser modificado para usar IDs de extensão do repositório de extensões da Microsoft.
Esse método não funciona com complementos do Mozilla Firefox, pois os IDs de extensão do Firefox são exclusivos para cada instância do navegador.
Embora o z0ccc não esteja coletando nenhum dado sobre as extensões instaladas, seus próprios testes mostraram que o uBlock instalado é a impressão digital de extensão mais comum.
“De longe, o mais popular é não ter extensões instaladas. Como disse anteriormente, eu não coleto dados de extensão específicos, mas em meus próprios testes, parece que ter apenas o ublock instalado é uma impressão digital de extensão comum”, compartilhou z0ccc.
“Ter mais de 3 extensões detectáveis instaladas parece sempre tornar sua impressão digital muito única.”
Abaixo estão as porcentagens de usuários com várias extensões populares instaladas a partir de testes conduzidos pelo BleepingComputer.
- 58,248% – Nenhuma extensão instalada ou habilitada.
- 2,065% – Somente Google Docs Offline, que é a única extensão instalada por padrão.
- 0,528% – uBlock Origin + Google Docs offline
- 0,238% – AdBlock + Google Docs off-line
- 0,141% – Adobe Acrobat + Google Docs off-line
- 0,122% – Google Translate + Google Docs off-line
- 0,019% – Proteção do navegador Malwarebytes
- 0,058% – Grammarly + Google Docs off-line
- 0,058% – LastPass + Google Docs offline
- 0,051% – Querida + Google Docs off-line
- 0,013% – ColorZilla + Google Docs offline
Em nossos testes, a instalação de três a quatro extensões fez com que a porcentagem de usuários usando a mesma extensão chegasse a 0,006%. Obviamente, quanto mais extensões instaladas, menos pessoas terão a mesma combinação instalada.
z0ccc diz que a porcentagem de 0,006% indica que você é o único usuário com essa combinação de extensões, mas isso mudará à medida que mais pessoas visitarem o site.
Extension Fingerprints foi lançado como um projeto React de código aberto no GitHub, permitindo que qualquer pessoa veja como consultar a presença de extensões instaladas.