A noite de sexta-feira para sábado (dia 11) foi fundamental para garantir que a multinacional em que trabalha Salvador Sousa (nome fictício), programador, pudesse continuar a manter em segurança os dados pessoais e serviços que disponibiliza em todo o mundo. Parte do trabalho foi feito a partir de Lisboa, dias antes de o país acordar para o problema. Mesmo assim, com tudo aparentemente resolvido, no sábado ao final do dia a dúvida ainda pairaiva no ar: “Os nossos servidores foram atacados?” A resposta não era boa: “Não há maneira de o saber”, conta agora ao Observador.
O culpado desta noite sem descanso para o engenheiro informático e programadores em todo o mundo chama-se “Log4jshell”, uma vulnerabilidade informática de uma infraestrutura de registos da Apache Foundation apelidada de “log4j”. Como explica Miguel Pupo Correia, professor de engenharia informática e investigador no Instituto Superior Técnico, esta falha permite “a alguém executar um pacote de software num computador da vítima”. Por outras palavras, permite que alguém aceda aos servidores de empresas que usam esta tecnologia (são muitas, mas já lá vamos) e possa fazer ataques informáticos.
“Sempre que alguém entra, isto [Log4j] regista a entrada, serve para guardar estes registos e associa algum tipo de informação”, tenta simplificar Pupo Correia. O académico explica ainda que “uma das coisas que a falha pode criar é permitir que se roubem dados de acesso que estão servidores”. Resumindo mais uma vez: é uma vulnerabilidade com consequências potencialmente gigantescas.
Prova da afirmação acima é que esta falha criou alertas “até nas empresas mais seguras do mundo”, explicou o programador que pediu anonimato, assim como reserva do nome da entidade para a qual trabalha. “No nosso lado, não temos conhecimento de termos sido afetados, não sabemos”, diz, acrescentando: “Não temos essa visibilidade”.
Como conta o mesmo programador informático, esta falha permite que “uma pessoa de fora consiga executar código nos servidores”. Ou seja, na sexta-feira, quando o problema foi divulgado ao mundo pela Alibaba (que o descobriu) e pela Apache, empresas e serviços em todo o mundo tiveram de atualizar e auditar todos os sistemas potencialmente afetados para garantir que não houve males maiores. Qual é o problema? Como dissemos, a falha só foi conhecida publicamente a 10 de dezembro. Antes disso pode ter comprometido dados de servidores e, “simplesmente”, não há maneira saber.
Que falha é esta e o que é que o Minecraft tem a ver com isto?
Empresas “grandes” como a de Salvador rapidamente reagiram. Tendo sido conhecida esta vulnerabilidade, acionaram-se os planos de emergência que equipas de cibersegurança têm preparados. Na prática, isto significa que passaram muitas horas a atualizar sistemas com as correções que a Apache disponibilizou e tentaram encontrar danos causados tanto quanto é possível antes de os ataques começarem a ser feitos em massa. Contudo, nem todas as empresas têm este tipo de planos preparados e, como o Log4j está na base de um sistema que é utilizado em todo o mundo veio para ficar.
Segundo investigadores de empresas ligadas à cibersegurança online como a Cisco e a Cloudflare, desde o início do mês que houve quem tentasse aproveitar-se desta falha “muito fácil de explorar”, como conta o programador de sistemas. “Bastava pôr um código”, diz a mesma fonte.
Inúmeros programas informáticos em servidores utilizam uma linguagem de código apelidada como Java (já existe há décadas). De tempos a tempos, os servidores têm de criar registos de atividade para garantir a segurança do sistema. O log4j é um dos códigos mais usados para isto.
O facto de este problema estar a associado a um código muito utilizado já cria, por si só, uma vulnerabilidade maior. Porém, foi por ser uma falha relativamente fácil de ser aproveitada que criou problemas maiores. Que o diga quem joga o famoso videojogo da Mojang, o “Minecraft”.
A versão original do Minecraft, um videojogo criativo de construção e blocos num mundo aberto, utiliza código Java e é utilizada por milhões de jogadores. Como explica ao Observador João Guilherme, engenheiro eletrotécnico formado pelo Instituto Superior Técnico e responsável informático numa empresa suíça, foi a partir deste videojogo que o problema se tornou conhecido.
Do ponto de vista profissional, como não “trabalha com Java”, João explica que, apesar de o problema tê-lo posto a si e a colegas “em alerta”, não os preocupou. “Usamos C++ [linguagem informática]”. Por isso, “à partida, não afetou” os sistemas com os quais trabalha. Mesmo assim, e sendo entendido nesta área, João Guilherme assume que logo que soube da notícia esta preocupou-o “a nível pessoal”. “No meu tempo livre utilizo serviços que utilizam Java”, diz o responsável de software, alertando: “Há imensa coisa que utiliza Java”.
[Abaixo, um dos muitos vídeos que têm sido partilhados na internet no qual se pode ver como é que esta vulnerabilidade pode ser usada no “Minecraft”]
O caso do Minecraft mostrou como é fácil abusar desta vulnerabilidade. Como conta o Law Fare, bastava enviar uma mensagem na caixa de código do jogo para ficar com o controlo de um servidor. “Era uma simples partida”, conta o blog norte-americano sobre assuntos de segurança nacional dos EUA. Contudo, “rapidamente” pôs os alarmes a tocar em todo o mundo.
Curioso com a vulnerabilidade relatada pelo blog, e tendo a versão original do jogo Minecraft, João Guilherme confirmou este problema no videojogo, algo que inúmeros entendidos nestes temas têm feito desde sexta-feira e partilhado em redes sociais como o Twitter ou o Reddit. À semelhança de muitos outros, percebeu a gravidade do problema.
[Um momento em que um programador percebe que uma simples linha de código permite executar programas que não deveria]
aaaaand then code execution?? #log4j #minecraft pic.twitter.com/aSFzhsm87l
— John Hammond (@_JohnHammond) December 10, 2021
O caso do Minecraft mostrou a fragilidade do sistema da Apache, mas o Java é bem mais abrangente do que este jogo. Por isso é que depois de ter confirmado a falha, João teve a dúvida: até onde vai o impacto desta falha?
Mineração de criptomoedas e servidores. O que é que foi feito para evitar mais problemas?
Apesar de esta vulnerabilidade só se ter tornado pública este mês, a mesma era conhecida pelos menos desde 24 de novembro, quando o grupo Alibaba alertou a Apache do erro. Durante esse período pode ter sido explorada. No entanto, como explica Pupo Correia, foi o facto de se ter tornado conhecida que levou muitos a quererem aproveitar-se da mesma.
“Este log4j é um pacto e de software meio escondido muito utilizado” e “é um bocado como o pneu dos carros”, diz. Por outras palavras, os fabricantes fazem os carros sabendo que vai precisar de pneus, mas quem os faz são outras empresas. Se os pneus não forem bons, o carro despista-se.
Quando se descobriu que a falha existia, vários hackers quiseram saber se podiam pôr “carros” — neste caso, websites ou bases de dados — a derrapar. Ao mesmo tempo, programadores em todo o mundo, como Salvador, atualizavam softwares. Porém, quem não corrigiu ficou vulnerável. A quê? “Roubo de dados pessoais que tenha armazenados” ou até a que os seus sistemas sejam usados para “minerar criptomoedas”. Esta última técnica permite digitalmente criar moedas digitais, mas que consome muita potência e energia de um computador, isto leva piratas informáticos (hackers) a querem fazê-lo secretamente noutra máquinas.
Sendo um código simples “permitiu a um pirata informático (hacker) sair e entrar sem deixar rasto”, explica o académico. Foi por este motivo que grandes empresas informáticas como a Microsoft, a Cloudflare, a Amazon ou a IBM lançarem comunicados explicar que todos os sistemas potencialmente afetados estavam a ser atualizados e a aplicarem novas medidas para programas que disponibilizam e são utilizados em todo o mundo.
O “Log4jshell” pôs as empresas de alerta que, “automaticamente” e evitando que os utilizadores tivessem danos, começaram a implementar atualizações, como explica Miguel Pupo Correia. O lado mau é que, do lado dos utilizadores como João ou quem está a ler este artigo, há pouco a fazer além de garantir que se utiliza “sistema atualizados”.
“À medida que o tempo passa cresce imenso a vulnerabilidade” das empresas que não agiram e tentaram mitigar a falha com as atualizações que foram disponibilizadas. Devido à dimensão do problema o académico vai mais longe e assume o importante é todos estarem preparados: “Até já pus uma questão sobre este tema para o exame dos meus alunos”.
Como conta o The Verge e outros órgãos de comunicação social uma semana depois de este problema ter sido conhecido, “os problemas estão a começar”. Esta falha pode ter permitido que os atacantes tenham “criado uma porta” para aceder remotamente aos sistemas de empresas que utilizam este programa. Por isso, como conta Salvador, os programadores ficaram todos em alerta e o mais provável é que nos próximos meses se continue a trabalhar para “mitigar” os efeitos desta vulnerabilidade. Exemplo disso é que, nesta semana, já houve novas atualizações para resolver problemas que a primeira atualização não resolveu.
Até lá, “mantenham os softwares atualizados”. Mesmo assim, e se quiser dormir melhor à noite, pode ficar mais descansado, porque “este tipo de problemas é raro”. Se, por um lado, os hackers podem ter encontrado um “porta” de entrada em servidores (segundo a empresa de cibersegurança Cyber Point mais de um milhão de tentativas para aproveitar este bug), a dimensão dos problemas pôs as tecnológicas em “alerta” máximo.