Novo ataque mira Google e Linux
17 de Junho de 2024

Um novo ataque de execução especulativa denominado "TIKTAG" tem como alvo a Memory Tagging Extension (MTE) da ARM, conseguindo vazar dados com mais de 95% de chance de sucesso, permitindo que hackers contornem essa funcionalidade de segurança.

O artigo, assinado conjuntamente por uma equipe de pesquisadores coreanos da Samsung, Universidade Nacional de Seul e Instituto de Tecnologia da Geórgia, demonstra o ataque contra o Google Chrome e o kernel do Linux.

A MTE é uma funcionalidade adicionada na arquitetura ARM v8.5-A (e posteriores), projetada para detectar e prevenir corrupção de memória.

O sistema utiliza tags de baixo custo associadas, atribuindo tags de 4 bits a blocos de memória de 16 bytes, para proteger contra ataques de corrupção de memória, garantindo que a tag no ponteiro corresponda à região de memória acessada.

A MTE possui três modos operacionais: síncrono, assíncrono e assimétrico, balanceando segurança e desempenho.

Os pesquisadores descobriram que, utilizando dois gadgets (códigos), nomeadamente TIKTAG-v1 e TIKTAG-v2, eles podem explorar a execução especulativa para vazar tags de memória MTE com uma alta taxa de sucesso e em pouco tempo.

Vazar essas tags não expõe diretamente dados sensíveis como senhas, chaves de criptografia ou informações pessoais.

No entanto, teoricamente permite aos atacantes minar as proteções fornecidas pela MTE, tornando o sistema de segurança ineficaz contra ataques sigilosos de corrupção de memória.

O TIKTAG-v1 explora a contração especulativa na predição de ramificações e comportamentos de pré-busca de dados da CPU para vazar tags MTE.

Os pesquisadores descobriram que esse gadget é eficaz em ataques contra o kernel do Linux, principalmente funções que envolvem acessos especulativos à memória, embora alguma manipulação de ponteiros do kernel seja necessária.

O atacante usa chamadas de sistema para invocar o caminho de execução especulativa e mede os estados de cache para inferir tags de memória.

O TIKTAG-v2 explora o comportamento de forwarding de store-to-load na execução especulativa, uma sequência onde um valor é armazenado em um endereço de memória e imediatamente carregado do mesmo endereço.

Se as tags coincidirem, o valor é encaminhado e o carregamento é bem-sucedido, influenciando o estado do cache, enquanto no caso de uma incompatibilidade, o forwarding é bloqueado e o estado do cache permanece inalterado.

Assim, sondando o estado do cache após a execução especulativa, pode-se inferir o resultado da verificação da tag.

Os pesquisadores demonstraram a eficácia dos gadgets TIKTAG-v2 contra o navegador Google Chrome, especialmente o motor JavaScript V8, abrindo caminho para explorar vulnerabilidades de corrupção de memória no processo do renderizador.

Os pesquisadores reportaram suas descobertas às entidades impactadas entre novembro e dezembro de 2023 e receberam uma resposta geralmente positiva, embora nenhuma correção imediata tenha sido implementada.

O artigo técnico publicado no arxiv.org propõe as seguintes medidas mitigadoras contra ataques TIKTAG:

-Modificar o design do hardware para impedir que a execução especulativa modifique os estados de cache com base nos resultados de verificação de tags.

-Inserir barreiras especulativas (por exemplo, instruções sb ou isb) para impedir a execução especulativa de operações críticas de memória.

-Adicionar instruções de preenchimento para estender a janela de execução entre instruções de ramificação e acessos à memória.

-Aprimorar mecanismos de sandbox para restringir rigorosamente os caminhos de acesso à memória especulativa apenas dentro de regiões de memória seguras.


Embora a ARM tenha reconhecido a gravidade da situação e publicado um boletim alguns meses atrás, ela não considera isso um comprometimento da funcionalidade.

"Como as Allocation Tags não são esperadas para ser um segredo para o software no espaço de endereçamento, um mecanismo especulativo que revela o valor correto da tag não é considerado um comprometimento dos princípios da arquitetura," lê-se no boletim da ARM.

A equipe de segurança do Chrome reconheceu os problemas, mas decidiu não corrigir as vulnerabilidades porque o sandbox do V8 não tem como garantir a confidencialidade dos dados de memória e das tags MTE.

Além disso, o navegador Chrome atualmente não habilita as defesas baseadas em MTE por padrão, tornando-o uma prioridade mais baixa para correções imediatas.

Os oráculos MTE no dispositivo Pixel 8 foram reportados à equipe de segurança do Android mais tarde, em abril de 2024, e foram reconhecidos como uma falha de hardware qualificando para uma recompensa de bounty.

Publicidade

Já viu o Cyberpunk Guide?

Imagine voltar ao tempo dos e-zines e poder desfrutar de uma boa revista contendo as últimas novidades, mas na pegada hacking old school.
Acesse gratuitamente o Cyberpunk Guide e fique por dentro dos mais modernos dispositivos usados pelos hackers. Saiba mais...