Selecionar a arquitetura de memória correta para a segurança do firmware

June 2, 2026
últimas notícias da empresa sobre Selecionar a arquitetura de memória correta para a segurança do firmware

Apesar do número crescente de ataques de rede a dispositivos IoT, a segurança do firmware é frequentemente colocada em posição secundária. À medida que os invasores penetram na pilha do sistema e têm como alvo o processo de inicialização e a configuração de hardware subjacente, a escolha da arquitetura de memória tornou-se uma decisão importante no estabelecimento de uma cadeia de confiança verificável.

Portanto, garantir a segurança do firmware exige que cada componente passe por verificação de criptografia antes da execução. Este caminho começa com um carregador de boot imutável, responsável por carregar e verificar o firmware principal. No entanto, a tecnologia de memória utilizada em cada etapa pode resultar na vulnerabilidade do firmware a modificações não autorizadas.

Memória flash interna e externa
A localização física da memória não volátil usada para armazenar firmware é um dos fatores mais críticos nos modelos de ameaças a dispositivos. Os engenheiros de firmware precisam escolher entre flash incorporado no chip (eFlash) e módulos flash externos conectados por meio de interfaces seriais, como SPI ou QSPI.

A memória flash incorporada geralmente é integrada diretamente em microcontroladores ou chips SoC. Essa arquitetura fornece o mais alto nível de segurança física, pois não há barramentos externos disponíveis para manipulação pelos invasores. Até mesmo o acesso à memória flash interna é controlado por registros dedicados e bits de bloqueio.

Além disso, a memória flash incorporada suporta proteção permanente contra leitura. Ao causar curto-circuito em fusíveis de segurança especializados, os desenvolvedores podem desativar as interfaces de depuração JTAG ou SWD para evitar que hackers modifiquem imagens de firmware. No entanto, à medida que os SoCs avançam para nós mais pequenos, esta tecnologia enfrenta desafios significativos de escalabilidade.

Por outro lado, a memória flash externa é colocada fora do processador principal e se comunica através de uma interface serial de alta velocidade. Essa escolha arquitetônica facilita o dimensionamento da capacidade de armazenamento, mas também expande a superfície de ataque do sistema. Quaisquer dados transmitidos entre o processador e a memória flash externa são inerentemente vulneráveis ​​a ameaças como espionagem, ataques man in the middle e adulteração física.

Para lidar com esses riscos, os engenheiros de firmware devem implementar medidas sólidas de proteção de hardware e software. Muitos dispositivos de memória flash NOR externos são equipados com um pino físico de proteção contra gravação. Quando o pino é colocado em uma tensão específica, a lógica interna do chip impedirá que qualquer comando de apagamento ou gravação seja executado.


Figura 1: A memória flash NOR serial segura W77Q32JWSSIR TR da Winbond Electronics possui recursos complexos de criptografia de canal de comunicação. (Fonte da imagem: Winbond Electronics)

No entanto, se os dados puderem ser lidos, simplesmente bloquear a memória flash não será suficiente. Durante a execução, os invasores ainda podem acessar o endereço e o barramento de dados. Essa vulnerabilidade levou ao desenvolvimento de dispositivos flash seguros especializados, incluindo mecanismos de raiz de confiança baseados em hardware, canais de comunicação criptografados e contadores monotônicos para evitar ataques de reversão.

No entanto, se for escolhida a arquitetura de armazenamento errada, o dispositivo deixará defeitos fundamentais que não podem ser completamente corrigidos por patches de software. Por exemplo, projetos que armazenam firmware em EEPROM externa sem criptografia ou verificação são sempre vulneráveis ​​a invasores de hardware. Pelo contrário, escolher uma memória com restrições excessivas pode afetar a sua funcionalidade.

Portanto, os engenheiros devem compreender as melhores práticas e técnicas de design para maximizar a segurança do firmware por meio da arquitetura de memória.

Melhores práticas para design seguro de armazenamento de firmware
Ao projetar um caminho seguro de armazenamento de firmware desde a inicialização até o tempo de execução, os engenheiros de firmware devem seguir os seguintes princípios:

1. Raiz de confiança baseada em hardware

A execução deve sempre começar em áreas de memória imutáveis. Por exemplo, a ROM de inicialização ou o setor flash permanentemente seguro deve conter código para verificar todos os outros firmwares. Isso garantirá que os invasores não possam ignorar a verificação adulterando a senha inicial.

2. Use assinaturas criptografadas

Configure o carregador de inicialização seguro para executar apenas imagens de firmware assinadas com chaves privadas confiáveis. Dessa forma, mesmo que os invasores consigam acessar a memória e modificar bits, eles podem impedir códigos não autorizados. Se for necessária confidencialidade, o firmware armazenado pode ser criptografado.

3. Utilize recursos de segurança de hardware

Se a arquitetura do sistema usar armazenamento externo, os engenheiros deverão escolher dispositivos que suportem segurança de hardware, como proteção por senha integrada ou criptografia simples. Embora esses dispositivos possam não ser tão robustos quanto os componentes de segurança completos, eles acrescentam outra camada de proteção.


Figura 2: Macronix suporta memória flash NOR serial MX25L3233FM2I-08Q de 32 Mb com interface periférica serial. (Fonte da imagem: Macronix)

4. Isole firmware e dados

Organize a área de memória e separe o código mais sensível. No MCU, coloque instruções de rotina críticas em uma área de memória segura. Até mesmo o firmware, se suportado pelo hardware, pode marcar determinados bancos de memória flash como somente executáveis ​​ou somente leitura.

5. Plano de atualização de firmware de segurança

Certifique-se de que o próprio processo de atualização seja validado (por exemplo, exigindo que o pacote de atualização seja assinado). Caso o projeto utilize armazenamento externo para atualizações temporárias, deverão ser adotadas as mesmas medidas de segurança do armazenamento principal do firmware.