No dia 20 de outubro deste ano, os meios de comunicação informaram que o Nano Adblocker e o Nano Defender, duas extensões de bloqueio de anúncios em navegadores como Google Chrome ou Firefox e que tinham cerca de 300.000 usuários ativos, foram removidas do Chrome após a descoberta de que seu código havia sido modificado no início de mês para ser usado como spyware e coletar dados dos usuários. Neste post, analisamos as extensões comprometidas para entender como funcionavam e quais as diferenças com as versões originais.

Para contextualizar, no dia 03 de outubro, o desenvolvedor das extensões web Nano Adblocker e Nano Defender, ambas criadas a partir da extensão de código aberto uBlock Origin, anunciou via GitHub que as elas haviam sido vendidas para um grupo anônimo de desenvolvedores. Isso gerou muitas dúvidas entre os usuários: os novos desenvolvedores não forneceram detalhes sobre quem eram, a autoria do projeto não foi modificada e o repositório onde o código estava hospedado não foi renovado. No entanto, as extensões foram atualizadas pelos novos desenvolvedores.

Depois de analisar a atualização, o desenvolvedor do uBlock Origin, Raymond Hill, descobriu em meados de outubro que o código foi modificado para agir como um Spyware. Entre os comportamentos suspeitos relatados por usuários, vários afirmaram que suas contas do Instagram registraram atividades que eles alegaram não ter realizado. De acordo com o serviço VirusTotal, apenas a solução de segurança da ESET detecta a extensão como maliciosa.

Imagem 1. Resultados da análise do VirusTotal.

A seguir, analisamos os recursos adicionados na atualização problemática. O mesmo foi feito com base nas diferenças entre o código aberto publicado pelo desenvolvedor original e o arquivo da extensão já desativada.

Análise do comportamento malicioso das extensões

Inicialmente, a extensão se conecta a um servidor com o qual interage um pouco depois: def.dev-nano.com. Ao verificar o histórico dos proprietários do domínio através do site Whois, podemos ver que ele foi registrado de uma forma que tenta evitar esse tipo de rastreamento.

A extensão maliciosa, que tem como objetivo roubar informações, realiza o monitoramento constante para saber se o console do desenvolvedor foi aberto pelo usuário. Caso a obtenção de informações realmente ocorra, um alerta denominado report é enviado ao servidor conectado anteriormente. No entanto, se ocorrer a detenção de qualquer análise feita pelo usuário, a extensão pode mudar de comportamento e esconder possíveis ações maliciosas.

Imagem 2. Código para identificar o console do desenvolvedor aberto.

Em seguida, verificamos que a extensão instalada no dispositivo do usuário recebe em um objeto determinados campos especificados (que podem ser a ID da solicitação produzida pelo navegador, a URL visitada, o horário, entre outros) do servidor controlado pelos desenvolvedores. Esses campos são usados como condições para comparar com as informações obtidas no estado atual do navegador e, se coincidirem, são enviadas de volta ao servidor.

Por exemplo, suponhamos que os operadores queiram coletar informações sigilosas sobre a atividade realizada pelo usuário em um determinado banco online, o conteúdo do objeto recebido seria {url: bancoexemplo\.com}. A extensão irá comparar a expressão regular recebida com a URL atual e, se o usuário estiver em um subdomínio do bancoexemplo.com, enviará as informações coletadas: endereços IP, tempo gasto em cada página web, URLs visitadas, cookies de login, entre outras. No entanto, como a extensão é quase totalmente controlada de forma remota, suas intenções finais são desconhecidas e, além disso, conta com alguns métodos simples de ofuscação na hora de enviá-la.

Com relação às consequências desse comportamento por parte da extensão, um número considerável de usuários destacou ter descoberto ações no Instagram, em particular likes e follows, que não tinham sido realizadas por eles. Isso aparentemente indica que, por meio de um componente Adware adaptado ao ambiente da rede social, a extensão adicionou um esquema de monetização sem o consentimento dos usuários. Por outro lado, os usuários também relataram tentativas de acesso as suas contas do Instagram, Microsoft e Twitch simultaneamente de diferentes partes do mundo, embora a ligação desse fato com a extensão maliciosa ainda não tenha sido confirmada.

Como medida preventiva, os desenvolvedores publicaram uma estranha política de privacidade na qual fica explícito o uso dos dados que o usuário contribui direta ou indiretamente para a extensão, tendo inclusive uma seção especial para as redes sociais. Isso tornou a remoção ainda mais fácil pela equipe do Google, já que as lojas virtuais proíbem esse tipo de coleta de dados que, neste caso, ocorreu algum tempo após o anúncio do desenvolvedor original das extensões.

Essa atualização ocorreu apenas em navegadores baseados no Chromium (Chromium, Chrome, Opera, Vivaldi e Brave) com exceção do Edge, cuja publicação não foi atualizada. Por outro lado, a versão disponível para o navegador Firefox não foi afetada já que é mantida por outro desenvolvedor, que se distanciou do projeto original e declarou que ambas as extensões eram independentes de seus novos proprietários.

Imagem 3. Mensagem de prevenção ao tentar a instalação por meio do arquivo .crx.

Além dessas extensões, podemos destacar o caso do User-Agent switcher, uma extensão que também foi retirada das lojas virtuais em setembro e que, como foi destacado pelo site de notícias ArsTechnica, as suas ações dão a entender que foram produzidas pelo mesmo grupo de programadores: a extensão foi modificada para coletar cookies de login de redes sociais como Facebook e Instagram, enviá-los para um servidor e realizar ações sem a interação do usuário.

Proteja-se!

Caso você seja um dos usuários afetados por qualquer uma dessas extensões, o ideal é removê-las, desconectando-se das contas das redes sociais mencionadas e monitorar qualquer atividade suspeita nelas. Além disso, embora não haja nenhuma indicação de que dados mais confidenciais tenham sido comprometidos, recomendamos que as senhas dos sites afetados sejam alteradas e, como sempre sugerimos, que a autenticação de dois fatores seja ativada nos sistemas em que são utilizadas informações mais confidenciais.

A longo prazo, lembrando que já existem três extensões afetadas com a mesma modalidade, sugerimos auditar todas as alterações perceptíveis ​​nas extensões do navegador e remover, de vez em quando, aquelas que não são utilizadas, considerando que elas podem ter acesso a grande parte das informações que compartilhamos na web.