Pesquisadores acadêmicos desenvolveram um ataque side-channel chamado TEE.Fail, capaz de extrair segredos da Trusted Execution Environment (TEE) do processador — uma área altamente segura presente em tecnologias como Intel SGX, TDX e AMD SEV-SNP.
O método explora uma vulnerabilidade nos barramentos de memória DDR5, configurando um ataque de interposição no barramento de memória.
Surpreendentemente, pode ser executado por entusiastas de informática com custo inferior a US$ 1.000.
As TEEs são ambientes de confidential computing integrados ao processador principal.
Elas garantem a confidencialidade e integridade de dados sensíveis — como chaves criptográficas usadas em autenticação e autorização — ao se isolarem do sistema operacional e criarem regiões protegidas de memória para processamento seguro de código e dados.
Pesquisadores da Georgia Tech e Purdue University apontam que implementações modernas do Intel SGX, Intel TDX e AMD SEV-SNP perderam parte da segurança prometida.
Isso ocorre devido a compromissos arquiteturais em gerações recentes, especialmente a migração das TEEs em CPUs para hardwares voltados a servidores que utilizam memória DDR5.
O DDR5 adotou criptografia determinística AES-XTS para a memória, eliminando proteções essenciais de integridade e prevenção contra replay, priorizando desempenho e escalabilidade.
Essa mudança abriu brechas exploráveis.
Os experimentos confirmaram que essas falhas permitem extrair chaves secretas e falsificar atestações.
O TEE.Fail é o primeiro ataque baseado em DDR5 com ciphertext, expandindo pesquisas anteriores em DDR4, como WireTap e BatteringRAM.
Para executar o ataque, são necessários acesso físico ao dispositivo-alvo e privilégios de root para modificar drivers do kernel, mas não é preciso conhecimento avançado em nível de chip.
No artigo técnico, os pesquisadores detalham que capturaram os sinais de forma consistente ao reduzir a frequência da memória para 3.200 MT/s (1,6 GHz).
Para isso, conectaram um riser RDIMM a uma rede customizada de isolamento de sondas entre um módulo DDR5 e a placa-mãe.
Com o interposer acoplado a um analisador lógico, puderam gravar comandos e dados trafegados pelo DDR5, visualizando os ciphertexts sendo escritos e lidos em locais físicos da DRAM.
Para viabilizar o ataque ao SGX, os pesquisadores forçaram dados localizados em endereços virtuais a trafegar por um único canal de memória, observável pelo interposer.
Usando uma interface física exposta pela Intel para o componente de Memory Address Translation, conseguiram mapear esses endereços.
Como o SGX depende do kernel para alocação de memória física, foi necessário modificar o driver SGX do kernel para aceitar pares de endereços virtuais e físicos como parâmetros, armazenando-os em memória global do kernel.
Os pesquisadores criaram uma enclave SGX que executava várias operações de leitura e gravação em um endereço virtual específico, comprovando que o ciphertext criptografado era uma função determinística do endereço físico e do conteúdo da memória.
Para confirmar a criptografia determinística AES-XTS, orientaram a enclave a realizar uma sequência de gravações e leituras em um endereço fixo, capturando o ciphertext com o analisador lógico após cada etapa.
Graças à criptografia determinística, construíram uma correspondência entre texto cifrado e valor original a partir de valores conhecidos.
Monitorando operações criptográficas específicas, identificaram acessos criptografados a entradas intermediárias de tabelas e recuperaram dígitos do nonce por assinatura.
Com os nonces e assinaturas públicas em mãos, reconstruíram chaves privadas de assinatura, permitindo falsificar relatórios (quotes) do SGX/TDX e se passar por TEEs legítimas.
A mesma técnica foi aplicada para extrair chaves de assinatura do OpenSSL em máquinas virtuais protegidas pelo AMD SEV-SNP.
É importante destacar que o ataque funciona mesmo quando a opção de segurança “Ciphertext Hiding” está ativada no SEV-SNP.
Os pesquisadores demonstraram ataques que permitiram:
- Forjar atestações TDX na Ethereum BuilderNet para acessar dados e chaves de transações confidenciais, viabilizando frontrunning sem detecção;
- Falsificar atestações da Intel e da NVIDIA para executar cargas de trabalho fora das TEEs, simulando legitimidade;
- Extrair chaves privadas ECDH diretamente de enclaves, comprometendo a chave mestre da rede e quebrando completamente a confidencialidade.
Com o TEE.Fail, foi possível controlar a execução da TEE e monitorar endereços virtuais específicos.
Também testaram o ataque em um servidor Xeon, obtendo a Provisioning Certificate Key (PCK), usada para validar a identidade do dispositivo.
Apesar da sofisticação, o requisito de acesso físico limita a aplicabilidade do ataque no mundo real.
Seu nível de complexidade torna-o pouco prático para usuários comuns.
Os achados foram reportados à Intel em abril, à AMD em agosto e à NVIDIA em junho.
Todos os fabricantes reconheceram as vulnerabilidades e afirmaram estar trabalhando em mitigações e ajustes para o modelo de ameaças do confidential computing, prometendo divulgar comunicados oficiais após a publicação do artigo do TEE.Fail.
Publicidade
Tenha acesso aos melhores hackers éticos do mercado através de um serviço personalizado, especializado e adaptado para o seu negócio. Qualidade, confiança e especialidade em segurança ofensiva de quem já protegeu centenas de empresas. Saiba mais...