Ataque SpookJS permite ignorar o isolamento de sites no Google Chrome

Site Isolation in Google Chrome

Um grupo de cientistas de universidades da Austrália, Israel e os Estados Unidos apresentaram um ataque de canal lateral que permite recuperar dados do Google Chrome e de navegadores baseados em Chromium protegidos pela função Site Isolation.

O ataque é apelidado Assustador.js (ou SpookJS), que é uma referência direta ao Colapso e Espectro vulnerabilidades do processador descobertas em 2018. Embora ambos os ataques tenham sido demonstrados apenas como um conceito naquela época, eles provaram que existem muitas falhas no design dos processadores modernos.

Como resultado, Intel e AMD se comprometeram a mudar os designs futuros de suas CPUs, tornando-os mais seguros, e os fornecedores de software aumentaram a proteção de seus aplicativos para dificultar ou mesmo impedir a exploração de tais bugs.

Google foi uma das primeiras empresas a implementar defesas, adicionando um novo recurso ao Chrome chamado Isolamento de locais. Este recurso divide o código JavaScript para cada domínio, evitando ataques de JavaScript do tipo Spectre e roubando informações de outras guias abertas do usuário.

No entanto, cientistas relataram agora que a versão atual do Site Isolation é ineficaz. Embora o isolamento do site separe os domínios uns dos outros (por exemplo, exemplo.com de attacker.com), subdomínios não estão isolados (por exemplo, atacante.example.com de login.example.com). Spook.js explora essa mesma falha no design do Site Isolation. Além disso, os pesquisadores acreditam que o Google está ciente do problema, mas não posso fazer nada sobre isso, já que a separação do código JavaScript no nível do subdomínio danificará 13.4% de todos os sites na Internet.

Como resultado, os especialistas conseguiram criar uma ferramenta JavaScript Spook.js que permite ataques de canal lateral como Spectre no Chrome e navegadores baseados em Chromium rodando em Intel, Processadores AMD e Apple M1. A ferramenta extrai dados dos mesmos subdomínios onde está localizado o site atacado, aquilo é, só funcionará se o invasor conseguir injetar Spook.js no recurso de destino.

Como foi dito, os pesquisadores destacaram especialmente que muitos sites permitem que os usuários criem seus próprios subdomínios e executem código JavaScript, como o Tumblr, GitHub, Bitbucket, e muitos outros. Além disso, sites podem simplesmente ser hackeados especificamente para realizar um ataque.

Em seu relatório, especialistas demonstram o compromisso bem-sucedido do Tumblr e do Bitbucket, mas também admita que nem todos os sites que suportam a criação de subdomínios possuem dados que valem a pena roubar. Por exemplo, O Google é interessante nesse sentido: nesse caso, cientistas criaram um site no Google Sites, onde eles carregaram Spook.js para criar uma página maliciosa. Como resultado, eles conseguiram recuperar imagens enviadas para a conta pessoal do Google Workspace ou do Google Photo da vítima.

Os pesquisadores também empacotaram o Spook.js em uma extensão do Chrome que carregaram no navegador. Como todo o código foi executado em um processo, Spook.js foi capaz de extrair dados de outras extensões, que durante o experimento eram senhas que foram preenchidas automaticamente pela extensão LastPass no navegador da vítima. De todos os ataques, especialistas consideraram este o mais sério, já que os usuários, como uma regra, instale um grande número de extensões, muitos dos quais têm acesso a todos os dados, e como resultado, Spook.js “vê” tudo isso.

Os especialistas já notificaram todas as empresas cujos produtos testaram (incluindo Intel, AMD, Google, Tumblr, LastPass e Atlassian) sobre o problema. O Google levou a sério as descobertas dos pesquisadores e anunciado no verão passado que o Site Isolation agora funcionará no nível da extensão, separando o código JavaScript um do outro.

Infelizmente, especialistas apontam que isso não ajuda na defesa contra outras variações do ataque Spook.js.

Os desenvolvedores da Web devem separar imediatamente o JavaScript não confiável fornecido pelo usuário de todos os outros conteúdos do site, colocando todo o JavaScript fornecido pelo usuário em um domínio com um eTLD diferente + 1. Por isso, o forte isolamento não permitirá que o código fornecido por um invasor seja combinado em um processo com dados potencialmente confidenciais, tornando-o inacessível até mesmo para Spook.js, já que não é capaz de sair do processo.os autores do Spook.js dizem.

Deixe-me lembrá-lo de que também relatei que Novas vulnerabilidades ajudam a contornar a proteção do Spectre em sistemas Linux.

Por Vladimir Krasnogolovy

Vladimir é um especialista técnico que adora dar conselhos e dicas qualificadas sobre os produtos GridinSoft. Ele está disponível 24 horas por dia, 7 dias por semana para ajudá-lo em qualquer dúvida relacionada à segurança na internet.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *