Como os invasores podem enganar os desenvolvedores para baixar o código malicioso do GitHub

Views: 917
0 0
Read Time:4 Minute, 10 Second

Os metadados que os desenvolvedores analisam ao decidir se devem usar um projeto de código aberto no GitHub podem ser facilmente falsificados e oferecem aos invasores uma maneira de enganar os usuários da plataforma para que baixem códigos maliciosos.

Os desenvolvedores, portanto, precisam ser diligentes em verificar a identidade daqueles que cometem o código no repositório e não levar os metadados ao valor de face, alertam pesquisadores da Checkmarx em um novo relatório.

Os desenvolvedores que procuram um projeto de código aberto no GitHub tendem a favorecer aqueles que são ativos, mantidos e associados a desenvolvedores que têm um histórico estabelecido na plataforma. Entre os pontos de dados que os desenvolvedores consideram estão o número de confirmações — ou alterações — que um colaborador de código-fonte aberto do GitHub pode ter feito em um projeto ao longo do tempo. O Git atribui um ID exclusivo a cada alteração que descreve a alteração específica que foi feita, quem criou a alteração e um carimbo de data/hora para ela. Geralmente, um projeto com muitos commits associados a ele é percebido como um sinal de que está sendo mantido ativamente.

Mas um invasor pode facilmente falsificar ou forjar todos esses pontos de dados para dar uma aparência de credibilidade ao seu código e enganar os desenvolvedores desavisados ​​para fazer o download de código malicioso, de acordo com a Checkmarx.

Por exemplo, o timestamp associado a cada commit pode ser manipulado para fazer parecer que uma mudança aconteceu em um momento muito diferente do que aconteceu. Tudo o que um agente de ameaças precisa fazer para conseguir isso é alterar duas variáveis ​​em sua máquina local, de acordo com o relatório.

Fácil de estabelecer credibilidade falsa

Um agente mal-intencionado que cria uma conta totalmente nova no GitHub pode fabricar vários commits com timestamps que remontam a anos para fazer parecer que estão ativos na plataforma ou há muito tempo. “Uma medida proeminente para a atividade de um usuário no GitHub é o ‘gráfico de atividade’ apresentado na página de perfil do usuário”, diz o relatório da Checkmarx. “Este gráfico é essencialmente um mapa de calor que mostra a atividade do usuário ao longo do tempo. Portanto, se pudermos fabricar commits com qualquer timestamp que desejarmos, podemos preencher esse gráfico com atividades falsificadas.”

Da mesma forma, um invasor pode enviar um commit envenenado para um repositório do GitHub falsificando a identidade de um colaborador confiável. O invasor precisaria apenas descobrir o endereço de e-mail do usuário confiável e, em seguida, definir o nome de usuário e o endereço de e-mail na linha de comando do Git e confirmar as alterações. Embora o GitHub ofereça maneiras para os desenvolvedores ocultarem seu endereço de e-mail, a maioria não usa esses recursos, tornando possível que os invasores o encontrem com relativa facilidade, diz o relatório.

A capacidade de falsificar a conta de um usuário possibilita que um invasor preencha a seção do colaborador de seu próprio projeto com as identidades de outros indivíduos confiáveis. Isso pode levar os desenvolvedores a pensar que o projeto do invasor é confiável e confiável, diz o fornecedor de segurança. 

O que torna essa tática alarmante é o fato de que o usuário que está sendo spoofado não recebe nenhuma notificação sobre sua conta sendo adicionada como colaboradora de outro projeto.

Tzachi Zornstain, chefe de segurança da cadeia de suprimentos da Checkmarx, diz que, para mitigar o risco de ser enganado, os desenvolvedores devem verificar se o código que planejam usar foi enviado por alguém cuja identidade foi verificada. O GitHub oferece um recurso que permite que os desenvolvedores verifiquem suas identidades ao confirmar o código. 

“Um desenvolvedor pode verificar se os commits que ele está vendo são ‘commits verificados’ ou não, e com base nisso decidir se ele quer confiar nesses desenvolvedores”, diz Zornstain. “Se um projeto afirma ter vários colaboradores com código de commit [certifique-se] que esses commits também são verificados.”

Ele também recomenda que os desenvolvedores usem um recurso do GitHub que permite que eles assinem digitalmente seu código, para que sua contribuição seja verificada como sua. O recurso inclui um “modo vigilante” que exibe o status de todo o código contribuído com o nome, incluindo aqueles que outros podem enviar em seu nome, o GitHub também observou que todos os desenvolvedores que contribuem com código precisarão ativar a autenticação de dois fatores por 2023 se quiserem continuar a fazê-lo.

A Checkmarx também lançará em breve uma ferramenta de código aberto que ajudará os desenvolvedores a distinguir facilmente entre commits e commits não verificados para projetos públicos, para que não sejam facilmente enganados, diz ele. “Se a forma como o GitHub apresenta a atividade do desenvolvedor e a contribuição para os projetos for baseada em commits verificados”, diz ele, “isso ajudaria a impulsionar a adoção de commits verificados e não permitirá que invasores enganem facilmente os desenvolvedores”.

FONTE: DARK READING

POSTS RELACIONADOS