← Últimos artigos
💻 computer science

State Authenticity under Multiple Bus Masters: A Non-Secure DMA Gap and Mitigation for TrustZone-M Proofs of Executio

Este artigo revela que as provas de execução do TrustZone-M são vulneráveis à manipulação de estado via controladores DMA não seguros, uma vez que as suas garantias de segurança dependem exclusivamente do isolamento da CPU, e propõe uma mitigação leve utilizando segurança de DMA por canal para garantir a autenticidade do estado contra todos os mestres de barramento.

Autores originais: Arash Razban

Publicado 2026-07-30
📖 7 min de leitura🧠 Leitura aprofundada

Autores originais: Arash Razban

Artigo original sob licença CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita nem endossada pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo

Imagine um mundo onde pequenos e baratos computadores estão espalhados por toda parte — dentro do seu termostato inteligente, do seu rastreador de fitness e até nos sensores de um chão de fábrica. Esses pequenos dispositivos devem ser repórteres honestos, enviando dados como leituras de temperatura ou contagens de movimento. Mas e se um hacker assumisse o controle de um desses dispositivos e começasse a mentir, inserindo dados falsos em um gigantesco banco de dados na nuvem? Para impedir isso, usamos uma "prova de execução" digital. Pense nisso como um tabelião para computadores: o dispositivo assina um recibo dizendo: "Eu prometo que executei este problema matemático específico exatamente como solicitado, sem que ninguém mexesse nos números".

Para que isso funcione, o dispositivo precisa de duas coisas: uma maneira segura de provar que executou o código correto e uma maneira de provar que os dados que utilizou (o "estado") não foram adulterados. O artigo que estamos discutindo analisa uma versão de alta tecnologia deste sistema de prova chamado TrustZone-M, que é integrado em muitos microchips modernos. É como um cofre superseguro dentro do chip que separa tarefas "confiáveis" de tarefas "não confiáveis". A grande questão é: se um hacker invadir o lado "não confiável", ele consegue mudar secretamente os dados enquanto o computador está fazendo sua conta, enganando o sistema para que assine um recibo falso? Este artigo investiga se as regras atuais do cofre são fortes o suficiente para deter um ajudante sorrateiro e invisível que pode escrever dados sem que o computador principal perceba.


A Caneta Invisível: Como um Hacker "Fantasma" Enganou um Chip Seguro

No jogo de alto risco da segurança embarcada, pesquisadores propuseram recentemente um esquema inteligente chamado SLAPP (Stateful Proofs of Execution). Imagine o SLAPP como um bibliotecário muito rigoroso que quer verificar se um aluno (o dispositivo) resolveu um problema de matemática corretamente. O bibliotecário verifica duas coisas: primeiro, se o aluno usou o livro didático correto (o código) e, segundo, se o aluno não trapaceou mudando os números em seu caderno (o estado) enquanto resolvia o problema.

A lógica do bibliotecário era simples e parecia à prova de falhas: "Se o aluno tentar mudar os números em seu caderno, ele deve primeiro abrir o livro didático para encontrar as instruções de como fazer isso. Mas, como temos um scanner mágico que observa o livro, qualquer alteração nas instruções seria detectada imediatamente. Portanto, se o livro parecer perfeito, os números no caderno também devem ser honestos".

Este artigo, no entanto, levanta a cortina para revelar uma falha nessa lógica. Os pesquisadores descobriram que o "aluno" não é o único que pode escrever no caderno. Existe um segundo escritor invisível: um controlador DMA (Direct Memory Access).

O Escritor "Fantasma"

Para entender o DMA, imagine o processador principal do computador (a CPU) como um chef de cozinha ocupado picando vegetais. O chef é o único autorizado a tocar a tábua de cortar (a memória) na cozinha. O chef é observado por uma câmera de segurança (o isolamento TrustZone-M) que garante que ninguém mais toque na tábua.

Mas espere! Há um braço robótico (o controlador DMA) sentado na cozinha. Este robesto é programado para mover ingredientes da geladeira para a tábua de cortar automaticamente. A câmera de segurança está observando apenas as mãos do chef. Ela não sabe que o robô existe. O robô pode esticar o braço, pegar um saco de farinha e despejá-lo na tábua de cortar enquanto o chef está ocupado picando. O chef nunca vê o robô, e a câmera de segurança nunca pisca porque as mãos do chef não se moveram.

