Um backdoor na biblioteca liblzma, uma parte da ferramenta de compactação de dados XZ foi descoberto por Andrés Freund. O mantenedor da distribuição notou um atraso de meio segundo na versão atualizada, o que eventualmente o levou à falha. Este último parece ser ideia de um dos novos mantenedores do XZ, que realizou um ataque excepcionalmente sofisticado à cadeia de suprimentos.
Backdoor no XZ comprometeu vários sistemas Linux
A história do backdoor na ferramenta de compactação de dados XZ é nada menos que maravilhoso, de ambas as extremidades, e provavelmente poderá ser examinado no futuro. Um cara sob o apelido de Jia Tan estava caminhando para o status de administrador de projetos desde 2021. Normalmente, para qualquer usuário de projeto de código aberto com experiência em tecnologia, ele começou a oferecer suas correções para bugs e novas funções. Supostamente criando um grande número de relatórios de bugs, o cara forçou o gerente a procurar um assessor, com Jia sendo o melhor candidato naquele momento.
Este longo caminho era necessário esconder um pequeno, porta dos fundos profundamente escondida (CVE-2024-3094) que nem está disponível no repositório público do GitHub. O problema na verdade se esconde na versão que vai para o projeto dependente, principalmente as principais distribuições Linux. Arquivos responsáveis pela inicialização do backdoor aparecem como testes. Isso explica por que demorou tanto: para evitar a detecção, Jia Tan foi forçado a adicionar cada peça gradualmente, fazendo com que pareça uma rotina de desenvolvimento. Uma operação especial adequada, alguém pode dizer.
A falha resultante permitido o acesso SSH não autenticado a qualquer máquina. A única condição aqui é o pacote XZ infectado e o uso de SSH. Esse, por sua vez, coloca em risco milhares de servidores que os administradores de sistema comumente conectam por meio deste protocolo. Linux é a espinha dorsal dos servidores em nuvem, e ter esse acesso backdoor significa efetivamente vazando todos os dados eles armazenam.
Mais coisas sobre operações especiais surgiram durante a investigação em andamento. Pouco depois de Jia enviar as correções maliciosas, inúmeras solicitações de atualização do XZ surgiram em centros de feedback de diferentes distribuições Linux. Os investigadores supõem que Jia Tan ou seus associados postaram esses comentários. Algumas das distros aderiram a eles e retiraram a versão infectada, instalar efetivamente o malware em seu produto.
Como foi descoberto?
O caminho A porta de trás foi descoberto, por outro lado, parece mais um milagre. amigo do André, o desenvolvedor, notou que a autenticação SSH leva 500 ms a mais que o normal. Também, a operação começou a consumir mais energia da CPU do que costumava, o que intrigou Anders a procurar um novo bug. As pesquisas rapidamente o levaram à versão atualizada do XZ, e, conseqüentemente, à porta dos fundos embutida nele.
Andres Freund divulgou sua notificação sobre as mudanças maliciosas em março 29, 2024. Ainda não está claro por quanto tempo essas mudanças vigoraram, mas distribuições Linux estavam usando-os em versões de lançamento desde o início de março. Entre eles estão as seguintes distros e versões:
Kali | Todas as versões depois de março 26 |
Arco | Todas as versões posteriores às imagens 2024.03.01/VM 20240301.218094 e depois |
Alpino | 5.6 versões anteriores à atualização 5.6.1-r2 |
Debian | Apenas versões instáveis, começando em 5.5.1-alfa-01 para 5.6.1 |
OpenSUSE | Todas as versões do Tumbleweed e Micro OS lançadas entre março 7 e março 28, 2024 |
chapéu vermelho | Fedora Linux Rawhide/Fedora Linux 40 |
Mitigações e correções
Ao descobrir o código backdoor, os mantenedores do projeto retiraram instantaneamente o repositório GitHub. No entanto, pesquisas adicionais mostraram que não havia necessidade disso. Como mencionei, Código malicioso estava escondido em arquivos de teste, usado principalmente em projetos dependentes como distribuições. Esse, no entanto, não facilitou a tarefa.
Juntamente com os desenvolvedores e mantenedores das distros afetadas, Andres Freund elaborou a lista de versões afetadas e possíveis mitigações. Os usuários devem fazer downgrade para versões que não contenham código malicioso, ou atualize para aqueles onde já desapareceu. Ao mesmo tempo, a investigação continua, já que este ataque à cadeia de abastecimento pode ter efeitos mais graves.