Galeria do PowerShell propensa a erros de digitação e outros ataques à cadeia de suprimentos

Views: 177
0 0
Read Time:4 Minute, 36 Second

A PowerShell Gallery da Microsoft apresenta um risco para a cadeia de suprimentos de software por causa de suas proteções relativamente fracas contra invasores que desejam fazer upload de pacotes maliciosos para o repositório online, de acordo com pesquisadores da Aqua Nautilus.

Eles testaram recentemente as políticas do repositório em relação aos nomes e proprietários de pacotes e descobriram que um agente de ameaça poderia facilmente abusar deles para falsificar pacotes legítimos e dificultar a identificação do verdadeiro proprietário de um pacote pelos usuários.

Use com cuidado

“Se sua organização usa módulos PowerShell da galeria, sugerimos usar apenas módulos PowerShell assinados, utilizar repositórios privados confiáveis ​​e ter cuidado ao baixar novos módulos/scripts de registros”, diz Yakir Kadkoda, pesquisador de segurança líder da Aqua. “Em segundo lugar, aconselhamos plataformas semelhantes à PowerShell Gallery a tomar as medidas necessárias para aprimorar suas medidas de segurança. Por exemplo, elas devem implementar um mecanismo que impeça os desenvolvedores de fazer upload de módulos com nomes muito semelhantes aos existentes.”

Kadkoda diz que a Microsoft reconheceu os problemas quando informada sobre eles e alegou que havia resolvido dois problemas separados, uma vez em  fevereiro de 2022 e uma segunda vez em janeiro  passado. . “No entanto, continuamos a verificar e esses problemas ainda existem” em 16 de agosto, diz ele.

A Microsoft não respondeu imediatamente a um pedido de Dark Reading em busca de comentários.

A PowerShell Gallery é um repositório amplamente usado para localizar, publicar e compartilhar módulos de código do PowerShell e os chamados recursos de configuração de estado desejado (DSC). Muitos dos pacotes no registro são de entidades confiáveis, como Microsoft, AWS e VMware, enquanto muitos outros são de membros da comunidade. Houve mais de 1,6 bilhão de downloads de pacotes do repositório até agora apenas neste ano.

Aberto a Typosquatting

Um problema que a Aqua descobriu foi a falta de qualquer tipo de proteção contra typosquatting, uma técnica de engano que os agentes de ameaças têm usado cada vez mais nos últimos anos para induzir os usuários a baixar pacotes maliciosos de repositórios públicos de software. Typosquatters normalmente usam nomes que são foneticamente semelhantes a nomes de pacotes populares e legítimos em repositórios públicos, como npm, PyPI e Maven. Eles então dependem de usuários que cometem erros de digitação ao procurar esses pacotes e, em vez disso, baixam seu pacote malicioso. A técnica tornou-se um vetor comum de ataque à cadeia de suprimentos de software.

A Aqua descobriu que as políticas da PowerShell Gallery fizeram pouco para proteger contra tal fraude. Por exemplo, os nomes da maioria dos pacotes do Azure no repositório seguiram um padrão específico, ou seja, “Az.<package_name>.” No entanto, alguns outros pacotes muito populares do Azure, como “Aztable”, não seguiram o padrão e não tinham um ponto no nome.  

A Aqua descobriu que não há restrições nos prefixos que os desenvolvedores de pacotes podem usar ao nomear seus pacotes. Por exemplo, quando os pesquisadores da Aqua criaram uma réplica quase perfeita do Aztable e a rotularam de Az.Table, eles não tiveram problemas para carregar o código de prova de conceito (PoC) para a PowerShell Gallery. O código de retorno de chamada que o Aqua incluiu no PoC mostrou que vários hosts em vários serviços de nuvem baixaram o pacote apenas nas primeiras horas.

“Em nossa opinião, outros registros têm medidas mais protetoras”, diz Kadkoda. “Por exemplo, o npm, outra plataforma de registro da Microsoft, usa regras ‘Moniker’ especificamente projetadas para combater o typosquatting”, diz ele. Um exemplo: como um pacote chamado “react-native” já existe no npm, ninguém rotula seu módulo com variações como “reactnative”, “react_native” ou “react.native”.

Fácil de falsificar a identidade do proprietário

Outro problema que a Aqua descobriu com as políticas da Galeria do PowerShell é como eles permitiram que um agente de ameaça fizesse um pacote malicioso parecer legítimo falsificando detalhes cruciais, como os campos Autor(es), Descrição e Direitos autorais. “Um invasor pode escolher livremente qualquer nome ao criar um usuário na Galeria do PowerShell”, disse Aqua em seu blog. “Portanto, determinar o autor real de um módulo do PowerShell na Galeria do PowerShell representa uma tarefa desafiadora.”

Usuários desavisados ​​que encontram esses pacotes na PowerShell Gallery podem facilmente ser enganados e acreditar que o autor do pacote malicioso é uma entidade legítima, como a Microsoft, disse Aqua.

Além disso, a análise da Aqua mostrou que uma API na PowerShell Gallery basicamente deu aos agentes de ameaças uma maneira de encontrar módulos não listados no registro — e potencialmente quaisquer dados confidenciais associados a esses módulos. Normalmente, um módulo não listado é privado e não deve ser algo que um invasor possa encontrar por meio de uma pesquisa no repositório. Os pesquisadores da Aqua descobriram que não só podiam extrair esses módulos, mas também encontraram um que continha segredos confidenciais que pertenciam a uma grande empresa de tecnologia.

Kadkoda diz que não há evidências sugerindo que os agentes de ameaças aproveitaram essas fraquezas para introduzir pacotes maliciosos na Galeria do PowerShell. No entanto, a ameaça é real. “É importante observar que, de acordo com a Microsoft, eles verificam os módulos/scripts do PowerShell carregados na galeria”, diz Kadkoda. “Esta é uma boa medida para bloquear uploads maliciosos. No entanto, continua sendo um jogo de gato e rato entre a solução da Microsoft e os invasores.”

FONTE: DARKREADING

POSTS RELACIONADOS