No mundo do esquema de segurança SLAPP, o "robô" é o controlador DMA. Os pesquisadores descobriram que o sistema de segurança estava observando apenas o chef (a CPU). Ele assumia que, se o livro de receitas (memória do programa) não fosse alterado, ninguém poderia alterar os ingredientes (o estado). Mas o robô podia alterar os ingredientes sem tocar no livro de receitas.

O Ataque: Um Envenenamento Silencioso

Os pesquisadores montaram um teste em um chip real (um microcontrolador STM32L5) para ver se esse escritor "fantasma" poderia realmente quebrar o sistema. Eles criaram um cenário onde um hacker, que já havia assumido o controle da parte "não confiável" do chip, usou o robô DMA para trocar um número legítimo por um número falso bem no meio do cálculo.

Veja como o truque aconteceu:

  1. A Verificação: A parte segura do chip verificou o caderno e viu que os números estavam limpos. Deu um sinal de positivo.
  2. A Troca: Imediatamente após a verificação, mas antes que o resultado final fosse assinado, o robô DMA surgiu e substituiu o número por um valor "envenenado".
  3. A Assinatura: O chip terminou a conta usando o número envenenado e assinou o recibo.
  4. O Resultado: A câmera de segurança olhou para o livro de receitas, viu que ele estava intacto e aceitou o recibo como válido.

O resultado foi uma "prova de execução" que era matematicamente válida, mas factualmente mentirosa. O sistema certificou um resultado baseado em dados que haviam sido adulterados, tudo isso enquanto o computador principal pensava que estava tudo bem.

Por Que as Defesas Usuais Falharam

Os pesquisadores então perguntaram: "Por que a segurança integrada do chip não impediu isso?". Eles testaram três defesas padrão, e cada uma falhou por um motivo diferente e curioso:

  1. A Tentativa de "Trancar o Robô": Eles tentaram dizer ao sistema de segurança para trancar o braço do robô. Mas o sistema disse: "Eu não controlo robôs; eu só controlo o chef". O portão de segurança simplesmente não se aplicava ao robô.
  2. A Tentativa de "Trancar a Mesa": Eles tentaram trancar a tábua de cortar para que ninguém pudesse tocá-la. Mas isso era rigoroso demais! O chef também precisava escrever na tábua. Se eles trancassem a tábua, o chef não conseguiria fazer seu trabalho e todo o sistema pararia de funcionar.
  3. A Tentativa do "Alarme": Eles tentaram configurar um alarme que tocaria se o robô tocasse na tábua. Mas o alarme só toca se alguém quebrar uma regra. Como o robô tinha permissão para tocar na tábua (era apenas o tipo errado de toque para essa regra de segurança específica), o alarme permaneceu silencioso.

A Solução: Domando o Robô

A solução não foi construir um muro maior ou um alarme mais alto. Foi dar ao robô seu próprio crachá de segurança. Os pesquisadores descobriram que o robô (o controlador DMA) na verdade tinha uma chave oculta dentro dele que poderia ser acionada pelo chef seguro.

Ao acionar essa chave, o mundo seguro poderia dizer: "Este braço robótico específico está agora sob meu controle. Se o hacker tentar dizer a ele para se mover, ele irá ignorá-lo e levantar uma bandeira vermelha".

Este ajuste foi surpreendentemente barato e fácil. Não atrasou o chef nem exigiu novo hardware. Os pesquisadores testaram isso protegendo todos os braços robóticos no chip. Quando tentaram o ataque novamente, o robô recusou-se a se mover, o alarme disparou e o recibo falso foi rejeitado.

A Grande Lição

A lição mais importante deste artigo não é apenas sobre um chip específico ou um truque de hacker específico. É uma lição sobre como pensamos sobre segurança.

Por muito tempo, os designers de segurança assumiram que, se você protegesse o cérebro principal (a CPU), você protegeria tudo. Este artigo prova que, em chips modernos, existem outras "mãos" alcançando a memória que o cérebro não vê. Se você quer confiar nos dados de um computador, você não pode apenas observar o cérebro; você tem que observar todas as mãos que podem tocar os dados.

Os pesquisadores mostraram que o sistema SLAPP, conforme publicado, tinha um buraco em sua lógica porque esqueceu dos "braços robóticos". Eles não apenas encontraram o buraco; eles mostraram exatamente como corrigi-lo com um ajuste simples e leve. É um lembrete de que, no mundo dos pequenos computadores, os hackers mais perigosos podem não ser aqueles digitando em um teclado, mas os robôs invisíveis trabalhando nos bastidores, esperando por alguém que esqueça de checar sua identificação.

Afogado em artigos na sua área?

Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.

Experimentar Digest →