Último ano com o lançamento dos processadores AMD EPYC 7003″Milan”, um dos novos recursos de segurança foi o SEV-SNP, ou a atualização”Secure Nested Paging”para a funcionalidade Secure Encrypted Virtualization que foi construída com as gerações EPYC sucessivas. Embora a AMD tenha publicado patches de kernel fora da árvore em um repositório do GitHub para habilitar o SEV-SNP e tenha enviado várias revisões para eles na lista de discussão do kernel, um ano depois finalmente está chegando à linha principal com o kernel Linux 5.19.
O kernel Linux 5.19 a ser lançado no final deste verão oferecerá suporte AMD SEV-SNP sem ter que recorrer a patches em seu kernel ou usar qualquer código fora da árvore. Como escrevi no início de abril, parecia que o SEV-SNP estava finalmente pronto para upstream com Linux 5.19. Agora, no primeiro dia da janela de mesclagem v5.19, os patches SEV-SNP foram enviados.
O SEV-SNP foi um dos muitos aprimoramentos interessantes da série EPYC 7003.
As proteções de integridade de memória baseadas em hardware fornecidas pelo AMD SEV-SNP podem ajudar evite ataques mal-intencionados baseados em hipervisor e outras funcionalidades além do que já está disponível com Secure Encrypted Virtualization de CPUs EPYC anteriores.
SEV-SNP adiciona proteções de integridade em relação à proteção de reprodução, corrupção de dados, alias de memória, remapeamento de memória, reversão de TCB e muito mais. O SEV-SNP para Linux 5.19 tem todo o código de ativação inicial, mas ainda há algumas tarefas abertas, como lidar com o modo de validação lento para páginas, então, no momento, tudo é pré-validado na inicialização. Os aprimoramentos de segurança de interrupção também ainda precisam ser trabalhados para este código do kernel Linux. Consulte este whitepaper da AMD para saber mais sobre as várias camadas da Virtualização Criptografada Segura.
Esta solicitação de pull é o que tem a habilitação inicial de SEV-SNP para Linux 5.19. É lamentável que tenha demorado mais de um ano após o lançamento do EPYC Milan para que essas menos de 4k linhas de código fossem enviadas para o kernel, mas pelo menos está aqui agora e após extensa revisão/teste. Muitos hiperescaladores e outros grandes clientes EPYC provavelmente já estão usando o SEV-SNP corrigindo suas compilações de kernel, mas é ótimo ter tudo isso alinhado para tornar a disponibilidade do SEV-SNP mais difundida e fácil de manter. Como anteriormente com o SEV-ES, levou muito tempo após o lançamento antes de ser implementado. Esta é uma das áreas em que a AMD ainda tem espaço para melhorias com seu suporte ao Linux, está lançando esses novos recursos de CPU com mais pontualidade-enquanto a Intel é conhecida por sua habilitação oportuna e por obter recursos de CPU de próxima geração geralmente no kernel antes de o envio de hardware. Para processadores EPYC Zen 4, já venho relatando várias adições de ID e trabalho básico de habilitação há meses, mas até agora não vi nenhum código de recurso importante chegar à lista de discussão do kernel para iniciar o processo de revisão/upstreaming.
Atualização: como outro exemplo da abordagem de ativação oportuna da Intel… Hoje, o Intel TDX também foi enviado para o Linux 5.19, com o Trust Domain Extensions sendo a alternativa SEV da Intel com o Xeon Scalable Sapphire Rapids.