Agentic SOC Summit: o novo padrão para defesa autônomaInscreva-se

Log4j é uma biblioteca de registro de logs baseada em Java, mantida pela Apache Software Foundation. Ela é utilizada em inúmeras aplicações empresariais, frameworks e serviços em nuvem para registrar em log eventos do sistema, mensagens de depuração e erros de aplicações.

Sua flexibilidade e facilidade de integração fizeram da Log4j o framework de registro em log padrão para muitas aplicações Java. Por isso, ela era frequentemente incorporada em camadas profundas da stack de software por meio de dependências transitivas. Essa onipresença se transformou em um problema crítico quando uma importante falha de segurança foi descoberta no final de 2021.

O que é Log4Shell?

Log4Shell é uma vulnerabilidade crítica de dia zero (CVE-2021-44228) no Log4j, descoberta em dezembro de 2021. Ela permite que invasores executem remotamente código arbitrário nos sistemas afetados. A vulnerabilidade decorre da validação inadequada de entrada na funcionalidade de pesquisa JNDI (Java Naming and Directory Interface) da Log4j.

Como funciona o exploit

O exploit da vulnerabilidade envolve aproveitar o suporte da Log4j para pesquisas JNDI. A JNDI permite que aplicações recuperem recursos usando URLs, como URLs LDAP, RMI ou DNS. Em versões vulneráveis, a Log4j interpretava certas mensagens de log como instruções para realizar uma pesquisa JNDI — mesmo que essa entrada viesse de uma fonte não confiável.

Isso possibilita que invasores enviem mensagens de log especialmente criadas para fazer com que a Log4j busque e execute código de um servidor remoto, resultando em RCE (remote code execution, execução remota de código).

Image showing how the Log4j exploit works

Como muitas chamadas de registro em log armazenam dados controlados pelo usuário (como cabeçalhos HTTP ou entradas do usuário), a exploração pode ser algo simples quanto enviar uma string maliciosa para uma aplicação web vulnerável.

Essa falha rapidamente se tornou uma das vulnerabilidades de software mais graves da história recente, devido à sua simplicidade, alcance e potencial de impacto.

A gravidade da vulnerabilidade Log4Shell

A vulnerabilidade Log4Shell recebeu uma pontuação CVSS de 10,0, a classificação mais alta possível. Ela afetou uma ampla gama de sistemas, de aplicações empresariais em nuvem a dispositivos de IoT (internet of things, internet das coisas) para o consumidor.

Os fatores que tornaram a Log4Shell tão perigosa incluíam:

  • Integração profunda da Log4j em ecossistemas de software Java
  • A facilidade de exploração da vulnerabilidade
  • O fato de muitas organizações nem sequer perceberem que estavam executando código vulnerável

Saiba mais

Aprenda sete práticas recomendadas que podem garantir a resiliência da sua aplicação contra ameaças em constante evolução para reduzir possíveis danos e melhorar sua postura geral de segurança.

Noções básicas sobre cibersegurança: Sete melhores práticas de segurança de aplicações

Exploits reais da Log4Shell

A gravidade da Log4Shell levou à sua exploração imediata in the wild. A CrowdStrike Intelligence observou diversos atores de ameaças — de grupos patrocinados por estados-nações a criminosos com motivações financeiras — explorando a vulnerabilidade.

AQUATIC PANDA

AQUATIC PANDA, um ator de ameaças localizado na China e que tinha a dupla missão de coleta de informações de inteligência e espionagem industrial, foi um dos primeiros adversários identificados a usar a Log4Shell. De acordo com a equipe CrowdStrike Falcon® Adversary OverWatch™, o AQUATIC PANDA tentou explorar um servidor VMware Horizon vulnerável.

O grupo iniciou atividades de reconhecimento logo após a divulgação pública da vulnerabilidade e utilizou uma ferramenta de exploit da Log4Shell, que estava disponível publicamente, para obter o acesso inicial. Uma vez dentro do sistema, o AQUATIC PANDA executou comandos adicionais de reconhecimento e tentou baixar payloads adicionais via PowerShell. A equipe CrowdStrike® Falcon Adversary OverWatch® interrompeu com sucesso a atividade antes da entrega de qualquer payload, o que ressalta a importância da investigação contínua de ameaças e da detecção em tempo real.

Outros grupos criminosos

Grupos criminosos, incluindo afiliados de ransomware, incorporaram rapidamente a Log4Shell em seus playbooks de ataque. Em muitos casos, os atores de ameaças fizeram uma varredura na internet em busca de sistemas não corrigidos e usaram a vulnerabilidade como vetor de acesso inicial para implementar ransomware, exfiltrar dados ou estabelecer acesso persistente em ambientes corporativos.

A CrowdStrike observou tentativas de explorar sistemas vulneráveis em diversos setores, incluindo tecnologia, manufatura e serviços financeiros. Esses esforços frequentemente dependiam de ferramentas de exploração automatizadas que exigiam pouca sofisticação, o que as tornava acessíveis até mesmo a invasores menos qualificados.

