Suporte a Realms no Kernel Linux: Arm propõe “cofre de hardware” para proteger seus dados na nuvem

Suporte a Realms no Kernel Linux: Arm propõe “cofre de hardware” para proteger seus dados na nuvem

Steven Price, engenheiro da Arm, submeteu a 12ª revisão da série de patches que introduz o suporte à arquitetura de computação confidencial (Arm CCA) no KVM. A proposta foca em permitir a criação de máquinas virtuais protegidas, conhecidas como “Realms”, que operam com isolamento total de memória. Embora o desenvolvimento esteja avançado, o recurso ainda é uma submissão sob avaliação dos mantenedores e não foi integrado à versão estável do Kernel Linux 6.19.5.

Vale lembrar que, como acompanhamos anteriormente no SempreUpdate, as bases para o Arm CCA começaram a ser integradas ainda no Kernel Linux 6.13, sinalizando um esforço contínuo da comunidade para alcançar o isolamento total de hardware.

O que isso significa na prática

A tecnologia Arm CCA funciona como um cofre digital para máquinas virtuais. Atualmente, o sistema que gerencia o servidor (host) tem acesso total à memória das máquinas virtuais que rodam nele. Com este novo suporte, o hardware cria uma barreira intransponível: nem mesmo o administrador do servidor ou um invasor que tenha comprometido o sistema principal conseguirá ler ou modificar os dados dentro da VM protegida. Isso é essencial para empresas que processam dados sensíveis na nuvem e não querem confiar cegamente no provedor de infraestrutura.

Detalhes da implementação

A implementação utiliza um novo componente chamado Realm Management Monitor (RMM), que atua em um nível de privilégio superior ao Kernel Linux para garantir a segurança. A comunicação entre o KVM e o RMM é feita através da Realm Management Interface (RMI).

Uma das mudanças significativas nesta versão 12, baseada em feedbacks anteriores de Marc Zyngier, é a simplificação da interface de usuário (uAPI). Agora, a construção do “Realm” é mais implícita: em vez de o gerenciador de máquinas virtuais (VMM) precisar comandar manualmente cada etapa técnica da criação da VM, o KVM realiza as operações necessárias de forma automática quando detecta a necessidade. O patch também introduz o uso do subsistema guest_memfd para gerenciar a memória privada, além de preparar o terreno para o suporte a interrupções (GIC), contadores de performance (PMU) e instruções vetoriais (SVE) dentro desses ambientes isolados.

Curiosidades e bastidores da discussão

Os bastidores da Linux Kernel Mailing List revelam que o caminho para a aprovação final ainda exige ajustes. Steven Price destacou que esta versão dos patches foca na especificação RMM v1.0, mas já existe uma versão v2.0 (em estágio alpha) que resolve problemas críticos, como a gestão de páginas de memória maiores (huge pages).

A comunidade debateu intensamente a forma como o sistema lida com o protocolo PSCI (Power State Coordination Interface). Os mantenedores preferem que funções complexas de gerenciamento de energia sejam tratadas pelo espaço de usuário (VMM) para manter o código do kernel mais limpo, o que levou à criação de novos mecanismos de conclusão de chamadas PSCI específicos para Realms. Outro ponto relevante é que, por se tratar de computação confidencial, o acesso a registros do processador pelo host é severamente restrito, o que exigiu uma reformulação na forma como o KVM valida o acesso a esses dados para evitar vazamentos de informações da VM protegida.

Quando isso chega no meu PC?

Ainda não há uma data confirmada para a chegada definitiva deste recurso. Como o autor mencionou que a série de patches precisará de um novo retrabalho para suportar a versão 2.0 da especificação RMM antes de ser mesclada, é improvável que o suporte apareça como estável antes do ciclo do Kernel Linux 7.0 ou posterior. Por enquanto, o código serve como uma demonstração técnica para desenvolvedores e fabricantes de hardware validarem a nova interface de programação.