Pesquisadores da IOActive identificaram uma vulnerabilidade (CVE-2023-31315) nos processadores AMD, que, com acesso local privilegiado ao sistema, permite alterar a configuração SMM (System Management Mode, Ring -2), mesmo que o SMM Lock O mecanismo está habilitado e também possibilita potencialmente a execução de código no nível SMM. A camada SMM, que tem prioridade mais alta que o modo hipervisor e proteção contra anel zero, permite acesso irrestrito a toda a memória do sistema e pode ser usada para monitorar o sistema operacional.
A vulnerabilidade, codinome Sinkclose, é causada pela verificação incorreta de Model Specific Registers (MSR). Ao SMM é atribuída uma área de páginas de memória física, cujo acesso é bloqueado no nível do controlador de memória. A vulnerabilidade identificada permite contornar esse bloqueio manipulando certos registros MSR, cuja gravação não era proibida, apesar do modo SMM Lock estar definido.
A vulnerabilidade pode ser explorada a partir do anel de proteção zero no qual o kernel do sistema operacional é executado e pode ser usada, por exemplo, para manter sua presença após explorar outras vulnerabilidades no sistema ou usar métodos de engenharia social. O sistema operacional não tem a capacidade de monitorar e controlar a execução de código no nível SMM, que pode ser usado para modificar firmware e colocar códigos maliciosos ou rootkits ocultos que não são detectados no sistema operacional, bem como para desabilitar a verificação no estágio de inicialização e ataques a hipervisores para contornar mecanismos que verificam a integridade de ambientes virtuais.
A vulnerabilidade aparece em quase todos os chips AMD produzidos desde 2006, incluindo AMD EPYC (1ª a 4ª geração), Ryzen (R1000, R2000, 3000-8000, V1000, V2000, V3000), Athlon 3000 e séries de processadores Threadripper PRO. Atualizações de microcódigo para bloquear a vulnerabilidade já foram lançadas para CPUs móveis e de desktop das séries EPYC e Ryzen. Para modelos de CPU embarcados, a atualização está prevista para ser publicada em outubro. A única maneira de remover código malicioso introduzido por meio de um ataque SMM é limpar a memória usando um programador SPI Flash conectado fisicamente.
Fonte: opennet.ru
