Especialistas da equipe de segurança do Google relataram detalhes de uma vulnerabilidade (CVE-2024-56161) que permite ignorar o mecanismo de verificação de assinatura digital ao atualizar o microcódigo em processadores AMD baseados na microarquitetura Zen1 a Zen4, conforme relatado pelo recurso OpenNet.

A vulnerabilidade tem uma classificação de gravidade CVSS de 7,2 de 10, indicando que o problema é sério. “Uma verificação de assinatura incorreta no carregador de patches de microcódigo da CPU AMD pode permitir que um invasor com privilégios de administrador local carregue microcódigo malicioso”, disse o Google em um comunicado. Os pesquisadores notificaram a AMD sobre a vulnerabilidade em 25 de setembro de 2024.

A vulnerabilidade que possibilitou o download de patches personalizados para o microcódigo dos processadores AMD Zen 1-4 é causada pelo uso do algoritmo CMAC para verificação em vez das funções de hash recomendadas, o que não é adequado para isso e não é protegido contra detecção de colisão. A AMD corrigiu a vulnerabilidade em uma atualização de microcódigo de dezembro, substituindo o CMAC por uma função hash criptograficamente forte.

Fonte da imagem: AMD

O Google também lançou o Zentool sob uma licença Apache 2.0, que permite analisar, manipular e criar patches para modificar o microcódigo em processadores AMD Zen. O Zentool inclui os seguintes comandos: zentool edit – edita parâmetros de arquivos de microcódigo, altera o microcódigo e substitui instruções individuais; zentool print — gera informações sobre estruturas e parâmetros de microcódigo; zentool load — carrega microcódigo na CPU; zentool resign – corrige a assinatura digital levando em consideração as alterações adicionadas ao microcódigo. O Zentool também inclui os utilitários mcas e mcop, que fornecem implementações de montador e desmontador para o microcódigo.

O Google também produziu um guia para a microarquitetura RISC86 usada no microcódigo AMD e orientações sobre como criar seu próprio microcódigo, explicando como criar suas próprias instruções de processador implementadas no microcódigo RISC86, alterar o comportamento de instruções existentes e carregar alterações de microcódigo no processador.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *