FERRAMENTAS LINUX: O Kernel Linux retrabalha a mitigação Divide-By-Zero do AMD Zen 1 após uma correção original inadequada

segunda-feira, 14 de agosto de 2023

O Kernel Linux retrabalha a mitigação Divide-By-Zero do AMD Zen 1 após uma correção original inadequada

 

Após a descoberta da vulnerabilidade AMD Inception na semana passada, outro bug relacionado à CPU AMD Zen veio à tona. Esse novo problema envolve uma falha na execução do divide by zero do AND Zen 1, que pode levar a vazamento de dados por meio desse bug de especulação DIV0. A solução inicial proposta envolvia a realização de uma divisão inócua de 0/1 dentro do manipulador de exceção #DE. No entanto, essa abordagem mostrou-se inadequada.

Borislav Petkov, um engenheiro da AMD Linux, apresentou um novo patch que reformula a solução alternativa original para o bug de especulação do AMD Zen 1 DIV0. Ele explica o novo patch da seguinte forma:

"Inicialmente, pensou-se que realizar uma divisão inócua no manipulador #DE resolveria o problema, evitando qualquer vazamento de dados antigos do divisor. No entanto, quando a falha é ativada, a especulação já avançou muito, e esses dados antigos poderiam ter sido utilizados por operações mais recentes.

Portanto, agora realizamos a divisão inócua em cada saída para o espaço do usuário, a fim de garantir que nenhum dado potencialmente antigo de divisões inteiras no espaço do kernel seja visível para o espaço do usuário. Fazemos o mesmo antes do VMRUN, para evitar que os dados do host vazem para o hóspede."

Esse novo patch, que executa uma operação fictícia 0/1 em todas as saídas para o espaço do usuário, foi incorporado no branch x86/urgent do repositório TIP.git. O patch será enviado nesta semana para o Kernel Linux 6.5-rc7 e, posteriormente, será portado para a série de kernels estáveis. A solução alternativa original e inadequada já havia sido implementada na série de kernels estáveis na semana passada.

Vale ressaltar que esse bug específico de divisão por zero afeta apenas processadores Zen 1 da AMD. Felizmente, a execução dessa operação fictícia 0/1 não traz consigo uma sobrecarga significativa, ao contrário de outras mitigações de segurança para problemas de CPU que foram implementadas recentemente.






Fonte

Até a próxima !!


Nenhum comentário:

Postar um comentário