Tech

Fashionable Rust Crate liblzma-sys comprometido com arquivos backdoor do XZ Utils

Porta dos fundos dos utilitários XZ

“Arquivos de teste” associados ao backdoor XZ Utils chegaram a uma caixa Rust conhecida como liblzma-sys, revelam novas descobertas do Phylum.

liblzma-sys, que foi baixado mais de 21.000 vezes até o momento, fornece aos desenvolvedores do Rust ligações para a implementação do liblzma, uma biblioteca subjacente que faz parte do software program de compactação de dados XZ Utils. A versão impactada em questão é 0.3.2.

“A distribuição atual (v0.3.2) no Crates.io contém os arquivos de teste para XZ que contêm o backdoor”, observou Phylum em um problema do GitHub levantado em 9 de abril de 2024.

“Os próprios arquivos de teste não estão incluídos nas tags .tar.gz nem .zip aqui no GitHub e estão presentes apenas em liblzma-sys_0.3.2.crate que é instalado a partir do Crates.io.”

Após divulgação responsável, os arquivos em questão (“testes/recordsdata/bad-3-corrupt_lzma2.xz” e “exams/recordsdata/good-large_compressed.lzma”) foram removidos da versão 0.3.3 da liblzma-sys lançada em abril. 10. A versão anterior da caixa foi retirada do registro.

Cíber segurança

“Os arquivos de testes maliciosos foram confirmados no upstream, mas devido às instruções de construção maliciosas não estarem presentes no repositório upstream, eles nunca foram chamados ou executados”, disse Snyk em um comunicado próprio.

O backdoor no XZ Utils foi descoberto no closing de março, quando o engenheiro da Microsoft Andres Freund identificou commits maliciosos no utilitário de linha de comando, afetando as versões 5.6.0 e 5.6.1 lançadas em fevereiro e março de 2024, respectivamente. O pacote widespread está integrado em muitas distribuições Linux.

Porta dos fundos dos utilitários XZ

Os commits de código, feitos por um usuário do GitHub agora suspenso chamado JiaT75 (também conhecido como Jia Tan), essencialmente tornaram possível contornar os controles de autenticação dentro do SSH para executar código remotamente, potencialmente permitindo que os operadores assumissem o controle do sistema.

“O compromisso geral durou mais de dois anos”, disseram os pesquisadores do SentinelOne, Sarthak Misraa e Antonio Pirozzi, em uma análise publicada esta semana. “Sob o pseudônimo de Jia Tan, o ator começou a contribuir para o projeto xz em 29 de outubro de 2021.”

“Inicialmente, os commits eram inócuos e menores. No entanto, o ator gradualmente tornou-se um contribuidor mais ativo do projeto, ganhando reputação e confiança dentro da comunidade”.

De acordo com a empresa russa de segurança cibernética Kaspersky, as alterações trojanizadas assumem a forma de uma operação em vários estágios.

“O código-fonte da infraestrutura de construção que gerou os pacotes finais foi ligeiramente modificado (através da introdução de um arquivo adicional build-to-host.m4) para extrair o script do próximo estágio que estava oculto em um arquivo de caso de teste (bad-3-corrupt_lzma2 .xz)”, dizia.

Porta dos fundos dos utilitários XZ

“Esses scripts, por sua vez, extraíram um componente binário malicioso de outro arquivo de caso de teste (good-large_compressed.lzma) que foi vinculado à biblioteca legítima durante o processo de compilação para ser enviado aos repositórios Linux.”

A carga útil, um script de shell, é responsável pela extração e execução do backdoor, que, por sua vez, se conecta a funções específicas – RSA_public_decrypt, EVP_PKEY_set1_RSA e RSA_get0_key – que permitirão monitorar todas as conexões SSH com a máquina infectada.

O objetivo principal do backdoor inserido na liblzma é manipular o Safe Shell Daemon (sshd) e monitorar comandos enviados por um invasor no início de uma sessão SSH, introduzindo efetivamente uma maneira de obter execução remota de código.

Cíber segurança

Embora a descoberta precoce do backdoor tenha evitado o que poderia ter sido um comprometimento generalizado do ecossistema Linux, o desenvolvimento é mais uma vez um sinal de que os mantenedores de pacotes de código aberto estão sendo alvo de campanhas de engenharia social com o objetivo de realizar ataques à cadeia de fornecimento de software program.

Neste caso, materializou-se sob a forma de uma atividade coordenada que presumivelmente contou com várias contas sockpuppet que orquestraram uma campanha de pressão destinada a forçar o mantenedor de longa information do projeto a contratar um co-mantenedor para adicionar mais funcionalidades e resolver problemas.

“A enxurrada de contribuições de código-fonte aberto e campanhas de pressão relacionadas de contas de desenvolvedores anteriormente desconhecidas sugere que uma campanha coordenada de engenharia social usando contas falsas de desenvolvedores foi usada para inserir código malicioso em um projeto de código aberto amplamente utilizado”, disse ReversingLabs.

Os pesquisadores do SentinelOne revelaram que as sutis alterações de código feitas pelo JiaT75 entre as versões 5.6.0 e 5.6.1 sugerem que as modificações foram projetadas para melhorar a modularidade do backdoor e plantar mais malware.

Em 9 de abril de 2024, o repositório de código-fonte associado ao XZ Utils foi restaurado no GitHub, quase duas semanas depois de ter sido desativado por violação dos termos de serviço da empresa.

A atribuição da operação e os alvos pretendidos são atualmente desconhecidos, embora, à luz do planeamento e sofisticação por trás dela, o ator da ameaça seja suspeito de ser uma entidade patrocinada pelo Estado.

“É evidente que este backdoor é altamente complexo e emprega métodos sofisticados para evitar a detecção”, disse Kaspersky.

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button