Vulnerabilidade crítica na biblioteca Apache Log4j

Os pesquisadores descobriram uma vulnerabilidade crítica na biblioteca Apache Log4j, com pontuação perfeita de 10 em 10 no CVSS. Veja como se proteger contra ela.

Vários veículos de notícias relataram a descoberta da vulnerabilidade crítica  CVE-2021-44228  na biblioteca Apache Log4j (nível de gravidade CVSS 10 de 10).  Milhões de aplicativos Java usam essa biblioteca para registrar mensagens de erro.  Para piorar a situação, os invasores já estão explorando ativamente essa vulnerabilidade.  Por esse motivo, a Apache Foundation recomenda que todos os desenvolvedores atualizem a biblioteca para a versão 2.15.0 e, se isso não for possível, use um dos métodos descritos na página da Apache Log4j Security Vulnerabilities.

Os motivos pelos quais a CVE-2021-44228 é tão perigosa

CVE-2021-44228, também denominada de Log4Shell ou LogJam, é uma vulnerabilidade da classe Remote Code Execution (RCE). Se os invasores conseguirem explorá-lo em um dos servidores, eles ganham a capacidade de executar código arbitrário e, potencialmente, assumir o controle total do sistema.

O que torna a CVE-2021-44228 especialmente perigoso é a facilidade de exploração: até mesmo um hacker inexperiente pode executar um ataque com sucesso usando esta vulnerabilidade.  De acordo com os pesquisadores, os invasores precisam somente forçar o aplicativo a gravar apenas uma string no log e, depois disso, podem fazer upload de seu próprio código no aplicativo devido à função de <em> substituição de mensagem de aviso</em>.

As provas de conceito (PoC, em inglês) para os ataques via CVE-2021-44228 já estão disponíveis na internet.  Portanto, não é surpreendente que as empresas de cibersegurança já estejam registrando varreduras massivas de rede para aplicativos vulneráveis, bem como ataques a honeypots.

Esta vulnerabilidade foi descoberta por Chen Zhaojun, da equipe de segurança de nuvem da Alibaba.

O que é Apache Log4J e por que essa biblioteca é tão popular?

Apache Log4j faz parte do Apache Logging Project.  Em geral, o uso dessa biblioteca é uma das maneiras mais fáceis de registrar erros e é por isso que a maioria dos desenvolvedores Java a usa.

Muitas grandes empresas de software e serviços online usam a biblioteca Log4j, incluindo Amazon, Apple iCloud, Cisco, Cloudflare, ElasticSearch, Red Hat, Steam, Tesla, Twitter e muitas outras.  Por ser uma biblioteca tão popular, alguns pesquisadores de segurança da informação esperam um aumento significativo nos ataques a servidores vulneráveis ​​nos próximos dias.

Quais versões da biblioteca Log4j estão vulneráveis ​​e como você pode proteger seus servidores de ataques?

Quase todas as versões do Log4j estão vulneráveis, a partir de 2.0-beta9 a 2.14.1.  O método de proteção mais simples e eficaz é instalar a versão mais recente da biblioteca, 2.15.0.  Você pode baixá-la na página do projeto.

Se por algum motivo não for possível atualizar a biblioteca, a Apache Foundation recomenda o uso de um dos métodos de mitigação.  No caso de versões do Log4J de 2.10 a 2.14.1, é recomendado definir a propriedade do sistema log4j2.formatMsgNoLookups ou definir a variável de ambiente LOG4J_FORMAT_MSG_NO_LOOKUPS como true.

Para proteger as versões anteriores do Log4j (de 2.0-beta9 a 2.10.0), os desenvolvedores da biblioteca recomendam remover a classe JndiLookup do caminho de classe: zip -q -d log4j-core – *. Jar org / apache / logging / log4j / core / lookup / JndiLookup .class.

Além disso, recomendamos instalar soluções de segurança em seus servidores – em muitos casos, isso permitirá que você detecte a inserção do código malicioso e interrompa o desenvolvimento do ataque.

Dicas