O blog da AWS

Hotpatch para Apache Log4j

Por David Nalley and Volker Simonis
CVE-2021-44228 tornou o fim de semana movimentado, tentando corrigir ou mitigar a vulnerabilidade em uma plataforma de registro de código aberto amplamente utilizada, o Apache Log4j.Recomendamos que aqueles que executam aplicativos afetados atualizem o Log4j para a versão 2.16 para corrigir essa vulnerabilidade. No entanto, isto nem sempre é rápido, então o pessoal da equipe Coretto gastou algum tempo desenvolvendo uma ferramenta para corrigir deployments vulneráveis do log4j em tempo real. Essa ferramenta foi projetada para aplicar correções em um JVM em execução usando qualquer versão 2.0+ do Log4j. A ferramenta é idempotente, o que significa que você pode executá-la várias vezes na mesma JVM sem alterar o resultado além da aplicação inicial. Essa ferramenta também procura por todas as JVMs em execução e tenta mitigar a vulnerabilidade. Você também pode usá-la para corrigir shaded JARs que incluem log4j como uma dependência e corrigir várias instâncias do log4j no classpath.

Como funciona?

Essa ferramenta injeta um agente Java em um processo JVM em execução. O agente tenta corrigir o método lookup() de todas as instâncias de org.apache.logging.log4j.core.lookup.JndiLookup carregadas para sempre retornar a string “Patched JndiLookup::lookup()”. Isso é projetado para solucionar a vulnerabilidade de execução de código remoto CVE-2021-44228 no Log4j sem reiniciar o processo Java.

Se você tiver a possibilidade de redistribuir seus processos Java, também pode usá-lo como um agente estático, o que significa que você pode incluir esse patch em tempo de execução sem fazer login diretamente em seus servidores. Ambos os modos de operação são descritos no arquivo README.

Ótimo, onde posso encontrá-lo?

Essa ferramenta está disponível no GitHub hoje.

Observações

Essa vulnerabilidade é grave e devido à ampla adoção do Apache Log4j, seu impacto é significativo. Recomendamos fortemente que você revise, corrija ou mitigue essa vulnerabilidade. Essa ferramenta pode ajudar a mitigar o risco quando a atualização imediata não é possível.

Conclusão

This vulnerability is severe and due to the widespread adoption of Apache Log4j, its impact is large. We highly encourage you to review, patch, or mitigate this vulnerability. This tool may help you mitigate the risk when updating is not immediately possible.

Por fim, agradecemos à equipe Corretto por passar dias, noites e o fim de semana escrevendo, aprimorando e disponibilizando esse código.

Atualização de 14 de dezembro de 2021, 22h18 GMT: Essa ferramenta também aborda o CVE-2021-45046, além do CVE-2021-44228 original. Continuamos atualizando o arquivo README e implementando uma série de novas melhorias para a ferramenta. Agradecemos à comunidade de código aberto pelos feedbacks e incentivos contínuos.
Autores

Este artigo foi traduzido do Blog da AWS em Inglês.

 


Sobre os autores

David Nalley está envolvido com software de código aberto há quase duas décadas. Ele é o responsável pela estratégia e marketing de código aberto na AWS e atualmente é presidente da Apache Software Foundation e membro do conselho diretor do Internet Security Research Group. Você pode segui-lo no Twitter (@ke4qqq).

 

 

 

 

Volker Simonis é um Engenheiro de Software Principal na equipe Corretto da AWS e representa a Amazon no Comitê Executivo do JCP (Java Community Process). Ele trabalha em Máquinas Virtuais Java desde 2004 e é membro, revisor e contribuidor do OpenJDK desde o início. Antes de ingressar na Amazon, ele trabalhou para a SAP, Sun Microsystems e a Universidade de Tübingen, onde obteve seu mestrado e doutorado em Ciência da Computação. Ele representou a SAP no Comitê Executivo do JCP e foi membro dos Grupos de Especialistas do Java SE 9-13. Volker é um palestrante apaixonado e frequente em conferências ao redor do mundo e pode ser facilmente contatado pelo Twitter, em @volker_simonis.

 

 

 

 

Revisores

Paulo Cesar é um Technical Account Manager na AWS e reside em São Paulo, Brasil. Seu foco é ajudar clientes de diversos setores a aumentarem seus níveis de maturidade de segurança em cloud, apoiando-os também em diversos temas como otimização de custos e performance. Possui experiência em segurança ofensiva e defensiva, atua com tecnologia há mais de 23 anos. 

 

 

 

Warley Penido Ferreira é um Technical Account Manager na AWS que promove, Consultoria, Suporte e Parceria para grandes empresas. Possui larga experiência profissional de mais de 25 anos trabalhando em suporte nas mais variadas soluções de infraestrutura da área de Tecnologia da Informação. Obteve várias Certificações dos principais players de tecnologia do mercado, além de Bacharelado em Ciência da Computação, MBAs em Segurança de Informação, Gestão de Projetos e Infraestrutura. Baseado na aplicação de melhores práticas em estratégias de Excelência Operacional, Segurança, Resiliência, Performance, Optimização de Custos e Sustentabilidade, busca a melhor forma de trazer valor e otimização ao negócio dos clientes.