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:
Aceda a Definições>Configuração da deteção dedispositivos>.
Selecione Ativar deteção log4j2 (CVE-2021-44228).
Seleccione Guardar.
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
No portal do Microsoft Defender, aceda a Vulnerabilidades de Gestão> deVulnerabilidades.
Selecione CVE-2021-44228.
Selecione Abrir página de vulnerabilidade.
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:
Selecione Ver detalhes de vulnerabilidade.
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.
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.
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:
Abra uma janela elevada do PowerShell.
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:
Abra o ficheiro /etc/environment e elimine a linha LOG4J_FORMAT_MSG_NO_LOOKUPS=true
Eliminar o ficheiro /etc/systemd/system.conf.d/log4j_disable_jndi_lookups.conf
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:
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:
Fraquezas
Na página pontos fracos, procure CVE-2021-44228 para ver informações sobre a vulnerabilidade do Log4Shell:
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