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.
#Log4Shell pic.twitter.com/1bKDwRQBqt
— Florian Roth (@cyb3rops) December 10, 2021
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.