Combinando Intel SGX e AMD SEV pra uma segurança melhor
Um novo protocolo mistura SGX e SEV pra melhorar a segurança em ambientes de computação.
― 7 min ler
Índice
Avanços recentes em computação levaram à criação de tecnologias que oferecem ambientes seguros para executar aplicativos sensíveis. Duas implementações notáveis são as Intel Software Guard Extensions (SGX) e AMD Secure Encrypted Virtualization (SEV). Elas visam manter aplicativos e dados seguros contra acessos não autorizados, mesmo que a máquina hospedeira seja comprometida. Este artigo discute um novo método que combina as forças do SGX e SEV para melhorar as medidas de segurança, especialmente na Atestação remota, que é uma forma de verificar a confiabilidade de um ambiente computacional.
Entendendo Ambientes de Execução Confiáveis
Os Ambientes de Execução Confiáveis (TEEs) são áreas seguras dentro do processador principal de um computador que garantem a integridade e Confidencialidade de código e dados. Tanto o SGX quanto o SEV são projetados para alcançar isso, mas de maneiras diferentes.
Intel Software Guard Extensions (SGX)
O SGX permite que aplicativos criem espaços isolados chamados enclaves. Esses enclaves permitem que programas sejam executados de maneira segura, mantendo seus dados e processos ocultos de outros, até mesmo do próprio sistema operacional. O SGX oferece uma maneira flexível de garantir que o código rodando dentro desses enclaves permaneça intocável por partes não autorizadas.
AMD Secure Encrypted Virtualization (SEV)
Por outro lado, o SEV criptografa a máquina virtual (VM) inteira em vez de apenas partes de um processo. Isso significa que, mesmo que a máquina hospedeira seja comprometida, os dados dentro da VM permanecem ilegíveis. O SEV permite que aplicativos rodem sem precisar alterar significativamente seu código. No entanto, suas capacidades de atestação remota são mais limitadas em comparação com o SGX, pois permitem apenas que uma parte específica confirme a integridade da VM.
A Necessidade de um Novo Protocolo
Embora tanto o SGX quanto o SEV tenham seus benefícios únicos, nenhum deles oferece uma solução perfeita sozinho. O SGX é flexível, mas exige que os aplicativos sejam projetados especificamente para funcionar dentro de enclaves, o que limita a portabilidade. Por outro lado, enquanto o SEV permite que aplicativos rodem sem modificação, seu processo de atestação é mais rígido. Portanto, há uma necessidade de um novo protocolo que combine as capacidades de atestação remota flexível do SGX com a portabilidade de aplicativos do SEV.
O Protocolo Proposto
O protocolo inovador discutido aqui introduz um proprietário confiável, implementado como um enclave SGX. Esse proprietário confiável é responsável por implantar uma VM SEV e gerar relatórios de atestação sobre ela. A VM SEV pode contar com esse proprietário confiável para criar provas de seu ambiente seguro, similar ao funcionamento dos enclaves na configuração do SGX.
Visão Geral do Fluxo de Trabalho
- Implantação: O proprietário confiável cria e configura a VM SEV.
- Atestação: A VM SEV solicita ao proprietário confiável que gere os relatórios de atestação.
- Verificação: A parte confiável pode então validar se a VM está funcionando corretamente e é segura.
Esse método integra as características de atestação flexível do SGX e a execução de aplicativos sem problemas do SEV, criando um ambiente geral mais seguro.
Recursos de Segurança
Os principais objetivos do protocolo proposto envolvem garantir a autenticidade dos relatórios de atestação e manter a confidencialidade dos dados sensíveis durante o processo de atestação remota.
Autenticidade das Citações
O protocolo gera citações de atestação que fornecem evidências do ambiente seguro. Qualquer parte confiável pode provar criptograficamente que a citação veio de uma plataforma SGX genuína rodando a VM SEV. Isso é crucial para construir confiança entre diferentes partes, especialmente em aplicativos sensíveis.
Confidencialidade dos Segredos
O protocolo proposto garante que quaisquer segredos fornecidos à VM SEV permaneçam confidenciais. O proprietário confiável gerencia esses segredos de forma segura, impedindo acessos não autorizados por atacantes. Isso adiciona uma camada adicional de proteção para dados sensíveis.
Implementação e Avaliação
Para validar o protocolo proposto, foi desenvolvida uma implementação prática. Essa implementação serve como uma prova de conceito e aplicação do protocolo.
Testes com Modelos de Aprendizado de Máquina
O protocolo foi aplicado a modelos de aprendizado de máquina, fornecendo uma maneira de criar modelos responsáveis. Usando o protocolo, foi possível gerar relatórios de atestação ligando cada modelo aos dados de treinamento e algoritmos usados para produzi-lo. Isso é particularmente relevante em áreas onde regulação e equidade são críticas.
Avaliação de Desempenho
A implementação foi testada em vários scripts de aprendizado de máquina, medindo o tempo necessário para implantação, provisionamento e geração de relatórios. O overhead criado pelo protocolo foi considerado mínimo, geralmente abaixo de 0,5% do tempo total de execução. Isso indica que o protocolo pode ser usado em cenários práticos sem impactar significativamente o desempenho.
Direções Futuras
O trabalho apresentado aqui abre várias avenidas para mais exploração. Uma possibilidade é estender o protocolo para gerenciar uma gama mais ampla de componentes dentro de uma infraestrutura heterogênea. Isso poderia envolver a criação de um implantador confiável capaz de atestar múltiplos ambientes confiáveis simultaneamente.
Aprimorando o Protocolo
Recursos adicionais também poderiam melhorar as capacidades do protocolo. Por exemplo, um canal autentificado e confidencial poderia ser estabelecido entre o proprietário confiável e a VM SEV, permitindo a troca de diversas mensagens seguras. Isso facilitaria o compartilhamento de informações verificáveis e ajudaria a gerar valores aleatórios mais fortes para operações criptográficas.
Abordando Limitações
Apesar de seus pontos fortes, o protocolo não está isento de limitações. A segurança depende da confiabilidade das implementações do SGX e do SEV. Se qualquer um desses sistemas enfrentar vulnerabilidades, isso poderia comprometer a segurança geral do protocolo.
Trabalhos Relacionados
A literatura existente oferece vários estudos sobre a eficácia do SGX e do SEV. Vários pesquisadores exploraram as vulnerabilidades das primitivas de atestação e propuseram várias melhorias para aumentar a segurança. Entender esses estudos é essencial para aprimorar o protocolo proposto e garantir sua robustez.
Conclusão
O protocolo proposto representa um avanço significativo na fusão das capacidades do SGX e do SEV. Ao aproveitar as características de atestação flexível do SGX junto com a portabilidade de aplicativos do SEV, essa abordagem oferece uma solução mais segura e prática para ambientes de computação confiáveis. A implementação bem-sucedida demonstra o potencial do protocolo para aplicações do mundo real, particularmente em domínios sensíveis como aprendizado de máquina, onde responsabilidade e integridade são fundamentais.
Pesquisas futuras visam aprimorar ainda mais o protocolo e explorar sua aplicabilidade em diferentes infraestruturas. O objetivo é continuar avançando as práticas de computação segura que atendam às necessidades em evolução da tecnologia e da sociedade.
Título: Flexible remote attestation of pre-SNP SEV VMs using SGX enclaves
Resumo: We propose a protocol that explores a synergy between two TEE implementations: it brings SGX-like remote attestation to SEV VMs. We use the notion of a \emph{trusted guest owner}, implemented as an SGX enclave, to deploy, attest, and provision a SEV VM. This machine can, in turn, rely on the trusted owner to generate SGX-like attestation proofs on its behalf. Our protocol combines the application portability of SEV with the flexible remote attestation of SGX. We formalise our protocol and prove that it achieves the intended guarantees using the Tamarin prover. Moreover, we develop an implementation for our trusted guest owner together with example SEV machines, and put those together to demonstrate how our protocol can be used in practice; we use this implementation to evaluate our protocol in the context of creating \emph{accountable machine-learning models}. We also discuss how our protocol can be extended to provide a simple remote attestation mechanism for a heterogeneous infrastructure of trusted components.
Autores: Pedro Antonino, Ante Derek, Wojciech Aleksander Wołoszyn
Última atualização: 2023-05-16 00:00:00
Idioma: English
Fonte URL: https://arxiv.org/abs/2305.09351
Fonte PDF: https://arxiv.org/pdf/2305.09351
Licença: https://creativecommons.org/licenses/by/4.0/
Alterações: Este resumo foi elaborado com a assistência da AI e pode conter imprecisões. Para obter informações exactas, consulte os documentos originais ligados aqui.
Obrigado ao arxiv pela utilização da sua interoperabilidade de acesso aberto.