A crise de segurança do Log4j agravou-se esta semana, com os investigadores a descobrirem que a primeira correção para a falha crítica do Log4Shell não eliminou completamente o comportamento perigoso, os fornecedores de software lançaram atualizações repetidas e o governo dos EUA ordenou às agências federais civis que identificassem e corrigissem os sistemas vulneráveis num calendário de emergência.
A vulnerabilidade original, CVE-2021-44228, permite aos atacantes, em muitas circunstâncias, executar código remotamente através de textos especialmente criados e processados pelo Apache Log4j, um componente de registo (logging) incorporado em todo o ecossistema de software Java. A Apache Software Foundation afirmou na terça-feira que o Log4j 2.15.0, lançado para corrigir a falha inicial, não oferecia proteção completa contra determinadas configurações de ataque, o que levou a uma segunda vulnerabilidade, CVE-2021-45046, e à recomendação de migração para versões mais recentes.
Uma emergência transforma-se numa corrida contra o tempo para resolver os problemas de forma improvisada
O problema técnico é particularmente complexo porque o Log4j encontra-se frequentemente em várias camadas abaixo das aplicações que as organizações efetivamente compram e operam. Uma empresa pode não estar ciente da necessidade de implementar a biblioteca, mesmo utilizando produtos comerciais, aplicações internas ou serviços na nuvem que a contenham. Isto torna os inventários de software e a comunicação com os fornecedores tão importantes como a própria correção.
O alerta de segurança da Oracle foi revisto à medida que a empresa avaliava os seus produtos e lançava correções. O aviso contínuo da Cisco sobre os seus produtos também ilustra a dimensão do trabalho: um grande fornecedor precisa de examinar portfólios extensos, determinar quais os produtos que contêm versões vulneráveis e, em seguida, fornecer aos clientes soluções específicas para cada produto.
As distribuições Linux também tiveram de responder à falha subsequente. O aviso CVE do Ubuntu, publicado na terça-feira, documenta os pacotes e atualizações afetados pela CVE-2021-45046. A rápida sequência de divulgações significa que os administradores que aplicaram as correções antecipadamente não podem assumir que a primeira atualização resolveu o problema.
CISA transforma orientação numa diretriz federal
Na sexta-feira, a Agência de Segurança Cibernética e de Infraestruturas (CISA) emitiu uma diretiva de emergência exigindo que as agências civis federais tomassem medidas. No seu boletim de 17 de dezembro, a CISA orientou as agências para identificar os produtos afetados, aplicar as mitigações e correções fornecidas pelos fornecedores e remover o software vulnerável de serviço quando as correções não estão disponíveis.
A directiva reflecte a evidência de que a exploração não é hipotética. Os atacantes começaram a procurar sistemas expostos quase imediatamente após a divulgação pública, e as empresas de segurança relataram tentativas que vão desde a mineração de criptomoedas até à instalação de software malicioso adicional. Uma reportagem da CyberScoop sobre a directiva de emergência descreveu a preocupação do governo com o facto de a prevalência da vulnerabilidade e a facilidade de exploração criarem uma oportunidade excepcionalmente ampla para agentes criminosos e ligados a Estados.
A Cloudflare, que começou a bloquear as tentativas de exploração na semana passada, continuou a publicar orientações de mitigação à medida que a situação evolui. Os fornecedores de Internet e as empresas de segurança podem bloquear padrões de exploração conhecidos nas extremidades da rede, mas estas defesas não substituem a remoção de código vulnerável, uma vez que os atacantes podem alterar os payloads e chegar aos sistemas por caminhos que as proteções de fronteira não detetam.
A deteção continua a ser importante mesmo depois de os sistemas serem atualizados
As organizações enfrentam duas questões distintas: se ainda estão vulneráveis e se já foram comprometidas. A aplicação de patches responde apenas à primeira. Como a verificação e a exploração começaram muito rapidamente, os responsáveis pela segurança também precisam de examinar registos, ligações de saída, novos processos, ficheiros inesperados e atividades de identidade em busca de provas de que um atacante obteve acesso antes da correção.
A complexidade aumenta devido à possibilidade de um servidor explorado se tornar apenas o primeiro ponto de acesso. Uma vez que os atacantes executam o código, podem tentar o roubo de credenciais, a movimentação lateral ou mecanismos de persistência que sobrevivam à correção do Log4j. Isto significa que as equipas de resposta a incidentes não podem simplesmente encerrar uma investigação porque a biblioteca vulnerável foi atualizada.
Um relatório contemporâneo do Register descreveu a ordem da CISA como parte de um esforço mais amplo para forçar uma rápida remediação nas redes federais, enquanto as organizações do sector privado enfrentam o mesmo problema de inventário sem um único mandato central.
A crise expõe uma fragilidade estrutural no software
O Log4j tornou-se um estudo de caso sobre o risco de dependência. O software moderno é montado a partir de camadas de bibliotecas, frameworks e pacotes de código aberto, uma vez que a reutilização torna o desenvolvimento mais rápido e fiável. No entanto, as organizações carecem frequentemente de um registo completo e continuamente atualizado destes componentes. Quando uma biblioteca fundamental falha, a ausência deste inventário transforma a resposta à vulnerabilidade num exercício de pesquisa.
A lição já está a ir além do próprio Log4j. As equipas de segurança necessitam de listas de materiais de software, um rastreio de dependências mais robusto, uma divulgação mais rápida por parte dos fornecedores e a capacidade de localizar um componente em diferentes aplicações sem investigação manual. Os programadores precisam de processos para atualizar bibliotecas profundamente incorporadas sem desestabilizar os sistemas de produção.
Por ora, porém, o problema mantém-se imediato. A divulgação inicial da vulnerabilidade Log4Shell transformou-se numa campanha contínua de correção, o primeiro patch foi substituído e as agências federais estão a operar sob ordens de emergência. A característica definidora do incidente já não é apenas a gravidade de uma única vulnerabilidade. É a constatação de que uma pequena componente de infraestrutura de código aberto está presente em tantos softwares que a sua correção exige coordenação em praticamente toda a cadeia de fornecimento de tecnologia.