Share via


Saiba como gerir a vulnerabilidade do Log4Shell no Microsoft Defender para Endpoint

A vulnerabilidade Log4Shell é uma vulnerabilidade de execução remota de código (RCE) encontrada na biblioteca de registos do Apache Log4j 2. Uma vez que o Apache Log4j 2 é frequentemente utilizado por muitas aplicações de software e serviços online, representa uma situação complexa e de alto risco para empresas de todo o mundo. Conhecido como "Log4Shell" (CVE-2021-44228, CVE-2021-45046), introduz um novo vetor de ataque que os atacantes podem explorar para extrair dados e implementar ransomware numa organização.

Nota

Veja os blogues Orientações para prevenir, detetar e procurar a exploração da vulnerabilidade do Log4j 2 edo Centro de Resposta de Segurança da Microsoft para obter orientações e informações técnicas sobre as recomendações de mitigação específicas de vulnerabilidades e produtos para proteger a sua organização.

Descrição geral das capacidades de deteção, monitorização e mitigação

A Gestão de Vulnerabilidades do Defender fornece-lhe as seguintes capacidades para o ajudar a identificar, monitorizar e mitigar a exposição organizacional à vulnerabilidade do Log4Shell:

  • Deteção: a deteção de dispositivos expostos, tanto Microsoft Defender para Endpoint dispositivos integrados como dispositivos que foram detetados mas que ainda não estão integrados, baseia-se em software vulnerável e ficheiros vulneráveis detetados no disco.
  • Deteção de ameaças: Uma vista consolidada para avaliar a exposição organizacional. Esta vista mostra a exposição ao nível do dispositivo e do software e fornece acesso a detalhes sobre ficheiros vulneráveis, como, a última vez que foi visto, a última vez que foi executado e a última vez que foi executado com portas abertas. Pode utilizar estas informações para priorizar as suas ações de remediação. Os dados relacionados com dispositivos expostos podem demorar até 24 horas a aparecer no dashboard.
  • Opções de mitigação: Aplique opções de mitigação para ajudar a reduzir o risco de exposição.
  • Investigação avançada: Utilize a investigação avançada para devolver detalhes para ficheiros log4j vulneráveis identificados no disco.

Nota

Estas capacidades são suportadas em Windows 10 & Windows 11, Windows Server, Linux e macOS.

O suporte no Linux requer Microsoft Defender para Endpoint versão 101.52.57 do cliente Linux (30.121092.15257.0) ou posterior.

O suporte no macOS requer Microsoft Defender para Endpoint versão do cliente macOS 20.121111.15416.0 ou posterior.

Para obter mais informações sobre as versões suportadas, veja Supported operating systems platforms and capabilities (Plataformas e capacidades de sistemas operativos suportados).

Deteção de dispositivos expostos

As capacidades de Gestão de Vulnerabilidades do Defender Incorporado, juntamente com a ativação da deteção do Log4j, no portal do Microsoft Defender, irão ajudá-lo a detetar dispositivos expostos à vulnerabilidade log4Shell.

Os dispositivos integrados são avaliados através de capacidades de Gestão de Vulnerabilidades do Defender incorporadas existentes que podem detetar software e ficheiros vulneráveis.