Esses exemplos destacam a rapidez e a abrangência com que os invasores exploraram essa vulnerabilidade.

Como detectar e mitigar problemas da Log4Shell

Responder eficazmente à Log4Shell exige uma abordagem multicamadas que inclua tanto a detecção quanto a mitigação. Embora muitas organizações se apressem em corrigir os sistemas vulneráveis após descobrirem uma falha, é igualmente crucial detectar sinais de comprometimento e reforçar as defesas. A seguir, apresentamos estratégias essenciais para ajudar as equipes de segurança a identificar e neutralizar ameaças relacionadas à Log4Shell.

Técnicas de detecção

As organizações devem executar varredura em seus sistemas em busca de versões vulneráveis da Log4j usando ferramentas de segurança especializadas, como a CAST (CrowdStrike Archive Scanning Tool, ferramenta de varredura de arquivos da CrowdStrike)

As equipes de segurança também podem analisar logs e tráfego de rede em busca de indícios de tentativas de exploração. Padrões de pesquisa JNDI suspeitos ou conexões LDAP ou RMI de saída inesperadas podem indicar tentativas ou êxito de exploração.

Estratégias de mitigação

Após a detecção da vulnerabilidade, sua mitigação rápida e eficaz é fundamental para evitar a exploração e limitar os danos potenciais.

  • Correção imediata: a resposta mais segura e eficaz é atualizar para a biblioteca versão Log4j 2.17.1 (ou posterior), que remove completamente a funcionalidade JNDI vulnerável.
  • Correções temporárias: nos casos em que a correção imediata não é viável, desativar as pesquisas JNDI nos arquivos de configuração pode reduzir a exposição. No entanto, isso não deve ser considerado uma solução a longo prazo.
  • Defesas de rede: WAFs (Web application firewalls, firewalls de aplicações web) e plataformas de proteção de endpoint, como a plataforma CrowdStrike Falcon®, podem ajudar a detectar e bloquear tentativas de exploit em tempo real. Elas fornecem uma camada adicional de proteção enquanto as correções estão sendo aplicadas.
Image showing ways to protect from Log4Shell

Saiba mais

Proteger aplicações nativas em nuvem, incluindo container, máquinas virtuais, APIs e funções sem servidor, exige a reformulação da abordagem que muitas organizações adotam em relação à segurança. Saiba mais!

Blog: A maturidade da segurança nativa em nuvem: protegendo aplicativos e infraestrutura modernos

Lições aprendidas com a Log4Shell

A Log4Shell não foi apenas uma crise isolada, foi um alerta para a indústria de software. Ela revelou lacunas na visibilidade, no rastreamento de dependências e na prontidão de resposta. As lições a seguir destacam o que as organizações podem fazer para se preparar para vulnerabilidades futuras e fortalecer sua postura geral de segurança.

A necessidade de uma SBOM (software bill of materials, lista de materiais de software)

Um dos maiores desafios durante a resposta inicial à Log4Shell foi a visibilidade. Muitas organizações nem sequer sabiam que estavam usando a Log4j, pois ela estava integrada em componentes de terceiros.

Ao adotar SBOMs, as organizações têm mais clareza sobre as bibliotecas e dependências presentes em suas aplicações, permitindo respostas mais rápidas quando novas vulnerabilidades surgirem.

Fortalecimento das práticas de desenvolvimento de software seguro

Para reduzir a probabilidade de problemas semelhantes no futuro, as equipes de desenvolvimento devem integrar práticas de codificação segura, gerenciamento de dependências e varredura de vulnerabilidades em seus pipelines de CI/CD (continuous integration/continuous delivery, integração contínua/entrega contínua).

Atualizações regulares, ferramentas automatizadas e uma mentalidade que prioriza a segurança ajudam a minimizar os riscos ao longo do ciclo de vida do desenvolvimento de software.

O papel da CrowdStrike na defesa das empresas modernas

A Log4Shell destacou os riscos generalizados que vulnerabilidades em software de código aberto trazem para aplicações empresariais. A CrowdStrike respondeu rapidamente com regras de detecção, ferramentas de varredura e inteligência de ameaças em tempo real para ajudar as organizações a mitigar riscos.

O incidente serve como um lembrete da importância da segurança proativa. As organizações devem manter um monitoramento robusto, investir em gerenciamento de vulnerabilidades e se manter informadas por meio de fontes confiáveis, como a CrowdStrike, para responder eficazmente às ameaças emergentes.

Hari Holla é Gerente Sênior de Produtos na equipe de Produtos de Gerenciamento de Exposição da CrowdStrike. Com mais de 18 anos de experiência em redes e cibersegurança, Hari criou diversos produtos de tecnologia valiosos que os clientes adoram. Sua paixão pela criatividade o leva a resolver problemas de clientes com soluções inovadoras. A formação diversificada de Hari inclui cargos de gerenciamento de produtos, marketing técnico e desenvolvimento de software. Ele é mestre em Administração de Empresas e em Tecnologia da Informação.