Ciência e Tecnologia

Backdoor xz malicioso revela fragilidade do código aberto • st

.

Análise A descoberta na semana passada de um backdoor em uma biblioteca de compressão de código aberto amplamente usada chamada xz poderia ter sido um desastre de segurança se não tivesse sido pega pela sorte e pela curiosidade atípica sobre a latência de um engenheiro da Microsoft.

No entanto, a feliz descoberta levou os observadores da indústria a concluir que não mudará muita coisa para evitar que este cenário de ameaça se repita, e que esforços semelhantes e contínuos para comprometer a infra-estrutura de software podem ter sido perdido.

“Este pode ser o ataque à cadeia de suprimentos mais bem executado que vimos descrito abertamente, e é um cenário de pesadelo: upstream malicioso, competente e autorizado em uma biblioteca amplamente utilizada”, escreveu o criptógrafo de código aberto Filippo Valsorda. Enquanto isso, Michał Zalewski, ex-Googler e agora vice-presidente de engenharia de segurança da Snap, descreveu o caso como “uma das manobras de segurança da informação mais ousadas” já testemunhadas.

Na sexta-feira, Andres Freund, principal engenheiro de software da Microsoft e um dos desenvolvedores do PostgreSQL, postou na lista de discussão de segurança do Openwall que havia encontrado um backdoor no liblzma, que faz parte do pacote xz.

O software xz é usado em muitas distribuições Linux e no macOS para tarefas como compactação de tarballs de lançamento, imagens de kernel e similares.

Mas o backdoor foi descoberto cedo – o código malicioso só chegou a algumas distribuições Linux de ponta, como o próximo Fedora Linux 40; Distribuição de desenvolvedores do Fedora Rawhide; Debian instável; e KaliLinux. Distribuições vulneráveis ​​requerem glibc (para IFUNC, uma maneira de fazer chamadas indiretas de função na autenticação OpenSSH) e xz-5.6.0 ou xz-5.6.1

Poderia ter sido muito pior. De acordo com Valsorda, o código backdoor permitiu a execução remota completa de código.

O que parece acontecer, simplesmente, é que em uma máquina que implanta um backdoor xz, o daemon SSH acaba carregando a biblioteca envenenada durante a inicialização, via systemd, o que altera a operação do daemon. Essa intromissão injeta código que inspeciona conexões SSH de entrada em busca de um conjunto específico de circunstâncias que, se atendidas, executam comandos shell ocultos em uma carga fornecida pelo invasor durante a inicialização da conexão, proporcionando ao espião a execução remota do código na máquina.

Isso significa que qualquer máquina com o pacote vulnerável que exponha o SSH à Internet é potencialmente vulnerável.

O backdoor é complicado e nem aparece totalmente no repositório xz, que agora conta com uma nota explicativa do mantenedor. Em vez disso, o código malicioso abrange vários commits, alguns dos quais aparecem apenas em versões tarball do código-fonte como um meio presumido de ocultação.

“Atualmente, parece que o backdoor foi adicionado ao daemon SSH na máquina vulnerável, permitindo que um invasor remoto execute código arbitrário”, disse o Akamai Security Intelligence Group em um relatório na segunda-feira. “Isso significa que qualquer máquina com o pacote vulnerável que exponha o SSH à Internet é potencialmente vulnerável.

“Esse backdoor quase se tornou um dos facilitadores de intrusão mais significativos de todos os tempos – um que teria ofuscado o backdoor SolarWinds. Os invasores quase conseguiram obter acesso imediato a qualquer máquina Linux executando uma distribuição infectada, que inclui Fedora, Ubuntu e Debian . Quase.”

De acordo com Sam James, um desenvolvedor Gentoo, que reuniu um resumo do que se sabe até agora, vários commits maliciosos foram feitos por alguém chamado “Jia Tan”, que primeiro enviou um patch para o projeto xz em abril de 2022. Isso foi seguido pelo que parece ser uma campanha de pressão dirigida ao mantenedor do xz, Lasse Collin, a partir de uma suposta conta sockpuppet usando o nome “Jigar Kumar”.

O incidente atraiu a atenção, em parte, porque valida anos de preocupação sobre o fardo da manutenção de software com pouco reconhecimento ou suporte. Respondendo à provocação de Kumar de que xz precisa de um novo mantenedor porque o atual perdeu o interesse, Collin disse em uma lista de discussão que sua inação refletia preocupações de saúde mental e outras coisas. E acrescentou: “Também é bom ter em mente que este é um projeto de hobby não remunerado”.

Uma interpretação comum entre os membros da comunidade de segurança é que esta campanha de pressão foi o início de um longo golpe – “Jia Tan” construiu confiança com submissões de códigos aparentemente inócuos durante cerca de dois anos antes de submeter o código backdoor. Um envio de “Jia Tan” foi uma solicitação pull para OSS-Fuzz, uma ferramenta de segurança, para suportar a desativação do IFUNC, o mecanismo que o código malicioso xz usa para se conectar ao SSH.

O pesquisador de segurança da Microsoft Thomas Roccia diagrama do caso xz oferece um resumo sucinto da linha do tempo dos eventos.

A identidade de “Jia Tan” (JiaT75) não é conhecida atualmente. O nome parece ser de origem asiática, mas também há especulações de que o nome pode representar uma tentativa de criar uma identidade que as pessoas assumirão ser chinesa como forma de desorientação. Uma análise dos tempos de confirmação do código argumenta que o indivíduo ou grupo responsável opera na Europa Oriental e não na Ásia.

Campanhas sofisticadas concebidas para comprometer projectos de software durante um longo período de tempo sugerem o envolvimento com um adversário bem financiado, possivelmente com ligações a uma agência de inteligência estatal. No entanto, não há evidências conclusivas nesse sentido neste momento.

Gynvael Coldwind, MD da HexArcana Cybersecurity GmbH, disse em uma análise do código malicioso: “Não posso deixar de me perguntar (como tenho certeza que é o resto da nossa comunidade de segurança) – se isso foi encontrado por acidente, quantos as coisas ainda permanecem desconhecidas.” ®

.

Mostrar mais

Artigos relacionados

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Botão Voltar ao topo