Para a deteção em dispositivos detetados, mas ainda não integrados, a deteção log4j tem de estar ativada. Esta ação irá iniciar sondas da mesma forma que a deteção de dispositivos sonda ativamente a sua rede. Isto inclui a pesquisa de vários pontos finais integrados (Windows 10+ e dispositivos Windows Server 2019+ e apenas pesquisa dentro de sub-redes, para detetar dispositivos vulneráveis e expostos remotamente à CVE-2021-44228.

Para ativar a deteção do Log4:

  1. Aceda a Definições>Configuração da deteção dedispositivos>.
  2. Selecione Ativar deteção log4j2 (CVE-2021-44228).
  3. Seleccione Guardar.

Captura de ecrã a mostrar a definição para ativar a deteção log4j2.

A execução destas pesquisas irá acionar o fluxo Log4j padrão sem causar qualquer impacto prejudicial no dispositivo que está a ser sondado ou no dispositivo de pesquisa. A pesquisa em si é feita ao enviar vários pedidos HTTP para dispositivos detetados, visando portas de aplicações Web comuns (por exemplo, 80.8000.8080.443.8443) e URLs. O pedido contém cabeçalhos HTTP com um payload JNDI que aciona um pedido DNS do computador sondado.

Por exemplo, User-Agent: ${jndi:dns://192.168.1.3:5353/MDEDiscoveryUser-Agent} em que 192.168.1.3 é o IP da máquina de pesquisa.

Nota

Ativar a deteção log4j2 também significa que os dispositivos integrados utilizarão a pesquisa automática para detetar vulnerabilidades locais.

Deteção de software e ficheiros vulneráveis

A Gestão de Vulnerabilidades do Defender fornece camadas de deteção para o ajudar a descobrir:

  • Software vulnerável: a deteção baseia-se na aplicação instalada Common Platform Enumerations (CPE) que são conhecidas por serem vulneráveis à execução de código remoto Log4j.

  • Ficheiros vulneráveis: Ambos os ficheiros na memória e ficheiros no sistema de ficheiros são avaliados. Estes ficheiros podem ser ficheiros jar log4j-core com a versão vulnerável conhecida ou um Uber-JAR que contém uma classe de pesquisa jndi vulnerável ou um ficheiro log4j-core vulnerável. Especificamente:

    • determina se um ficheiro JAR contém um ficheiro Log4j vulnerável ao examinar ficheiros JAR e procurar o seguinte ficheiro: \META-INF\maven\org.apache.logging.log4j\log4j-core\pom.properties - se este ficheiro existir, a versão log4j é lida e extraída.
    • procura o ficheiro JndiLookup.class no ficheiro JAR ao procurar caminhos que contenham a cadeia "/log4j/core/lookup/JndiLookup.class" – se o ficheiro da classe JndiLookup.class existir, a Gestão de Vulnerabilidades do Defender determina se este JAR contém um ficheiro Log4j com a versão definida em pom.properties.
    • procura quaisquer ficheiros JAR log4j-core vulneráveis incorporados num JAR aninhado ao procurar caminhos que contenham qualquer uma destas cadeias:
      • lib/log4j-core-
      • WEB-INF/lib/log4j-core-
      • App-INF/lib/log4j-core-

Esta tabela descreve as capacidades de pesquisa suportadas pelas plataformas e versões:

Capacidade Tipo de Ficheiro Windows10+,
server2019+
Server 2012R2,
server2016
Server 2008R2 Linux + macOS
Memória Pesquisa Em Log4j-core Sim Sim[1] - Sim
Uber-JARs Sim Sim[1] - Sim
Pesquisa todos os ficheiros no disco Log4j-core Sim Sim[1] Sim -
Uber-JARs Sim Sim[1] - -

(1) As capacidades estão disponíveis quando KB5005292 está instalado no Windows Server 2012 R2 e 2016.

Saiba mais sobre as opções de exposição e mitigação do Log4Shell

  1. No portal Microsoft Defender, aceda a Vulnerabilidades de Gestão> deVulnerabilidades.
  2. Selecione CVE-2021-44228.
  3. Selecione Abrir página de vulnerabilidade.

Captura de ecrã da página de vulnerabilidades no dashboard de gestão de vulnerabilidades.

Mitigação de vulnerabilidades do Log4Shell

A vulnerabilidade log4Shell pode ser mitigada ao impedir pesquisas JNDI nas versões 2.10 - 2.14.1 do Log4j com configurações predefinidas. Para criar esta ação de mitigação, a partir do dashboard de deteção de ameaças:

  1. Selecione Ver detalhes de vulnerabilidade.
  2. Selecione Opções de mitigação.

Pode optar por aplicar a mitigação a todos os dispositivos expostos ou selecionar dispositivos integrados específicos. Para concluir o processo e aplicar a mitigação nos dispositivos, selecione Create ação de mitigação.

Captura de ecrã das opções de mitigação para CVE-2021-44228.

Estado da mitigação

O estado de mitigação indica se a mitigação da solução para desativar pesquisas JDNI foi aplicada ao dispositivo. Pode ver o estado de mitigação de cada dispositivo afetado nos separadores Dispositivos expostos. Isto pode ajudar a priorizar a mitigação e/ou a aplicação de patches de dispositivos com base no respetivo estado de mitigação.

Captura de ecrã a mostrar Possíveis estados de mitigação.

A tabela abaixo lista os potenciais estados de mitigação:

Estado da mitigação Descrição
Solução aplicada Windows: a variável de ambiente LOG4J_FORMAT_MSG_NO_LOOKUPS foi observada antes do reinício mais recente do dispositivo.

Linux + macOS: todos os processos em execução têm LOG4J_FORMAT_MSG_NO_LOOKUPS=true nas variáveis de ambiente.
Solução pendente de reinício A variável de ambiente LOG4J_FORMAT_MSG_NO_LOOKUPS está definida, mas não foi detetado nenhum reinício seguinte.
Não aplicado Windows: a variável de ambiente LOG4J_FORMAT_MSG_NO_LOOKUPS não foi observada.

Linux + macOS: nem todos os processos em execução têm LOG4J_FORMAT_MSG_NO_LOOKUPS=true nas variáveis de ambiente e a ação de mitigação não foi aplicada no dispositivo.
Parcialmente mitigado Linux + macOS: embora a ação de mitigação tenha sido aplicada no dispositivo, nem todos os processos em execução têm LOG4J_FORMAT_MSG_NO_LOOKUPS=true nas variáveis de ambiente.
Não aplicável Dispositivos com ficheiros vulneráveis que não estão no intervalo de versões da mitigação.
Unknown Não foi possível determinar o estado de mitigação neste momento.

Nota

Pode demorar algumas horas para que o estado de mitigação atualizado de um dispositivo seja refletido.

Reverter mitigações aplicadas à vulnerabilidade log4Shell

Nos casos em que a mitigação tenha de ser revertida, siga estes passos:

Para Windows:

  1. Abra uma janela elevada do PowerShell.
  2. Execute o seguinte comando:
  [Environment]::SetEnvironmentVariable("LOG4J\_FORMAT\_MSG\_NO\_LOOKUPS", $null,[EnvironmentVariableTarget]::Machine)

A alteração entrará em vigor após o reinício do dispositivo.

Para Linux:

  1. Abra o ficheiro /etc/environment e elimine a linha LOG4J_FORMAT_MSG_NO_LOOKUPS=true
  2. Eliminar o ficheiro /etc/systemd/system.conf.d/log4j_disable_jndi_lookups.conf
  3. Eliminar o ficheiro /etc/systemd/user.conf.d/log4j_disable_jndi_lookups.conf

A alteração entrará em vigor após o reinício do dispositivo.

Para macOS:

Remova o setenv do ficheiro. LOG4J_FORMAT_MSG_NO_LOOKUPS.plist das seguintes pastas:

  • /Library/LaunchDaemons/
  • /Library/LaunchAgents/
  • /Users/[username]/Library/LaunchAgents/ - para todos os utilizadores

A alteração entrará em vigor após o reinício do dispositivo.

Recomendações de segurança do Apache Log4j

Para ver a recomendação de segurança ativa relacionada com o Apache Log4j, selecione o separador Recomendações de segurança na página de detalhes da vulnerabilidade. Neste exemplo, se selecionar Atualizar o Apache Log4j , verá outra lista de opções com mais informações:

Captura de ecrã a mostrar a atualização da recomendação de segurança do apache log4j.

Selecione Pedir remediação para criar um pedido de remediação.

Explorar a vulnerabilidade no portal do Microsoft Defender

Assim que forem encontrados dispositivos, ficheiros e software expostos, as informações relevantes também serão transmitidas através das seguintes experiências no portal do Microsoft Defender:

Inventário de software

Na página de inventário de software, procure CVE-2021-44228 para ver detalhes sobre as instalações e exposição do software Log4j:

Captura de ecrã a mostrar a vulnerabilidade log4j na página de inventário de software.

Fraquezas

Na página pontos fracos, procure CVE-2021-44228 para ver informações sobre a vulnerabilidade do Log4Shell:

Captura de ecrã a mostrar a vulnerabilidade log4j na página de pontos fracos.

Utilizar investigação avançada

Pode utilizar a seguinte consulta de investigação avançada para identificar vulnerabilidades no software instalado nos dispositivos:

   DeviceTvmSoftwareVulnerabilities
   | where CveId in ("CVE-2021-44228", "CVE-2021-45046")

Pode utilizar a seguinte consulta de investigação avançada para identificar vulnerabilidades no software instalado nos dispositivos para ver as conclusões ao nível do ficheiro a partir do disco:

   DeviceTvmSoftwareEvidenceBeta
   | mv-expand DiskPaths
   | where DiskPaths contains "log4j"
   | project DeviceId, SoftwareName, SoftwareVendor, SoftwareVersion, DiskPaths