Recurso do Ubuntu de 'Comando não encontrado' aberto para exploração, alertam especialistas

Recurso do Ubuntu de 'Comando não encontrado' aberto para exploração, alertam especialistas

Pesquisadores da Aqua Security dizem ter identificado uma falha de segurança na forma como o recurso "comando não encontrado" do Ubuntu funciona, que os invasores poderiam explorar para enganar os usuários a instalar snaps maliciosos.

Em uma postagem no blog detalhando as descobertas, o pesquisador Ilay Goldman conclui que:

O risco de invasores explorarem o utilitário 'command-not-found' para recomendar seus próprios pacotes de snap maliciosos é uma preocupação urgente.

O verdadeiro perigo está no escopo potencial desse problema, com invasores capazes de imitar milhares de comandos de pacotes amplamente usados", adicionando que "instâncias anteriores de pacotes maliciosos que aparecem na Snap Store destacam esse problema."

Qual é o problema em questão, quão perigoso é e é algo com o qual os usuários do Ubuntu devem se preocupar?

Sugestões de pacotes podem ser jogadas maliciosas

Quando você tenta executar um comando para um pacote que você não tem instalado, o Ubuntu mostrará um erro "comando não encontrado".

Mas, em um esforço para ajudar, ele também sugere o(s) pacote(s) necessário(s) para executar o comando ausente.

São mostradas sugestões para pacotes DEB relevantes disponíveis para instalação a partir dos repositórios do Ubuntu (consultados em um banco de dados local) e pacotes de ajuste (consultados a partir de um banco de dados na Snap Store que é atualizado com frequência para que novos aplicativos apareçam como recomendações).

E é esse recurso útil que os pesquisadores de segurança dizem estar aberto para manipulação por agentes mal-intencionados usando aplicativos Snap.

Para provar a viabilidade deste vetor de ataque o Aqua Nautilus realizou alguns experimentos.

Em um exemplo, eles executaram jupyter-notebook em uma nova instalação do Ubuntu e, como não está pré-instalado, o recurso command-not-found fez seu trabalho: disse 'não encontrado', recomendou o pacote relevante necessário e como instalá-lo usando apt.

Até aqui, tudo bem.

Mas como esse pacote em particular não retornou uma sugestão de snap — o recurso mostrará DEB e Snaps, se existirem — eles descobriram que o namespace não havia sido registrado na Snap Store.

Então, os pesquisadores o registraram, preencheram os detalhes e enviaram um aplicativo (fictício) "se passando pelo verdadeiro". Com certeza, o command-not-found começou a recomendar seu pacote falso — mesmo antes do legítimo:

Screenshot-2024-02-13-at-22.57.43

Um desses não é o que parece, mas você poderia dizer?

No exemplo acima, o snap falso recebeu um número de versão mais alto e é mostrado antes do pacote APT real – o que poderia facilmente induzir os usuários a pensar que o primeiro é a opção "preferida".

E esse é o cerne da questão.

Pessoas obscuras podem manipular o sistema de recomendação facilmente, manipulando esse recurso inócuo e fácil de usar para empurrar sugestões de pacotes de snap para os usuários. Tudo o que eles precisam fazer é enviar um snap que finge ser algo que as pessoas querem, e command-not-found fará o resto.

Pior, Aqua Nautilus diz que 26% dos comandos associados a pacotes APT são vulneráveis a imitações mal-intencionadas; e eles tentaram outras maneiras (explorando alias, typo-squatting, etc) de poder jogar o sistema para obter seus pacotes falsos recomendados aos usuários ao lado (e até à frente) dos verdadeiros.

O que é todo tipo de preocupação.

Isso é realmente um problema?

A boa notícia é que, por enquanto, essa façanha é teórica (ainda que testada). Ninguém ainda relatou ter sido enganado por meio do mecanismo CNF, e não há sinais de que algum malware instantâneo esteja explorando ativamente essa brecha - então isso é bom.

Além disso, será fácil para a Canonical remediar o problema com mitigações em seu final – talvez restringir as sugestões de snap surgidas por meio desse recurso apenas àquelas carregadas por desenvolvedores verificados?

No desktop Ubuntu, o recurso CNF não é tão amplamente usado quanto em configurações de servidor e sem cabeçalho, como WSL, onde a CLI é o padrão. Isso é bom: poucos usuários de desktop provavelmente serão enganados. Também é ruim: servidores, IoT, etc são infraestrutura "crítica"...

Como sempre, nós, usuários, devemos arcar com parte do fardo. Quando instalamos qualquer coisa de qualquer fonte, precisamos prestar atenção aos erros de digitação, verificar se o que estamos instalando é o que afirma ser e se é empacotado por uma fonte confiável.

Ficou interessado em saber mais? Dirija-se ao post do blog Aqua para ler o relatório na íntegra.

Eles fornecem detalhes sobre como o "comando não encontrado" funciona, como ele determina a relevância de suas sugestões e como os invasores podem usar pacotes Snap para fazer coisas assustadoras, mesmo quando o confinamento estrito está habilitado e a revisão manual não é acionada.

Via omgubuntu.co.uk. Você pode conferir o post original em inglês:

Ubuntu ‘Command Not Found’ Open to Exploit, Warn Experts

Última atualização deste artigo: 15 de february de 2024