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
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.
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.
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.
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.
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.