Nos últimos dias a internet tem estado num verdadeiro campo de batalha, depois de ter sido revelado um bug conhecido como “Log4Shell”. Depois de ter sido descoberto e partilhado publicamente, este é considerado um dos bugs mais graves na Internet dos últimos tempos, sobretudo devido ao elevado número de sistemas que são afetados.
No entanto, apesar de muitos terem conhecimento de que se trata de uma falha grave... podem não saber exatamente o que é.
> Mas afinal de contas, o que é o Log4J?
O Log4J é um componente usado na linguagem de programação Java, que é utilizado para realizar o registo de logs para as mais variadas atividades dentro de uma aplicação.
Praticamente todas as aplicações geram alguma forma de registo sobre as suas atividades, seja para ajudar no desenvolvimento ou identificação de problemas, ou simplesmente para manter um registo das tarefas que estão a ser feitas.
Como exemplo, vamos supor que acede a uma aplicação construída em Java. Essa aplicação pode usar o Log4J para registar quando visitou o site e escrever esse conteúdo num ficheiro local.
Ou, mais útil para programadores, este componente pode ser usado para que possam ser registados erros ou tarefas especificas durante o desenvolvimento de uma app – e até mesmo apps em produção podem ter formas de registar os seus erros.
Como seria de esperar, o Log4J é algo bastante usado, e mesmo que o Java seja uma linguagem que, para a maioria dos consumidores, tem vindo a cair em desuso na internet, ainda existem muitas aplicações que são desenvolvidas e usadas no mesmo, sobretudo como backend de programas. Por exemplo, as aplicações do Android são, na sua base, compiladas em Java.
> Log4Shell?
Sabendo então o que é o Log4J, agora percebe-se melhor o que também é o Log4Shell. Basicamente, o Log4Shell é uma falha que foi descoberta sobre este componente, e que pode permitir a exploração do mesmo para executar código malicioso de forma remota.
O código CVSS para esta falha aplica a mesma num valor de 10/10, ou seja, uma falha considerada como extremamente importante. Ao contrário do que acontece com outras vulnerabilidades, o bug existente no Log4j é algo “por padrão” do componente.
Ou seja, não necessita de nenhuma configuração especial nem se aplica apenas a versões especificas. Se um programa conta com o Log4j, está vulnerável.
A falha já foi confirmada como tendo afetado sistemas de empresas como a Steam, Minecraft, Cloudflare, e iCloud, entre outros. Basicamente, qualquer sistema onde o Java seja usado pode estar vulnerável.
A falha foi inicialmente descoberta pelo investigador Chen Zhaojun, da empresa Alibaba Cloud Security. Inicialmente a mesma foi verificada e confirmada como afetando sistemas do Minecraft, o que inclui os servidores onde o cliente do jogo se encontra, bem como os próprios clientes dos utilizadores.
O mais grave da falha é que esta pode ser facilmente explorada. Até mesmo um hacker com conhecimentos básicos pode explorar a mesma, permitindo assim executar código em sistemas de forma maliciosa. E para complicar ainda mais, não é simples de identificar se um sistema foi explorado ou não por esta falha.
Portanto, trata-se de uma falha que pode ser facilmente explorada, afeta milhares de sistemas na Internet e ainda é difícil de ser identificada. Grave? Parece que sim.
> Como prevenir?
A Apache já lançou uma atualização do Log4j v2.15.0, que corrige a falha e impede a exploração. No entanto, cabe ainda aos programadores ou entidades que tenham sistemas onde o Log4j seja usado de atualizarem o mesmo.
Tendo em conta o elevado número de programas e sistemas onde este componente é usado, este processo pode ser algo demorado.
Nenhum comentário
Seja o primeiro!