Vulnerability in AMD SEV that allows identifying encryption keys

Desenvolvedores da equipe Google Cloud identificaram uma vulnerabilidade (CVE-2019-9836) na implementação da tecnologia AMD SEV (Secure Encrypted Virtualization), que permite comprometer dados protegidos por essa tecnologia. O AMD SEV garante criptografia transparente da memória das máquinas virtuais em nível de hardware, onde o acesso aos dados descriptografados é apenas da atual máquina virtual, enquanto as outras máquinas virtuais e o hypervisor, ao tentarem acessar essa memória, recebem um conjunto de dados criptografados.

O problema identificado permite a recuperação completa do conteúdo da chave PDH fechada, processada no nível de um processador seguro PSP (AMD Security Processor), que não está acessível para o sistema operacional principal.
Com a chave PDH, o atacante pode então recuperar a chave de sessão e a sequência secreta definida na criação da máquina virtual, obtendo acesso aos dados criptografados.

A vulnerabilidade é causada por falhas na implementação de curvas elípticas (ECC) utilizadas para criptografia, que permitem realizar um ataque para a recuperação dos parâmetros da curva. Durante a execução do comando para iniciar uma máquina virtual protegida, o atacante pode enviar parâmetros da curva que não correspondem aos parâmetros recomendados pelo NIST, levando ao uso de valores de ponto de ordem baixa em operações de multiplicação com dados da chave fechada.

A segurança do protocolo ECDH depende diretamente da ordem de do ponto inicial gerado da curva, cujo logaritmo discreto representa uma tarefa muito complexa. Em um dos passos de inicialização do ambiente AMD SEV, nos cálculos com a chave fechada, são utilizados parâmetros fornecidos pelo usuário. Na essência, realiza-se uma operação de multiplicação de dois pontos, sendo que um deles corresponde à chave fechada. Se o segundo ponto se relacionar a números primos de baixa ordem, o atacante pode determinar os parâmetros do primeiro ponto (bits do módulo utilizado na operação de exponenciação modular) através da tentativa de todos os valores possíveis. Para determinar a chave fechada, os fragmentos adequados de números primos podem então ser reunidos através da Teorema Chinês dos Restos Os servidores da plataforma AMD EPYC, que utilizam firmwares SEV até a versão 0.17 build 11, estão vulneráveis. A empresa AMD já.

toma medidas para corrigir publicou Atualização de firmware que adiciona a restrição no uso de pontos que não correspondem à curva NIST. Ao mesmo tempo, os certificados gerados anteriormente para as chaves PDH permanecem válidos, o que permite que um invasor realize um ataque de migração de máquinas virtuais de ambientes protegidos contra a vulnerabilidade para ambientes suscetíveis ao problema. Também é mencionada a possibilidade de um ataque que reverte a versão do firmware para uma versão antiga e vulnerável, mas essa possibilidade ainda não foi confirmada.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster