A AMD lançou atualizações de microcódigo para uma ampla variedade de CPUs de servidores e desktops. O objetivo é solucionar uma vulnerabilidade que permite que códigos maliciosos em firmware de baixo nível sejam executados fora do sistema operacional, ignorando a função de proteção no Modo de gerenciamento do sistema (SMM). Essa falha pode ser usada para implantar clandestinamente programas rootkit em nível de inicialização para UEFI.
Essa lacuna (CVE-2023-31315), os pesquisadores da IOActive que descobriram isso anunciaram os resultados de sua pesquisa na conferência Defcon no fim de semana passado. De acordo com a descrição, esta vulnerabilidade, chamada “AMD Sync Close”, pode afetar quase todas as CPUs das séries AMD Epic e Ryzen e é classificada como de alto risco. Isso ocorre porque pode haver abuso com privilégios Ring-2, que é o modo de execução mais privilegiado no computador.
“Esse problema de hardware é desconhecido há quase 20 anos (e talvez mais) e pode afetar centenas de milhões de laptops, desktops e servidores”, disse IOActive. Chame “Computadores mal configurados”.
Ignorar bloqueio do modo SMM
SMM é um modo de operação da CPU no qual a execução normal é suspensa e o processador executa código de firmware especial dentro de uma memória protegida que só pode ser acessada neste modo. O SMM é chamado durante o processo inicial de inicialização do computador para carregar drivers especiais, configurar o chipset, firmware UEFI ou configurar recursos como gerenciamento de energia. Os bootloaders UEFI e o sistema operacional são então bloqueados quando ele assume o processo de inicialização subsequente.
Uma vez que a CPU não acessa mais o SMM, o controlador de memória não permite mais acesso à SMRAM, área especial da memória física designada para o SMM. No entanto, os pesquisadores da IOActive descobriram uma maneira de contornar esse bloqueio aproveitando um registro MSR específico. Os registros correspondentes fornecidos pelas CPUs AMD são acessíveis no anel 0 e não são somente leitura, mesmo se o bit SMLock estiver definido.
“A validação inadequada de registros específicos do modelo (MSRs) pode permitir que um malware com acesso ao Anel 0 modifique a configuração do SMM enquanto o bloqueio do SMI está habilitado, levando à execução arbitrária de código”, disse a AMD em um comunicado de 9 de novembro.
Distribuição de malware de baixo nível
Se um invasor executar com êxito código malicioso dentro do SMM, provavelmente introduzirá um implante de malware persistente dentro da UEFI. No entanto, isso depende da configuração da plataforma. Isso ocorre porque pode haver recursos de segurança adicionais, como o ROM Armor proprietário da AMD, que controla o acesso à memória flash SPI onde o UEFI está armazenado.
No entanto, ROM Armor é um recurso relativamente novo. Esta vulnerabilidade não existe na maioria dos computadores afetados. Outro recurso que pode ajudar a prevenir malware dentro do UEFI é o Secure System Boot, que cria uma cadeia criptografada de confiança para o código do firmware UEFI, mas esse recurso também não está presente ou habilitado em todos os sistemas.
Mesmo com esses recursos habilitados, um invasor pode pelo menos derrotar o Secure Boot, que protege a integridade do processo de inicialização do sistema operacional e permite apenas a execução de bootloaders assinados. Ao derrotar o Secure Boot, um invasor pode assumir o controle de todo o sistema implantando um rootkit no nível de inicialização, ou bootkit, que é executado antes do kernel do sistema operacional ser iniciado, ocultando processos e arquivos de qualquer produto de segurança de endpoint no nível do sistema operacional.
Os pesquisadores também observaram que se o sistema for comprometido, a segurança de inicialização da plataforma poderá ser desativada permanentemente, deixando-a vulnerável para sempre a implantes de firmware.
atualizar
A AMD lançou uma atualização de microcódigo de CPU para uma ampla variedade de CPUs afetadas, mas não para todos os produtos. Isso ocorre porque alguns chegaram ao fim do período de suporte. Por exemplo, nenhuma correção está planejada para os processadores de desktop AMD Ryzen série 3000. Além disso, para algumas CPUs incorporadas, a data de lançamento do patch está agendada para outubro.
Além disso, as atualizações do microcódigo da CPU podem ser aplicadas pelo sistema operacional no início do processo de inicialização, mas não são correções permanentes. Uma solução mais permanente é os fornecedores de placas-mãe lançarem atualizações de firmware UEFI que contenham novo microcódigo. No entanto, dado há quanto tempo esta vulnerabilidade existe, é provável que muitas placas-mãe de PC com CPUs AMD não ofereçam mais atualizações de firmware, pois atingiram o fim do suporte. ciokr@idg.co.kr
“Pensador. Aspirante a amante do Twitter. Empreendedor. Fã de comida. Comunicador total. Especialista em café. Evangelista da web. Fanático por viagens. Jogador.”