Vários dias se passaram desde a dramática revelação do CVE-2021-44228 (também conhecido como Log4Shell), uma falha RCE facilmente explorável (sem autenticação) no Apache Log4j, um popular utilitário de registro baseado em Java de código aberto que aparentemente é usado pela maioria dos aplicativos corporativos por aí.
A existência da vulnerabilidade e a liberação pública de PoCs explorando-a tornaram este fim de semana um pesadelo para aqueles que são encarregados de mitigar suas consequências e manter os sistemas e redes da empresa seguros.
Atualização do Log4Shell: O que aprendemos desde a grande revelação?
Em primeiro lugar, afeta apenas as versões 2.x do Apache Log4j (ou seja, Apache Log4j 2). Para ser mais preciso, afeta as versões de (e incluindo) 2.0-beta9 a 2.14.1.
“A vulnerabilidade está no recurso de pesquisa JNDI da biblioteca log4j. Embora o pano de fundo em torno disso seja muito complexo, a exploração na verdade não é”, diz o manipulador do SANS Bojan Zdrnja.
“O recurso de pesquisa JNDI do log4j permite que variáveis sejam recuperadas via JNDI – Java Naming and Directory Interface. Esta é uma API que fornece funcionalidade de nomenclatura e diretório para aplicativos Java. Embora existam muitas possibilidades, o log4j one suporta (AFAIK) LDAP e RMI (Remote Method Invocation). Em outras palavras, quando uma nova entrada de log está sendo criada e log4j encontra uma referência JNDI, ela literalmente irá para o recurso fornecido e buscará o que precisar buscar para resolver a variável necessária. E nesse processo, pode até baixar classes remotas e executá-las!”
A superfície de ataque exposta
“Nem todo software que usa Java é vulnerável. Somente o software que inclui a biblioteca log4j2 é vulnerável”, observou o Dr. Johannes Ullrich, Reitor de Pesquisa do SANS Technology Institute.
“A exploração depende da versão Java e de como o log4j2 é usado. Nem todos os softwares que usam log4j2 são vulneráveis.”
A exploração bem-sucedida dependerá “de várias condições pré e pós, como a JVM que está sendo usada, a configuração real, etc.”, explicou o CERT do governo suíço e aconselhou os defensores sobre o que fazer.
Muitas empresas começaram a investigar se seu software é vulnerável, e algumas já compartilharam suas descobertas (e estão trabalhando em patches ou já os lançaram): Oracle, VMware, IBM (o WebSphere Application Server é afetado), Jamf, Cisco…
A biblioteca de log é usada no Apache Druid, Apache Flink, Apache Solr, Apache Spark, Apache Struts2, Apache Tomcat e possivelmente outros aplicativos / frameworks de código aberto desenvolvidos por equipes sob a Apache Software Foundation.
Há uma lista de softwares vulneráveis com curadoria da comunidade e certamente continuará se expandindo nos próximos dias.
Dr. Richard Ford, CTO da Praetorian, disse à Help Net Security que os engenheiros e pesquisadores da empresa têm digitalizado seus clientes e encontrado vulnerabilidades no campo – e inadvertidamente descobrindo a vulnerabilidade em terceiros que estão em sistemas adjacentes ou integrados.
“Naturalmente, estamos seguindo políticas de divulgação responsável, então não podemos chamar esses sistemas pelo nome, mas é uma das maiores exposições que vimos em escala da Internet. Todas as vulnerabilidades são tipicamente pontuadas pelo quão perigosas são: essa vulnerabilidade tem praticamente a maior pontuação possível, e parece provável que até mesmo alguns profissionais desconhecam seu impacto potencial. A situação está evoluindo rapidamente, e estamos aprendendo muito sobre o escopo e o impacto dessa vulnerabilidade à medida que trabalhamos rapidamente com os clientes para ajudar a mitigar o risco a curto prazo, enquanto eles trabalham em uma solução de longo prazo, o que exigirá corrigir todas as instâncias do código vulnerável – um processo que pode levar meses”, acrescentou.
O CTO Tenable Renaud Deraison diz que está descobrindo novos aplicativos a cada minuto que usam o Log4j de uma forma ou de outra.
“Isso afeta não apenas o código que você constrói, mas também os sistemas de terceiros que você possui. Tudo, desde a nova impressora que você comprou para o escritório até o sistema de emissão de bilhetes que acabou de implantar, é potencialmente afetado por essa falha. Alguns sistemas afetados podem estar no local, outros podem estar hospedados na nuvem, mas não importa onde estejam, a falha provavelmente terá impacto”, observou ele.
“Para lhe dar uma noção do escopo absoluto: já estamos na Tenable vendo clientes auditando 1.000 sistemas por segundo e identificando um sistema afetado por segundo.”
Ataques na natureza
A equipe unificada de inteligência contra ameaças da Microsoft disse no sábado que observou principalmente atacantes procurando a falha, mas que as atividades de exploração e pós-exploração também foram observadas.
“Com base na natureza da vulnerabilidade, uma vez que o invasor tenha acesso e controle completos de um aplicativo, ele pode realizar uma infinidade de objetivos. A Microsoft observou atividades, incluindo a instalação de mineradores de moedas, Cobalt Strike para permitir roubo de credenciais e movimento lateral e exfiltrar dados de sistemas comprometidos.”
Outros confirmaram atacantes explorando o CVE-2021-44228 para entregar mineiros de moedas.
Mas a situação pode se deteriorar em breve, já que aparentemente um verme explorando a falha está em andamento e pode ser usado em breve por criminosos cibernéticos.
O que os defensores podem fazer?
Descobrir aplicativos vulneráveis vem em primeiro lugar.
Pesquisadores de segurança da Huntress criaram uma ferramenta para ajudá-lo a testar se seus aplicativos são vulneráveis. Outros métodos também estão disponíveis.
A melhor maneira de mitigar o risco de exploração é implementar patches, mas como muitos fornecedores ainda estão trabalhando neles – e os patches Log4j ainda são apenas candidatos a lançamento – um bom primeiro passo é implementar as mitigações aconselhadas.
Pesquisadores da Cybereason também desenvolveram e lançaram uma “vacina” para a vulnerabilidade que pode ajudar na mitigação temporária (embora existam limitações, e essa opção não deve ser uma solução final).
“Em suma, a correção usa a própria vulnerabilidade para definir o sinalizador que a desliga. Como a vulnerabilidade é tão fácil de explorar e tão onipresente—é uma das poucas maneiras de fechá-la em certos cenários”, explicou o CTO da Cybereason, Yonatan Striem-Amit.
Sonatype tem conselhos adicionais para mitigação para desenvolvedores, usuários e operadores de software usando Log4j.
Recomendações fornecidas pelo governo suíço CERT, Fox-IT e Cisco Talos também são úteis, pois abrangem mitigação, remediação e detecção de exploração.
ATUALIZAÇÃO (13 de dezembro de 2021, 10:48 PT):
O Centro Nacional de Segurança Cibernética Holandês (NCSC-NL) também está compilando uma lista abrangente e expandível de produtos afetados/não afetados, em ordem alfabética.
FONTE: HELPNET SECURITY