A manipulação do registro do controlador DRAM quebra o isolamento da memória da CPU

O pesquisador de segurança Christopher Domas revelou o skitter-creek-bath-salts, um projeto de segurança de hardware de código aberto que desmonta os limites tradicionais de privilégios da CPU, visando a camada mais baixa da hierarquia de memória física. Ao manipular os registros de tradução do controlador de memória, a ferramenta altera dinamicamente os mapeamentos de endereços físicos para DRAM no nível lógico do hardware. Isso permite que softwares sem privilégios acessem regiões isoladas de memória.

Como a exploração funciona

As arquiteturas modernas de segurança de processadores pressupõem que os endereços físicos sejam mapeados deterministicamente para locais específicos de armazenamento de silício. Os limites de segurança padrão – incluindo tabelas de páginas estendidas do hipervisor, limites de intervalo TSEG do modo de gerenciamento de sistema e carveouts privados do processador de segurança da plataforma (PSP) – operam na camada de interconexão da estrutura do sistema e do núcleo, antes que o tráfego de memória chegue ao controlador. Domas descobriu que os registros de tradução do controlador de memória ficam abaixo dessas cercas de controle de acesso. A manipulação de bits de configuração, como BankSwizzleMode, altera fundamentalmente a forma como o controlador calcula as coordenadas do banco DRAM, linha e coluna. Como os filtros de segurança upstream validam apenas o endereço físico não traduzido, essas inversões de bits permitem que os acessos à memória padrão cheguem silenciosamente dentro de enclaves de hardware protegidos.

Para extrair dados da memória embaralhada sem desestabilizar o sistema operacional host, a exploração utiliza um pipeline de software de vários estágios. Um módulo de kernel Linux personalizado desliga núcleos de CPU que não são de inicialização, libera caches do sistema, pré-aquece buffers de tradução e desativa interrupções para garantir a estabilidade da memória durante a religação. Os scripts de investigação automatizados usam então uma heurística de coletor de cupons, combinada com leituras direcionadas do espaço do usuário, para catalogar colisões de bits de endereço. O conjunto de ferramentas que acompanha modela a permutação de endereço físico usando a aritmética de Galois Field e emprega um solucionador SMT para derivar o mapeamento bit a bit exato. Depois que o mapa é resolvido, a exploração executa rajadas de leitura/gravação direcionadas contra enclaves anteriormente impenetráveis, incluindo RAM do modo de gerenciamento do sistema (SMM), tabelas de firmware PSP, áreas de economia de suspensão do processador CC6 e buffers de patch de microcódigo.

Implicações e riscos

As verificações de segurança upstream não podem garantir a integridade se a lógica do controlador de memória downstream permitir a troca dinâmica de endereços, representando riscos para a nuvem bare-metal e para a computação confidencial. Esta vulnerabilidade destaca a distinção vital entre privilégio de CPU e plataforma. Embora os processadores AMD Family 14h, 15h e 16h permitam que o software Ring 0 manipule essas configurações, esse nível de acesso é fundamentalmente insuficiente, pois trata o kernel como inerentemente confiável. Para proteger sistemas futuros, as equipes de hardware devem garantir que os registros de tradução do controlador de memória sejam estritamente bloqueados durante a inicialização, já que a realidade dos kernels adversários exige que a configuração da plataforma crítica para a segurança seja gerenciada por limites elevados acima do privilégio no nível da CPU.

Comunidades de segurança de hardware e engenharia reversa no Reddit (por exemplo, r/asm e r/blueteamsec) e podcasts como SANS ISC Stormcast responderam ao projeto com interesse significativo. As discussões centraram-se nas implicações arquitetônicas da descoberta, observando que, como existem cercas de segurança da plataforma acima do controlador de memória, elas permanecem alheias à confusão de coordenadas físicas brutas. Os especialistas também enfatizam as limitações práticas da exploração, que requer privilégios Ring 0 e tem como alvo registros acessíveis principalmente em processadores mais antigos da família AMD 15h e 16h.

As informações são do site InfoQ

Compartilhe este artigo

Continue lendo

Voltar ao Blog