Blog

vulnerabilidades usadas pelo Log4Shell

Como detectar vulnerabilidades usadas pelo Log4Shell

Desde que hackers, mesmo os mais inexperientes, começaram a se aproveitar da vulnerabilidade Log4Shell, desde o final de 2021, equipes de segurança estão lutando para entender o risco para seus ambientes e identificar quais ferramentas são mais eficientes para ajudar a detectar as vulnerabilidades usadas pelo Log4Shell. Quais abordagens são mais eficazes e onde elas falham?

Especialistas da empresa Veracode avaliam como as ferramentas SCA (Software Composition Analysis – Análise de Composição de Software) são as mais indicadas para identificar as vulnerabilidades usadas pelo Log4Shell.

Ferramentas SCA e as vulnerabilidades usadas pelo Log4Shell

As ferramentas SCA fornecem informações sobre os componentes de software de código aberto, riscos associados a bibliotecas de terceiros e suas vulnerabilidades. Assim, integrar uma solução SCA abrangente, rápida e precisa em seu fluxo de trabalho de desenvolvimento de software tornou-se indispensável.

Essas ferramentas são adequadas para identificar a presença de componentes log4j-core vulneráveis ​​em aplicativos Java e outras bases de código Java. É importante que a ferramenta SCA identifique e relate a versão exata que está sendo usada, pois houve uma enxurrada de lançamentos do log4j-core desde o final de 2021. Qualquer ferramenta que relate a presença do Log4Shell apenas porque “log4j” aparece no nome do arquivo resultará em falsos positivos e perda de tempo.

Certifique-se de que sua ferramenta SCA analisa toda a base de código, incluindo dependências transitivas. Não é suficiente inspecionar apenas o arquivo POM para um repositório de código baseado em Maven. O POM faz referência apenas às dependências diretas que os desenvolvedores incluíram. Na forma como o software é construído hoje, todos os componentes necessários que não são referenciados no POM (como dependências transitivas) são puxados automaticamente quando uma compilação é executada para construir o aplicativo completo adequado para implantação.

O Veracode SCA oferece uma solução robusta para detectar o Log4Shell em seu ambiente. A verificação pode ser feita carregando um aplicativo pré-criado ou verificando durante a construção do projeto a partir da linha de comando, um script ou dentro de um pipeline de CI. Os gerenciadores de pacotes baseados em Java Maven, Gradle e Ant são suportados, bem como arquivos JAR e/ou WAR simples.

Recursos mais avançados

Como resultado desta divulgação de vulnerabilidades usadas pelo Log4Shell mais recente, os clientes da Veracode estão aproveitando mais os recursos avançados de SCA. Com o Veracode SCA, você pode aproveitar o recurso Métodos Vulneráveis ​​para ajudar a ver não apenas se você tem uma descoberta, mas também se está invocando por meio de seu código personalizado. Depois de identificar um aplicativo vulnerável, solicitações de pull automatizadas podem ser geradas para simplificar a correção.

O banco de dados de vulnerabilidades Veracode mantém um registro de vulnerabilidades em componentes de código aberto e é atualizado automaticamente para refletir a mudança de estado de todo o ecossistema de código aberto, incluindo o log4j-core. E com o Veracode SCA, os resultados são atualizados automaticamente quando novas vulnerabilidades são descobertas em componentes de código aberto. Não é necessário executar uma nova verificação. Da mesma forma, os usuários do Veracode podem optar por assistir seus projetos para receber uma notificação por e-mail se a postura de segurança de seus projetos mudar.

As ferramentas de análise de composição de software devem ter a maioria ou todos os seguintes recursos:

  • Orientação de correção e insights técnicos
  • Monitoramento automático
  • Rastreamento de bugs
  • Análise e relatórios
  • Entrega contínua
  • Comparação de Análise de Composição de Software

O código aberto veio para ficar

As ferramentas de análise de composição de software verificam e analisam a base de código de uma organização para qualquer código-fonte aberto. Uma vez que qualquer código-fonte aberto é identificado, a ferramenta de análise de composição de software pode determinar se há alguma informação de licenciamento ou ameaças de segurança presentes no código. As informações de licenciamento podem incluir se algum código-fonte aberto requer atribuição e se os requisitos de licenciamento estão em conformidade com as políticas de uma organização. No lado da segurança, as ferramentas SCA podem detectar quaisquer pontos fracos de segurança e sugerir soluções potenciais com base em toda a base de código.

Não nos enganemos, as bibliotecas de código aberto continuarão a ser usadas em todos os setores. Embora o uso de bibliotecas de código aberto seja agora uma prática aceita no desenvolvimento de software, sua adoção representa um grande desafio do ponto de vista da segurança. Agora, era uma vulnerabilidade de dia zero em uma biblioteca Java, mas, amanhã, pode ser uma biblioteca em JavaScript, Python, .NET ou outra linguagem de programação.

O uso de bibliotecas de código aberto desatualizadas e vulneráveis ​​é um problema comum, especialmente no ecossistema Java. No mais recente relatório Veracode de código aberto State of Software Security (SOSS), Java ficou em terceiro lugar depois de Ruby e JavaScript na lista de linguagens em que os desenvolvedores não acompanham as versões mais seguras de bibliotecas usadas em seus aplicativos. O relatório também descreve como quase 65% das dependências de código aberto em Java nunca são atualizadas após o primeiro uso.

Em termos de detecção de vulnerabilidades, as ferramentas SCA parecem ser a escolha mais eficaz quando uma nova vulnerabilidade em uma biblioteca de código aberto chega ao noticiário, como as vulnerabilidades usadas pelo Log4Shell. As ferramentas SCA são voltadas para identificar e manter com precisão um inventário de componentes de software livre em portfólios de aplicativos e fornecem o maior contexto para entender as vulnerabilidades que se aplicam a versões específicas.

A transformação começa agora.