Novo ataque a navegadores executam códigos maliciosos mesmo fechando o navegador

Acadêmicos da Grécia criaram um novo ataque baseado em navegador que pode permitir que hackers executem códigos maliciosos dentro dos navegadores dos usuários, mesmo depois que os usuários saiam do navegador.

De acordo com os pesquisadores, este novo ataque chamado MarioNet, abre as portas para a criação de botnets gigantes a partir dos navegadores dos usuários. Essas botnets podem ser usadas para minerar criptomoedas no navegador (cryptojacking), ataques DDoS, hospedagem / compartilhamento de arquivos maliciosos, quebra de senhas distribuídas, criação de redes proxy, fraude de cliques em publicidade e aumento de estatísticas de tráfego.

O ataque MarioNet é uma atualização para um conceito similar da criação de uma botnet baseado em navegador que foi descrito no trabalho de pesquisa da Puppetnets em 2007.

A diferença entre os dois é que o MarioNet pode sobreviver depois que os usuários fecham a aba do navegador ou se afastam do site que hospeda o código malicioso.

Isso é possível porque os navegadores modernos suportam agora uma nova API chamada Service Workers. Esse mecanismo permite que um site isole as operações que renderizam a interface do usuário de uma página de operações que lidam com tarefas computacionais intensas, de forma que a UI da página da Web não congele ao processar grandes quantidades de dados.

Tecnicamente, os Service Workers é uma atualização para uma API antiga chamada Web Workers. No entanto, ao contrário do Web Workers , um
Service Workers , uma vez registrado e ativado, pode ser executado no plano de fundo da página, sem exigir que o usuário continue navegando pelo site que carregou o Service Workers.

MarioNet (uma grafia inteligente de “marionete”) aproveita os poderes fornecidos pelos Service Workers em navegadores modernos.

A rotina de ataque consiste em registrar um Service Workers quando o usuário acessa um site controlado por um invasor e, em seguida, usa a interface do Service Worker SyncManager para manter o Service Workers ativo após a navegação do usuário.

O ataque é silencioso e não requer nenhum tipo de interação do usuário, porque os navegadores não alertam os usuários nem solicitam permissão antes de registrar um Service Worker. Tudo acontece sob o hood do navegador enquanto o usuário aguarda o carregamento do site, e os usuários não têm ideia de que os sites registraram os Service Workers , já que não há nenhum indicador visível em qualquer navegador da web.

Além disso, um ataque MarioNet também é desarticulado do ponto de ataque. Por exemplo, os invasores podem infectar usuários no site A, mas depois controlam todos os Service Workers do Servidor B.

MarioNet

Isso permite que invasores coloquem códigos maliciosos por um curto período de tempo em sites de alto tráfego, ganhem uma enorme base de usuários, removam o código malicioso, mas continuem a controlar os navegadores infectados de outro servidor central.

Além disso, o ataque MarioNet também pode persistir durante as reinicializações do navegador, abusando da API do Web Push. No entanto, isso exigiria que o invasor obtivesse permissão do usuário dos hosts infectados para acessar essa API.

Nem o ataque MarioNet original nem as operações subsequentes de botnet exigem que invasores explorem as vulnerabilidades do navegador, mas apenas abusem dos recursos existentes de execução de JavaScript e de novas APIs HTML5.

Por exemplo, o uso de bots MarioNet infectados para hospedagem de arquivos requer o uso de APIs de armazenamento de dados já disponíveis em navegadores que permitem que os sites armazenem e recuperem arquivos do computador de um usuário. Isso faz com que detectar qualquer infecção do MarioNet e ataques subsequentes seja quase impossível.

Como os Service Workers foram introduzidos há alguns anos, o ataque MarioNet também funciona em quase todos os navegadores de desktop e móveis. Os únicos que um ataque MarioNet não funciona são IE (desktop), Opera Mini (mobile) e Blackberry (mobile).

Compatibilidade MarioNet

Em seu trabalho de pesquisa, a equipe de pesquisadores também descreve métodos pelos quais o MarioNet poderia evitar ser detectado por extensões de navegador anti-malware e contra medidas anti-mineração, e também apresenta várias mitigações que os fabricantes de navegadores poderiam adotar.

O ataque MarioNet será apresentado hoje na conferência NDSS 2019 em San Diego, EUA. Mais detalhes sobre MarioNet estão disponíveis em um documento de pesquisa intitulado “Master of Web Puppets: Abusando Navegadores da Web para Computação Persistente e Furtiva”, disponível para download em formato PDF aqui .