O que os Programadores de aplicativos precisam fazer agora para combater as explorações do Log4j

Porque você já pode estar em risco, como detectar e mitigar as vulnerabilidades do Log4j agora e como melhorar a segurança do seu código no futuro.

Peesquisadores de segurança descobriram uma série de vulnerabilidades importantes no software Log4j Java que é usado em dezenas de milhares de aplicativos da web. O código é amplamente usado em sistemas de consumidores e empresas, em tudo, desde Minecraft, Steam e iCloud até sistemas Fortinet e Red Hat. Um analista estima que milhões de endpoints podem estar em risco.

O Log4j é apenas o mais recente de uma série de ataques à cadeia de fornecimento de software, incluindo SolarWinds (que teve um processo de compilação comprometido) e Kaseya (onde os invasores substituíram o código com malware).

Desde que a primeira vulnerabilidade do Log4j veio à tona, fornecedores e analistas de segurança publicaram uma grande quantidade de informações sobre o que fazer, abrangendo todo o mapa. Algumas pessoas publicaram cenários quase apocalípticos, enquanto outros têm previsões menos terríveis. A Check Point Software Technologies viu tentativas de exploração em quase metade de sua base de clientes. A Contrast Security descobriu que 58% dos aplicativos Java têm versões vulneráveis ​​presentes, mas apenas 37% estão realmente usando o Log4j.

As quatro edições são CVE-2021-44228 , CVE-2021-45046 , CVE-2021-4104 e CVE-2021-45105 . A Agência de Segurança Cibernética e Infraestrutura dos EUA está mantendo uma página da Web com links para vários blogs de fornecedores , juntamente com uma lista de aplicativos afetados., e está tentando manter ambos atualizados com quaisquer correções. Os problemas envolvem vários recursos do software de registo, incluindo as mensagens de evento Java Naming and Directory Interface (JDNI) e JMSAppender, que permitem a execução remota de código. O que torna esse conjunto de vulnerabilidades perigoso é que os invasores não precisam de muita experiência para obter esse acesso remoto. A última vulnerabilidade refere-se a uma condição de negação de serviço, mantendo todos em alerta. E, mais recentemente, a Blumira encontrou um novo vetor de ataque que amplia a superfície geral usando WebSockets.

Parece que não ouvimos o fim do Log4j. O que está claro é que, como programador de aplicativos, você tem muito trabalho a fazer para encontrar, corrigir e evitar problemas do log4j no curto prazo e algumas coisas com as quais se preocupar no longo prazo.

Você já pode estar em risco

Antes de começar a bloquear as coisas, Ariel Parnes, COO da Mitiga, adverte que “Você deve ver se sua organização já foi invadida usando o Log4j em algum momento no passado. Os criminosos podem já estar lá dentro.” O gestor de TI, John Cronin, coloca as principais questões: “Você sabe quais dos seus servidores usam o Log4j? Quanto tempo você levará para produzir uma lista desses servidores? Você pode corrigi-los num momento? Você tem ferramentas automatizadas ou alguém precisa fazer login em todos os servidores e fazer isso manualmente? Você tem um processo para corrigir servidores de produção ao vivo durante o horário de pico de uso?” Responder a essas perguntas exigirá algum esforço, com certeza.

Os analistas de segurança encontraram explorações desde 1º de dezembro de 2021, usando uma ampla variedade de protocolos de rede, incluindo LDAP, RMI, DNS e HTTP. Essas explorações instalaram uma variedade de malware, incluindo mineradores de criptomoeda ocultos, uma nova família de ransomware que o Bitdefender chama de Khonsari e código para ingressar na botnet Mirai. E para completar, vários pesquisadores relataram explorações originadas de invasores patrocinados pelo Estado na China, Coreia do Norte, Turquia e Irão.

Seu plano de defesa imediata

Sua primeira linha de defesa é atualizar para as versões mais atuais do Log4j. Inicialmente, o Apache lançou um patch que acabou por ainda ter vulnerabilidades. As versões mais atuais são Log4j v.2.17.0 , se você estiver executando o Java 8 ou posterior, e Log4j v.2.12.2 , se estiver executando o Java 7 em sua infraestrutura de aplicativo da web. Eles desativam o JNDI por padrão e removem o acesso à pesquisa de mensagens, ambos os quais estão no centro das várias vulnerabilidades. Desabilitar o JNDI pode quebrar algo nos seus aplicativos, portanto, teste isso com cuidado antes de implementar em qualquer sistema de produção.

Você também pode interromper qualquer registo baseado em Java se não precisar dele para nenhum de seus aplicativos. Novamente, teste antes de executar.

E aqueles de vocês que executam seu próprio servidor Minecraft devem verificar e ver se ele está executando o Minecraft v.1.8.8 ou posterior; essas versões são vulneráveis. A Microsoft lançou o Minecraft v.1.18.1, que corrige o problema. Você deve atualizar imediatamente ou encontrar outro servidor mais confiável que tenha sido corrigido.

Quais ferramentas de deteção estão disponíveis

Os fornecedores de segurança trabalharam horas extras para aumentar suas ferramentas e você deve aproveitar as várias ofertas gratuitas. Abaixo, listei uma variedade de scanners que podem ser usados ​​para localizar o código vulnerável em aplicativos em execução ou arquivos de origem. Você deve determinar se esse código foi implantado em qualquer instância de produção.

Estratégias de longo prazo para melhorar a segurança da codificação

Primeiro, entenda as dependências de código. Um dos desafios do Log4j é sua popularidade e inclusão em inúmeras bibliotecas Java. Depois de eliminar as versões mais antigas em seu próprio código, é hora de investigar o que mais você está executando que depende disso. Se você usa os frameworks Apache Struts2, Flume, Dubbo, Kafka, Solr, Druid ou Fink, você terá que atualizar as bibliotecas Log4j dentro desses projetos. Se o Struts atingir uma nota familiar, uma exploração em 2017 levou ao comprometimento dos bancos de dados da Equifax que vazaram dados privados de mais de 140 milhões de clientes.

Tanya Janca, do WeHackPurple (uma excelente fonte sobre segurança de aplicativos em geral), sugere que você use dependencyGraph , Snyk ou  OWASP’s Dependency-Check Depois de encontrar qualquer dependência, comente o código que chama Log4j se você não puder corrigi-lo imediatamente.

Entenda como funcionam os firewalls de aplicativos da Web (WAFs). Se você não tiver um WAF, agora é a hora de obter umSe algum de seu código for implantado por trás de um WAF, ative suas regras de deteção e verifique se o fornecedor atualizou suas regras para cobrir todas as vulnerabilidades mais recentes. Mas perceba que desde que a falha foi anunciada, os pesquisadores  demonstraram muitas maneiras de construir cargas úteis aninhadas e ofuscadas que contornariam as regras de filtragem WAF propostas. Fastly elaborou uma extensa explicação sobre como testar a eficácia do WAF .

Aproveite as ferramentas de mitigação e correção de vulnerabilidades do Log4j. Várias empresas já entregaram ferramentas de mitigação para o Log4j:

Fonte: InfoWorld

Comments
All comments.
Comments