Uma nova pesquisa de segurança "demonstra os poderosos recursos que as modernas APIs de navegador oferecem aos invasores, apresentando o MarioNet: uma estrutura que permite que uma entidade maliciosa remota controle o navegador de um visitante e abuse de seus recursos por computação indesejada ou operações prejudiciais, como mineração de criptomoeda, quebra de senha, e DDoS”.
Em outras palavras, APIs do navegador podem ser exploradas para controlar o navegador de um visitante do site. O navegador pode ser adicionado a uma botnet, e posteriormente abusado em vários cenários maliciosos.
O que é o MarioNet?
De acordo com o relatório, o chamado MarioNet depende apenas de APIs HTML5 já disponíveis, sem exigir a instalação de nenhum software adicional. O MarioNet é diferente dos botnets anteriores baseados em navegador em sua persistência e furtividade, o que permite que atividades maliciosas continuem em segundo plano no navegador, mesmo depois de fechá-lo.
Para provar este conceito, os pesquisadores apresentaram o design, implementação, e avaliação de seu sistema de protótipo, que é compatível com todos os principais navegadores.
MarioNet é feito de um componente no navegador que está embutido em um módulo de trabalhador de serviço, e um sistema de comando e controle remoto. Deve-se levar em conta que MarioNet não precisa que o usuário instale nenhum software, pois utiliza JavaScript e depende de APIs HTML5 que são implantadas por quase qualquer desktop ou navegador móvel. O design potencialmente malicioso usa a API Service Workers para registrar e ativar service workers em execução no plano de fundo de uma página da web.
Quando o usuário sai de um site, o service worker desse site é normalmente pausado pelo navegador; ele é então reiniciado e reativado quando o domínio pai é visitado novamente. Contudo, é possível para o editor de um site manter seu trabalhador de serviço vivo implementando a sincronização periódica.
Também é importante observar que o registro de um service worker não está visível ou disponível para o usuário – o site não requer a permissão do usuário para registrar e manter um service worker. além do que, além do mais, da mesma forma que os web workers, os prestadores de serviço não podem acessar o DOM diretamente. Em vez de, eles se comunicam com as páginas da web-mãe respondendo a mensagens enviadas por meio do postar mensagem interface, o relatório destaca.
Em resumo, o exploit MarioNet é difícil de detectar por usuários e extensões de monitoramento de segurança, tornando o ataque altamente potente e perigoso. As extensões do navegador não conseguem monitorar o tráfego de saída dos service workers. Quanto aos usuários, é altamente improvável que o usuário comum perceba que algo está errado (como o dispositivo usando mais recursos). Finalmente, o conceito MarioNet permite que os invasores monitorem e controlem o processo. O controle contínuo sobre a página maliciosa que registra o service worker também não é necessário. Assim que o registro for concluído, o trabalhador estabelece um canal de comunicação com um comando separado e servidor de controle.
Há alguma atenuação contra MarioNet?
O relatório também apresenta “várias estratégias de defesa” e discute “as compensações correspondentes que eles trazem”. Uma possível mitigação sugere a restrição ou desativação de service workers, mas não é a melhor solução:
Forçando restrições, os prestadores de serviço não serão capazes de fornecer o processamento em segundo plano acima, assim, limitando significativamente as capacidades dos aplicativos da web contemporâneos, resultando em uma degradação severa 11 da experiência do usuário. Para mitigar isso, uma solução melhor seria habilitar os prestadores de serviço seletivamente apenas para alguns sites "confiáveis", possivelmente por meio de uma extensão do navegador que impede o registro incondicional de service workers.
As outras soluções incluem análise comportamental e detecção de anomalias, exigir a permissão do usuário para o registro e ativação de um service worker, e aplicando táticas de lista branca / lista anterior para “restringir o navegador, com políticas refinadas, de buscar e implantar service workers ”.