Partilhar 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, dispositivos integrados no Microsoft Defender para Endpoint e dispositivos que foram detetados mas que ainda não estão integrados, baseia-se em software vulnerável e em 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 no Windows 10 & Windows 11, Windows Server, Linux e macOS.

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

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

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 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 inicia pesquisas da mesma forma que a deteção de dispositivos pesquisa ativamente a sua rede. A pesquisa inclui vários pontos finais integrados (dispositivos Windows 10+ e Windows Server 2019+ ) e apenas pesquisa dentro de sub-redes para detetar dispositivos vulneráveis e expostos remotamente ao 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 aciona 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 Windows 10+,
server2019+
Server 2012R2,
server2016
Server 2008R2 Linux + macOS
Procurar na Memória Log4j-core Sim Sim[1] - Sim
Uber-JARs Sim Sim[1] - Sim
Procurar 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 do 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 Criar 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 as 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 seguinte 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 sã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