Pesquisadores interrompem ‘tentativa de aquisição confiável’ semelhante ao incidente backdoor do XZ Utils
Pesquisadores de segurança interromperam uma tentativa de aquisição “credível” que lembra o recente incidente de backdoor da XZ Utils – destacando ainda mais a necessidade urgente de resolver os pontos fracos no gerenciamento de software de código aberto.
Pesquisadores da OpenJS Foundation – que monitora projetos JavaScript usados por bilhões de sites em todo o mundo – disseram na segunda-feira que “receberam uma série suspeita de e-mails com mensagens semelhantes, com nomes diferentes e e-mails sobrepostos associados ao GitHub”.
Esses e-mails imploravam que o OpenJS tomasse medidas para atualizar um de seus populares projetos JavaScript para “resolver quaisquer vulnerabilidades críticas”, mas não citavam detalhes específicos, disseram eles.
“O(s) autor(es) do e-mail queriam que o OpenJS os designasse como um novo mantenedor do projeto, apesar de ter pouco envolvimento anterior”, disse o diretor executivo da OpenJS Foundation, Robin Bender Ginn, e o gerente geral da Open Source Security Foundation (OpenSSF), Omkhar Arasaratnam.
Os especialistas disseram que a abordagem se assemelhava à forma como um agente de ameaça chamado “Jia Tan” conseguiu se infiltrar no projeto de compressão de dados XZ Utils – o que causou alarme entre os defensores da segurança cibernética devido à sofisticação do código inserido e ao esforço significativo colocado no Operação. Nessa situação, atores mal-intencionados atacaram um mantenedor exausto para obter acesso ao projeto.
Ginn e Arasaratnam disseram que nenhuma das pessoas que contataram o OpenJS teve acesso privilegiado ao projeto hospedado pelo OpenJS, que possui políticas de segurança em vigor, incluindo aquelas delineadas pelo grupo de trabalho de segurança da Fundação.
Eles veem a tentativa como outro exemplo de por que os mantenedores do código aberto precisam ficar em alerta máximo para tentativas de controle da engenharia social.
A postagem dos pesquisadores acrescenta que a equipe OpenJS descobriu dois outros projetos populares de JavaScript vendo padrões suspeitos e imediatamente sinalizou o incidente para a Agência de Segurança Cibernética e de Infraestrutura (CISA) e o Departamento de Segurança Interna.
Chris Hughes – consultor-chefe de segurança da empresa de segurança de código aberto Endor Labs e bolsista de inovação cibernética da CISA – disse que cerca de um quarto de todos os projetos de segurança de código aberto têm um único mantenedor e 94% têm menos de 10.
Hughes também observou que o ecossistema é incrivelmente opaco, com componentes e projetos críticos para a infraestrutura digital moderna, muitas vezes mantidos por pseudônimos e indivíduos desconhecidos espalhados pelo mundo.
“Isso torna todo o ecossistema vulnerável a atores mal-intencionados que se aproveitam dessas realidades e se aproveitam de mantenedores sobrecarregados, com uma comunidade fazendo exigências a eles sem nenhuma compensação real em troca de seu trabalho árduo e compromisso em manter o código do qual o mundo depende”, disse ele. .
Uma mudança fundamental
A situação do backdoor do XZ Utils levantou preocupações entre os especialistas em segurança sobre uma série de questões relacionadas a projetos de código aberto. O mantenedor do projeto foi persuadido a entregar o acesso e a responsabilidade pelo projeto meses antes que um backdoor fosse discretamente inserido no código.
Um importante pesquisador da Microsoft descobriu o problema , permitindo que o backdoor fosse removido antes que pudesse ser usado em ataques.
Os funcionários da CISA, Jack Cable e Aeva Black, disseram em um blog na sexta-feira que o incidente “destaca uma mudança fundamental necessária: todo fabricante de tecnologia que lucra com software de código aberto deve fazer sua parte sendo consumidores responsáveis e contribuidores sustentáveis dos pacotes de código aberto”. eles dependem.”
“O fardo da segurança não deveria recair sobre um mantenedor individual de código aberto – como aconteceu neste caso, com um efeito quase desastroso. Em vez disso, as empresas que consomem software de código aberto devem contribuir de volta – seja financeiramente ou através do tempo do desenvolvedor – para garantir um ecossistema sustentável onde os projetos de código aberto tenham comunidades de manutenção saudáveis e diversificadas que sejam resilientes ao esgotamento”, escreveram.
Os fabricantes de tecnologia que incorporam software de código aberto devem “trabalhar para garantir – diretamente ou apoiando mantenedores – que uma abordagem de desenvolvimento de software segura desde o projeto esteja sendo seguida”.
A CISA instou as empresas a realizar revisões regulares de código, usar ferramentas de verificação de segurança, isolar ambientes de construção e ter processos documentados para responder a relatórios de vulnerabilidade e incidentes de segurança.
Eles observaram que, além da primeira Cúpula de Segurança de Software de Código Aberto realizada no mês passado, a agência tem trabalhado com a comunidade de código aberto para criar um “ecossistema de código aberto mais resiliente para que organizações em todo o mundo possam continuar a colher os inúmeros benefícios de software livre.”
A CISA e outros ainda estão trabalhando para compreender melhor o impacto do compromisso da XZ Utils, disseram.
Ginn e Arasaratnam estão trabalhando com a Linux Foundation para divulgar diretrizes e medidas que os mantenedores devem tomar quando abordados por pessoas agressivas interessadas em assumir projetos de código aberto.
Conceder a alguém acesso administrativo ao código-fonte como mantenedor “requer um nível mais alto de confiança conquistada e não é dado como uma ‘solução rápida’ para qualquer problema”, explicaram.
Os mantenedores também devem ser cautelosos com pessoas com endossos vindos de membros desconhecidos da comunidade e com um “senso de urgência fabricado, especialmente se a urgência implícita forçar um mantenedor a reduzir o rigor de uma revisão ou ignorar um controle”.
O invasor do XZ Utils supostamente usou outras contas falsas para pressionar o mantenedor a entregar o projeto e garantir sua capacidade de executá-lo unilateralmente.
“Esses ataques de engenharia social estão explorando o senso de dever que os mantenedores têm para com seu projeto e sua comunidade, a fim de manipulá-los. Preste atenção em como as interações fazem você se sentir”, disseram eles.
“Interações que criam dúvidas, sentimentos de inadequação, de não fazer o suficiente para o projeto, etc. podem fazer parte de um ataque de engenharia social… Esses tipos de ataques são difíceis de detectar ou proteger contra programas, pois se aproveitam de uma violação de confiança através da engenharia social.”
Eles acrescentaram que garantir que os mantenedores tenham um bom apoio “é o principal impedimento que temos contra esses ataques de engenharia social”.
Projeto de casas de repouso
Arasaratnam do OpenSSF disse ao Recorded Future News que a comunidade de segurança cibernética precisa prestar mais atenção ao software de código aberto amplamente utilizado com uma estrutura de governança frágil – normalmente projetos que têm apenas um mantenedor ou mantenedores que estão sobrecarregados e precisam de ajuda.
A comunidade também precisa estar melhor preparada para os problemas que surgem, tendo um processo de detecção e resposta a incidentes mais robusto, explicou.
O esgotamento dos mantenedores é real, disse ele, observando que alguns não estão preparados para que seu projeto seja amplamente adotado em todo o planeta.
“Alguns mantenedores precisam de apoio financeiro e outros exigem engenheiros mais confiáveis para trabalhar nos projetos. Alguns podem não querer manter um projeto que acaba fazendo parte de uma infraestrutura crítica. Devemos ser receptivos para adaptar nosso suporte conforme exigido pelo mantenedor”, disse Arasaratnam.
O CEO da Chainguard, Dan Lorenc, disse que o problema muitas vezes pode se tornar complicado porque não seria apropriado que grandes empresas que usam essas ferramentas de código aberto simplesmente assumissem projetos de pesquisadores.
Mas Lorenc lançou uma espécie de “casa de repouso” para projetos de código aberto dos quais os mantenedores não podem mais cuidar.
“Se houvesse um programa onde eles pudessem simplesmente dizer: ‘Tudo bem, estamos colocando isso em modo de manutenção. Estamos colocando isso em uma casa de repouso, aqui está’, e entregamos as chaves a um grupo de pessoas que todos conhecem e em quem podem confiar e que são boas nesse tipo de trabalho”, disse ele.
“Acho que seria uma solução escalável para grande parte da indústria. Não vai resolver o problema completamente porque muitas pessoas ainda não gostariam de entregá-lo.”
Arasaratnam observou que o OpenSSF tem um projeto chamado Alpha-Omega que fornece subsídios para grandes projetos que precisam de ajuda para concluir trabalhos críticos de segurança (Alpha) e que abordam classes inteiras de vulnerabilidades de código aberto (Omega).
Existem também iniciativas lideradas pelo governo que abordam o financiamento sustentável para projetos de código aberto, incluindo o trabalho do governo alemão no Sovereign Tech Fund.
Mas ele expressou preocupação com a ideia da casa de repouso, perguntando-se como os incorporadores seriam avaliados.
“Minha principal preocupação seria um ator malicioso se juntar à câmara de compensação/orfanato e conduzir um ataque semelhante em uma escala muito maior”, disse Arasaratnam.
“Uma das outras complexidades desta abordagem é o financiamento. A comunidade de código aberto não é homogênea. Muitas pessoas diferentes têm pontos de vista diferentes sobre a ética de quem deve fornecer financiamento, seja o sector privado, o sector público ou através de doações privadas.”
Embora não esteja claro quem estava por trás da conta de Jia Tan ou do esforço maior de backdoor, muitos acreditam que sua sofisticação aponta para um ator apoiado pelo Estado. Se for preciso, Arasaratnam disse que é difícil imaginar como um único mantenedor poderia se defender contra um Estado-nação.
“Os problemas do Estado-nação precisam ser resolvidos no nível do Estado-nação”, disse ele.
“Ainda há trabalho a ser feito para determinar como e se a comunidade e o sector público podem trabalhar juntos nestes esforços.”