Pesquisadores da ESET descobriram e analisaram três vulnerabilidades que afetam vários modelos de notebooks Lenovo. As duas primeiras vulnerabilidades - CVE-2021-3971, CVE-2021-3972 - afetam os drivers de firmware para UEFI que a princípio foram criados para serem usados somente durante o processo de fabricação dos notebooks de consumo da Lenovo. Infelizmente, essas máquinas também foram erroneamente incluídas na produção de imagens ISO para BIOS sem serem devidamente desativadas. O atacante pode ativar estes drivers de firmware afetados para desativar as proteções de memória flash SPI ou a função Secure Boot do UEFI por meio de um processo a nível de usuário com privilégios de administrador durante o tempo de execução do sistema operacional.
Desta forma, a exploração dessas vulnerabilidades pode permitir que atacantes executem com sucesso implantes em flash SPI ou ESP nos dispositivos afetados, como foi o caso do LoJax ou do ESPecter, nossa mais recente descoberta de malware para UEFI.
As ameaças direcionadas à UEFI podem ser extremamente sigilosas e perigosas. Elas são executadas no início do processo de inicialização da máquina, antes de transferir o controle para o sistema operacional. Esse processo faz com que essas ameaças sejam capazes de contornar várias medidas de segurança e formas mais elevadas de mitigação que podem impedir a execução de payloads.
Para entender como descobrimos essas vulnerabilidades, vamos usar como exemplo os drivers de firmware afetados pela falha CVE‑2021-3971. Estes drives imediatamente chamaram nossa atenção devido a seus nomes: SecureBackDoor e SecureBackDoorPeim. Após uma análise inicial, descobrimos outros drives da Lenovo que tinham algumas características semelhantes aos drives do SecureBackDoor*: ChgBootDxeHook e ChgBootSmm. Percebemos que sua funcionalidade era ainda mais interessante e pode ser utilizada para desativar o UEFI Secure Boot (CVE-2021-3972).
Além disso, enquanto analisávamos os drives vulneráveis mencionados acima, descobrimos uma terceira vulnerabilidade: uma falha de corrupção da memória SMM dentro da função handler SW SMI (CVE-2021-3970). Esta falha permite leitura/escrita arbitrárias de/para SMRAM, o que pode levar à execução de código malicioso com privilégios de SMM e, possivelmente, a execução de um implante flash SPI.
A lista de dispositivos afetados conta com mais de cem modelos diferentes de computadores com milhões de usuários em todo o mundo.
Em 11 de outubro de 2021, informamos a Lenovo sobre todas as vulnerabilidades descobertas. No total, a lista de dispositivos afetados compreende mais de cem modelos diferentes de computadores com milhões de usuários em todo o mundo, desde modelos acessíveis como o Ideapad-3 até modelos mais avançados como o Legion 5 Pro-16ACH6H ou o Yoga Slim 9-14ITL05. A lista completa dos modelos afetados com suporte ativo está disponível em um comunicado publicado pela Lenovo.
Além dos modelos citados no comunicado, vários outros dispositivos que relatamos à Lenovo também podem estar em risco, mas não receberão novos patches já que não contam mais com suporte da empresa - um processo conhecido como End Of Development Support ou EODS. Isto inclui dispositivos sobre os quais detectamos pela primeira vez as vulnerabilidades reportadas: Ideapad 330-15IGM e Ideapad 110-15IGR. A lista de dispositivos que chegaram ao fim do ciclo de suporte e que pudemos identificar está disponível no repositório de divulgação de vulnerabilidades da ESET.
A Lenovo confirmou as vulnerabilidades no dia 17 de novembro de 2021 e atribuiu os seguintes CVEs:
- CVE-2021-3970: LenovoVariableSmm – leitura/escrita arbitrária do SMM
- CVE-2021-3971: SecureBackDoor – desativa as proteções flash SPI
- CVE-2021-3972: ChgBootDxeHook – desativa o Secure Boot da UEFI
Linha do tempo de divulgação das vulnerabilidades:
- 2021-10-11: Vulnerabilidades reportadas à Lenovo.
- 2021-10-12: A Lenovo respondeu e confirmou que estava investigando o caso.
- 2021-11-17: A Lenovo confirmou as vulnerabilidades e nos informou sobre a data prevista para a publicação do comunicado: 8 de fevereiro de 2022.
- 2022-01-20: A Lenovo solicitou o adiamento da data de divulgação do comunicado para o dia 18 de abril devido a questões de desenvolvimento.
- 2022-04-18: A Lenovo emitiu o aviso de segurança.
- 2022-04-19: Publicação da pesquisa da ESET com detalhes sobre a descoberta
Na versão em inglês deste artigo disponibilizamos uma análise técnica completa sobre as vulnerabilidades descobertas nos notebooks da Lenovo.
Nossa pesquisa, juntamente com a descoberta de outras ameaças direcionadas à UEFI nos últimos anos (LoJax, MosaicRegressor, MoonBounce, ESPecter, FinSpy) mostra que, em alguns casos, a implantação de ameaças para UEFI pode não ser tão difícil quanto o esperado, e o número crescente de ameaças para UEFI descobertas nos últimos anos sugere que os adversários estão cientes disso.
Embora as vulnerabilidades não sejam a única opção para que os atacantes desativem ou contornem as mitigações de segurança do firmware, existem muitas vulnerabilidades deste tipo. Além disso, devido ao grande número de implementações de diversos firmwares e sua complexidade, é provável que muitos mais possam ser descobertos.
Orientamos a todos os usuários de notebooks da Lenovo que confiram a lista de dispositivos afetados e atualizem seu firmware, de preferência seguindo as instruções do fabricante.
Leia a análise técnica completa das vulnerabilidades descobertas nos notebooks da Lenovo na versão em inglês deste artigo.