Requisitos 2FA do PyPI não vão longe o suficiente, dizem pesquisadores

Views: 430
0 0
Read Time:4 Minute, 30 Second

O repositório oficial de código aberto para a linguagem de programação Python, o Python Package Index (PyPI), exigirá que todas as contas de usuário habilitem a autenticação de dois fatores (2FA) até o final de 2023.

A medida de segurança pode ajudar a evitar que os ciberatacantes comprometam as contas dos mantenedores e injetem código malicioso em projetos legítimos existentes, mas não é uma bala de prata quando se trata de reforçar a segurança geral da cadeia de suprimentos de software, alertam os pesquisadores.

“Entre agora e o final do ano, o PyPI começará a restringir o acesso a certas funcionalidades do site com base no uso do 2FA”, explicou o administrador e mantenedor do PyPI, Donald Stufft, em uma postagem recente no blog. “Além disso, podemos começar a selecionar determinados usuários ou projetos para aplicação antecipada.”

Para implementar o 2FA, os mantenedores de pacotes têm a opção de usar um token de segurança ou outro dispositivo de hardware, ou um aplicativo de autenticação; e Stufft disse que os usuários são encorajados a mudar para o uso do recurso Trusted Publishers do PyPI ou tokens de API para carregar código para o PyPI.

Interrompendo a atividade maliciosa do pacote do PyPI

O anúncio ocorre em meio a uma série de ataques de cibercriminosos que buscam se infiltrar em vários programas de software e aplicativos com malware que podem ser amplamente disseminados. Como o PyPI e outros repositórios como npm e GitHub abrigam os blocos de construção que os desenvolvedores usam para criar essas ofertas, comprometer seu conteúdo é uma ótima maneira de fazer isso.

Os pesquisadores dizem que o 2FA em particular (que o GitHub também implementou recentemente) ajudará a evitar a tomada de conta de desenvolvedor, que é uma maneira de os agentes mal-intencionados colocarem seus ganchos nos aplicativos.

“Vimos ataques de phishing lançados contra os mantenedores do projeto para pacotes PyPI comumente usados que visam comprometer essas contas”, diz Ashlee Benge, diretora de defesa de inteligência de ameaças da ReversingLabs. “Uma vez comprometidas, essas contas podem ser facilmente usadas para enviar código malicioso para o projeto PyPI em questão.”

Um dos cenários mais prováveis de infecção inicial seria um desenvolvedor instalar acidentalmente um pacote malicioso, por exemplo, digitando um comando de instalação do Python por engano, diz Dave Truman, vice-presidente de risco cibernético da Kroll.

“Muitos dos pacotes maliciosos contêm funcionalidade para roubar credenciais ou cookies de sessão do navegador e são codificados para serem executados no pacote malicioso que está sendo instalado”, explica. “Neste ponto, o malware roubaria suas credenciais e sessões que poderiam incluir logins utilizáveis com o PyPI. Em outras palavras… um desenvolvedor poderia permitir que o ator girasse para um grande ataque à cadeia de suprimentos, dependendo do que esse desenvolvedor tem acesso – 2FA no PyPI ajudaria a impedir que o ator se aproveitasse disso.”

Mais trabalho de segurança da cadeia de suprimentos de software a fazer

Benge, da ReversingLabs, observa que, embora os requisitos 2FA da PyPI sejam um passo na direção certa, mais camadas de segurança são necessárias para realmente bloquear a cadeia de suprimentos de software. Isso porque uma das maneiras mais comuns de os cibercriminosos aproveitarem repositórios de software é carregando seus próprios pacotes maliciosos na esperança de enganar os desenvolvedores para que eles sejam puxados para seus softwares.

Afinal, qualquer pessoa pode se inscrever em uma conta PyPI, sem perguntas.

Esses esforços geralmente envolvem táticas mundanas de engenharia social, diz ela: “Typosquatting é comum – por exemplo, nomear um pacote ‘djanga’ (contendo código malicioso) versus ‘django’ (a biblioteca legítima e comumente usada)”.

Outra tática é caçar projetos abandonados para trazer de volta à vida. “Um projeto antes benigno é abandonado, removido e depois reaproveitado para hospedar malware, como acontece com o termcolor“, explica. Essa abordagem de reciclagem oferece aos agentes mal-intencionados o benefício de usar a reputação legítima do projeto anterior para atrair desenvolvedores.

“Os adversários estão continuamente descobrindo várias maneiras de fazer com que os desenvolvedores usem pacotes maliciosos, e é por isso que é fundamental para Python e outras linguagens de programação com repositórios de software como o PyPi ter uma abordagem abrangente da cadeia de suprimentos de software para segurança”, diz Javed Hasan, CEO e cofundador da Lineaje.

Além disso, há várias maneiras de derrotar o 2FA, observa Benge, incluindo troca de SIM, exploração OIDC e sequestro de sessão. Embora estes tendam a ser trabalhosos, os atacantes motivados ainda se darão ao trabalho de tentar contornar o MFA e, certamente, o 2FA, diz ela.

“Esses ataques exigem níveis muito mais altos de engajamento dos invasores e muitas medidas adicionais que impedirão os atores de ameaças menos motivados, mas comprometer a cadeia de suprimentos de uma organização oferece um retorno potencialmente enorme para os atores de ameaças, e muitos podem decidir que o esforço extra vale a pena”, diz ela.

Embora os repositórios tomem medidas para tornar seus ambientes mais seguros, as organizações e os desenvolvedores precisam tomar suas próprias precauções, aconselha Hasan.

“As organizações precisam de ferramentas modernas de detecção de violação da cadeia de suprimentos que ajudem as empresas a quebrar o que está em seu software e evitar a implantação de componentes desconhecidos e perigosos”, diz ele. Além disso, esforços como listas de materiais de software (SBOMs) e gerenciamento de superfície de ataque podem ajudar.

FONTE: DARK READING

POSTS RELACIONADOS