TIKTAG, um novo ataque que mira o MTE da arquitetura ARM

Conheça o TIKTAG, um novo ataque que mira o MTE da arquitetura ARM. Confira os detalhes dessa nova e perigosa ameaça.

MTE é um recurso adicionado à arquitetura ARM v8.5-A (e posterior), projetado para detectar e prevenir corrupção de memória.

Agora, um novo ataque de execução especulativa chamado “TIKTAG” tem como alvo o Memory Tagging Extension (MTE) da arquitetura ARM para vazar dados com mais de 95% de chance de sucesso, permitindo que hackers contornem o recurso de segurança.

TIKTAG, um novo ataque que mira o MTE da arquitetura ARM

TIKTAG, um novo ataque que mira o MTE da arquitetura ARM
TIKTAG, um novo ataque que mira o MTE da arquitetura ARM

Sim. O TIKTAG é um novo ataque que mira o MTE da arquitetura ARM. Um artigo, co-assinado por uma equipe de pesquisadores coreanos da Samsung, da Universidade Nacional de Seul e do Instituto de Tecnologia da Geórgia, demonstra o ataque contra o Google Chrome e o kernel Linux.

O sistema usa marcação de baixa sobrecarga, 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.

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

Os pesquisadores descobriram que usando dois gadgets (código), 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 um curto espaço de tempo.

TIKTAG, um novo ataque que mira o MTE da arquitetura ARM
TIKTAG, um novo ataque que mira o MTE da arquitetura ARM – Diagrama de vazamento de tags Fonte: arxiv.org

O vazamento dessas tags não expõe diretamente dados confidenciais, como senhas, chaves de criptografia ou informações pessoais.

No entanto, teoricamente, pode permitir que invasores prejudiquem as proteções fornecidas pelo MTE, tornando o sistema de segurança ineficaz contra ataques furtivos de corrupção de memória.

Ataques TIKTAG

TIKTAG-v1 explora a redução da especulação na previsão de ramificação e nos comportamentos de pré-busca de dados da CPU para vazar tags MTE.

TIKTAG, um novo ataque que mira o MTE da arquitetura ARM
TIKTAG, um novo ataque que mira o MTE da arquitetura ARM – Código TIKTAG-v1 Fonte: arxiv.org

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

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

TIKTAG-v2 explora o comportamento de encaminhamento de armazenamento para carga em execução especulativa, uma sequência em que um valor é armazenado em um endereço de memória e imediatamente carregado a partir do mesmo endereço.

Código da v2
TIKTAG, um novo ataque que mira o MTE da arquitetura ARM – Código TIKTAG-v2 Fonte: arxiv.org

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

Assim, ao investigar o estado do cache após a execução especulativa, o resultado da verificação da tag pode ser inferido.

Os pesquisadores demonstraram a eficácia dos gadgets TIKTAG-v2 contra o navegador Google Chrome, particularmente o mecanismo JavaScript V8, abrindo caminho para a exploração de vulnerabilidades de corrupção de memória no processo de renderização.

Cenários de ataque tornados possíveis através do bypass MTE
TIKTAG, um novo ataque que mira o MTE da arquitetura ARM – Cenários de ataque tornados possíveis através do bypass MTE Fonte: arxiv.org

Os investigadores relataram as suas descobertas às entidades afetadas 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 em arxiv.org propõe as seguintes mitigações contra ataques TIKTAG:

  • Modifique o design do hardware para evitar que a execução especulativa modifique os estados do cache com base nos resultados da verificação de tags.
  • Insira barreiras de especulação (por exemplo, instruções sb ou isb) para evitar a execução especulativa de operações críticas de memória.
  • Adicione instruções de preenchimento para estender a janela de execução entre instruções de ramificação e acessos à memória.
  • Aprimore os mecanismos de sandbox para restringir caminhos especulativos de acesso à memória estritamente dentro de regiões de memória seguras.

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

“Como não se espera que as tags de alocação sejam um segredo para o software no espaço de endereço, um mecanismo especulativo que revela o valor correto da tag não é considerado um compromisso dos princípios da arquitetura”, diz o boletim ARM.

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

Além disso, o navegador Chrome atualmente não habilita 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 relatados à equipe de segurança do Android mais tarde, em abril de 2024, e foram reconhecidos como uma falha de hardware qualificada para uma recompensa generosa.

Sobre o Edivaldo Brito

Edivaldo Brito é analista de sistemas, gestor de TI, blogueiro e também um grande fã de sistemas operacionais, banco de dados, software livre, redes, programação, dispositivos móveis e tudo mais que envolve tecnologia.