SMM Callout – uma série de vulnerabilidades que afetam a AMD

Conheça melhor o SMM Callout, uma série de vulnerabilidades que afetam a AMD e que atuam acima do sistema operacional do seu PC.

As vulnerabilidades foram descobertas pelo pesquisador de segurança Danny Odler, que em seu relatório relata que as falhas residem no Mini PC da AMD que pode permitir que os invasores violem o firmware seguro e executem códigos arbitrários.

Essa série de vulnerabilidades foi denominada “SMM Callout” (Chamada SMM) (CVE-2020-12890) e a investigação das falhas mostra a exploração completa de 1 das 3 vulnerabilidades encontradas na imagem UEFI.

SMM Callout – uma série de vulnerabilidades que afetam a AMD

SMM Callout - uma série de vulnerabilidades que afetam a AMD
SMM Callout – uma série de vulnerabilidades que afetam a AMD

A chamada de SMM Callout permite que você obtenha controle sobre o firmware UEFI e execute o código no nível SMM (Modo de administração do sistema). Um ataque requer acesso físico ao computador ou acesso a um sistema com direitos de administrador.

No caso de um ataque bem-sucedido, um invasor pode usar a interface AGESA (AMD Generic Encapsulated Software Architecture) para executar código arbitrário que não pode ser detectado pelo sistema operacional.

As vulnerabilidades estão presentes no código incluído no firmware UEFI, executando no modo SMM (Ring -2), que é uma prioridade mais alta que o modo hypervisor e o anel de proteção zero e tem acesso ilimitado a toda a memória do sistema .

Quando o código é executado no SMM, toda a memória física fica acessível e nada pode impedir a substituição de dados críticos nas páginas físicas do kernel ou hypervisor.

O código SMM atua como uma espécie de mini SO: possui serviços de E/S, serviços de alocação de memória, capacidade de alocar interfaces privadas, gerenciamento de interrupções do SMM, notificações de eventos e muito mais.

Para resumir: o código SMM é o código mais privilegiado executado na CPU, o código está completamente oculto no sistema operacional em execução, não pode ser modificado pelo kernel e nem pelos dispositivos DMA, e o código SMM mais importante pode acessar qualquer memória física.

Por exemplo, após obter acesso ao sistema operacional como resultado da exploração de outras vulnerabilidades ou métodos de engenharia social, um invasor pode usar as vulnerabilidades do SMM Callout para ignorar o modo UEFI Secure Boot, inserir código malicioso ou rootkits invisíveis para o sistema no SPI Flash e também ataques a hipervisores para evitar os mecanismos de verificação de integridade de ambientes virtuais.

No anúncio da AMD, a empresa diz que:

“A AMD está ciente de novas pesquisas relacionadas a uma potencial vulnerabilidade na tecnologia de software AMD fornecida aos fabricantes de placas-mãe para uso em sua infraestrutura UEFI (Unified Extensible Firmware Interface) e planeja concluir a entrega de versões atualizadas projetadas para mitigar a problema no final de junho de 2020.”

“O ataque direcionado descrito na investigação requer acesso físico ou administrativo privilegiado a um sistema laptop AMD ou a processadores embarcados. Se esse nível de acesso for adquirido, um invasor poderá potencialmente manipular a Arquitetura de software encapsulado genérico (AGESA) da AMD para executar código arbitrário sem ser detectado pelo sistema operacional.”

As vulnerabilidades ocorrem devido a um erro no código SMM devido à falta de verificação do endereço do buffer de destino quando a função SmmGetVariable() é chamada no driver 0xEF SMI.

Devido a esse erro, um invasor pode gravar dados arbitrários na memória SMM interna (SMRAM) e executá-los como código com direitos SMM. A AMD observou que apenas alguns processadores lançados entre 2016 e 2019 são afetados pela vulnerabilidade.

A resenha publicada por Odler diz que:

“O SMM é o código mais privilegiado que pode ser executado na CPU x86, permitindo atacar qualquer componente de baixo nível, incluindo o Kernel e o Hypervisor.”

O fornecedor do chip já entregou a maioria das versões atualizadas da AGESA aos seus parceiros. A AMD recomenda que os usuários mantenham seus sistemas atualizados instalando os patches mais recentes.

Se você quiser saber mais sobre isso, consulte o relatório nesse endereço.

O que está sendo falado no blog

Sobre o Edivaldo Brito

Edivaldo Brito é analista de sistemas, gestor de TI, blogueiro e também um grande fã de sistemas operacionais, banco de dados, software livre, redes, programação, dispositivos móveis e tudo mais que envolve tecnologia.