Novo ataque ARM ‘TIKTAG’ impacta sistemas Google Chrome e Linux
Um novo ataque de execução especulativa chamado “TIKTAG” tem como alvo o Memory Tagging Extension (MTE) da ARM para vazar dados com mais de 95% de chance de sucesso, permitindo que hackers contornem o recurso de segurança.

O artigo, coassinado 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 do Linux.
MTE é um recurso adicionado à arquitetura ARM v8.5-A (e posterior), projetado para detectar e prevenir corrupção de memória.
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 tem 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.

Fonte: arxiv.org
O vazamento dessas tags não expõe diretamente dados sensíveis, como senhas, chaves de criptografia ou informações pessoais. No entanto, pode teoricamente permitir que invasores enfraqueçam 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.

Fonte: arxiv.org
Os pesquisadores descobriram que esse gadget é eficaz em ataques contra o kernel do Linux, principalmente funções que envolvem acessos especulativos à memória, embora seja necessária alguma manipulação de 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.

Fonte: arxiv.org
Se as tags corresponderem, o valor será encaminhado e o carregamento será bem-sucedido, influenciando o estado do cache, enquanto no caso de uma incompatibilidade, o encaminhamento será bloqueado e o estado do cache permanecerá 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.

Fonte: arxiv.org
Resposta e mitigações da indústria
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 tem a intenção de garantir a confidencialidade dos dados de memória e das tags MTE.
Além disso, o navegador Chrome não habilita atualmente defesas baseadas em MTE por padrão, o que o torna uma prioridade menor 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 que qualificava para uma recompensa.