Home Economia O backdoor XZ: tudo o que você precisa saber

O backdoor XZ: tudo o que você precisa saber

Por Humberto Marchezini


Na sexta-feira, um desenvolvedor solitário da Microsoft abalou o mundo ao revelar um porta dos fundos foi intencionalmente plantado no XZ Utils, um utilitário de compressão de dados de código aberto disponível em quase todas as instalações do Linux e outros sistemas operacionais do tipo Unix. A pessoa ou pessoas por trás deste projeto provavelmente passaram anos nele. Eles provavelmente estavam muito perto de ver a atualização backdoor fundida no Debian e no Red Hat, as duas maiores distribuições do Linux, quando um desenvolvedor de software com olhos de águia detectou algo suspeito.

“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”, disse o engenheiro de software e criptografia Filippo Valsorda. disse do esforço, que esteve assustadoramente perto de ter sucesso.

Os pesquisadores passaram o fim de semana coletando pistas. Aqui está o que sabemos até agora.

O que são utilitários XZ?

XZ Utils é quase onipresente no Linux. Ele fornece compactação de dados sem perdas em praticamente todos os sistemas operacionais do tipo Unix, incluindo Linux. XZ Utils fornece funções críticas para compactar e descompactar dados durante todos os tipos de operações. XZ Utils também suporta o formato legado .lzma, tornando este componente ainda mais crucial.

O que aconteceu?

Andres Freund, um desenvolvedor e engenheiro que trabalha nas ofertas PostgreSQL da Microsoft, estava recentemente solucionando problemas de desempenho que um sistema Debian estava enfrentando com SSH, o protocolo mais usado para fazer login remotamente em dispositivos pela Internet. Especificamente, os logins SSH consumiam muitos ciclos de CPU e geravam erros com valgrindum utilitário para monitorar a memória do computador.

Por pura sorte e pelo olhar cuidadoso de Freund, ele finalmente descobriu que os problemas eram resultado de atualizações feitas no XZ Utils. Na sexta-feira, Freund acessou a Lista de Segurança de Código Aberto para divulgar que as atualizações foram resultado de alguém plantando intencionalmente um backdoor no software de compactação.

O que a porta dos fundos faz?

O código malicioso adicionado às versões 5.6.0 e 5.6.1 do XZ Utils modificou a forma como o software funciona ao executar operações relacionadas à compactação ou descompactação .lzma. Quando essas funções envolviam SSH, elas permitiam que códigos maliciosos fossem executados com privilégios de root. Esse código permitiu que alguém que possuísse uma chave de criptografia predeterminada fizesse login no sistema backdoor por SSH. A partir de então, essa pessoa teria o mesmo nível de controle que qualquer administrador autorizado.

Como surgiu esse backdoor?

Parece que essa porta dos fundos levou anos para ser criada. Em 2021, alguém com o nome de usuário JiaT75 fez seu primeiro commit conhecido para um projeto de código aberto. Em retrospecto, o mudar ao projeto libarchive é suspeito, porque substituiu a função safe_fprint por uma variante que há muito é reconhecida como menos segura. Ninguém percebeu na hora.

No ano seguinte, JiaT75 enviou um patch pela lista de discussão do XZ Utils e, quase imediatamente, um participante nunca antes visto chamado Jigar Kumar juntou-se à discussão e argumentou que Lasse Collin, o mantenedor de longa data do XZ Utils, não tinha sido atualizar o software com frequência ou com rapidez suficiente. Kumar, com o apoio de Dennis Ens e de várias outras pessoas que nunca estiveram presentes na lista, pressionou Collin a contratar um desenvolvedor adicional para manter o projeto.

Em janeiro de 2023, JiaT75 fez seu primeiro commit para utilitários XZ. Nos meses seguintes, JiaT75, que usava o nome Jia Tan, tornou-se cada vez mais envolvido nos assuntos da XZ Utils. Por exemplo, Tan substituiu as informações de contato de Collins pelas suas próprias no oss-fuzz, um projeto que verifica software de código aberto em busca de vulnerabilidades que possam ser exploradas. Tan também solicitou que o oss-fuzz desativasse a função ifunc durante o teste, uma mudança que o impedia de detectar as alterações maliciosas que Tan faria em breve no XZ Utils.

Em fevereiro deste ano, Tan emitiu commits para as versões 5.6.0 e 5.6.1 do XZ Utils. As atualizações implementaram o backdoor. Nas semanas seguintes, Tan ou outros apelaram aos desenvolvedores do Ubuntu, Red Hat e Debian para mesclar as atualizações em seus sistemas operacionais. Eventualmente, uma das duas atualizações chegou a vários lançamentos, de acordo com empresa de segurança Tenable. Há mais sobre Tan e a linha do tempo aqui.

Você pode dizer mais sobre o que esse backdoor faz?

Resumindo, ele permite que alguém com a chave privada correta sequestre o sshd, o arquivo executável responsável por fazer conexões SSH, e a partir daí execute comandos maliciosos. O backdoor é implementado por meio de um carregador de cinco estágios que utiliza uma série de técnicas simples, mas inteligentes, para se ocultar. Ele também fornece os meios para que novas cargas sejam entregues sem a necessidade de grandes mudanças.

Várias pessoas que fizeram a engenharia reversa das atualizações têm muito mais a dizer sobre o backdoor. O desenvolvedor Sam James forneceu uma visão geral aqui.



Source link

Related Articles

Deixe um comentário