Pesquisadores de uma empresa de segurança israelense revelaram na terça-feira como os hackers podem transformar as “alucinações” de uma IA generativa em um pesadelo para a cadeia de suprimentos de software de uma organização.
Em uma postagem no blog da Ciber Vulcano site, os pesquisadores Bar Lanyado, Ortel Keizman e Yair Divinsky ilustraram como alguém poderia explorar informações falsas geradas pelo ChatGPT sobre pacotes de software de código aberto para fornecer código malicioso em um ambiente de desenvolvimento.
Eles explicaram que viram o ChatGPT gerar URLs, referências e até bibliotecas de código e funções que na verdade não existem.
Se o ChatGPT estiver fabricando bibliotecas ou pacotes de código, os invasores podem usar essas alucinações para espalhar pacotes maliciosos sem usar técnicas suspeitas e já detectáveis, como typosquatting ou mascaramento, observaram.
Se um invasor puder criar um pacote para substituir os pacotes “falsos” recomendados pelo ChatGPT, continuaram os pesquisadores, eles poderão conseguir que a vítima baixe e use-o.
A probabilidade de esse cenário ocorrer está aumentando, eles sustentam, à medida que mais e mais desenvolvedores migram de domínios de pesquisa on-line tradicionais para soluções de código, como Stack Overflow, para soluções de IA, como ChatGPT.
Já está gerando pacotes maliciosos
“Os autores estão prevendo que, à medida que a IA generativa se torna mais popular, ela começará a receber perguntas de desenvolvedores que antes iriam para o Stack Overflow”, explicou Daniel Kennedy, diretor de pesquisa para segurança da informação e redes da 451 Research, que faz parte da S&P Global Market Intelligenceuma empresa global de pesquisa de mercado.
“As respostas a essas perguntas geradas pela IA podem não estar corretas ou podem se referir a pacotes que não existem mais ou nunca existiram”, disse ele ao TechNewsWorld. “Um mau ator observando que pode criar um pacote de código com esse nome para incluir código malicioso e tê-lo continuamente recomendado aos desenvolvedores pela ferramenta de IA generativa.”
“Os pesquisadores da Vulcan deram um passo adiante ao priorizar as perguntas mais frequentes no Stack Overflow como aquelas que eles colocariam na IA e ver onde os pacotes que não existem eram recomendados”, acrescentou.
De acordo com os pesquisadores, eles consultaram o Stack Overflow para obter as perguntas mais comuns sobre mais de 40 assuntos e usaram as primeiras 100 perguntas para cada assunto.
Depois, colocaram ao ChatGPT, através da sua API, todas as questões que tinham recolhido. Eles usaram a API para replicar a abordagem de um invasor para obter o máximo possível de recomendações de pacotes inexistentes no menor tempo possível.
Em cada resposta, eles procuraram um padrão no comando de instalação do pacote e extraíram o pacote recomendado. Eles então verificaram se o pacote recomendado existia. Se não, eles tentaram publicá-lo eles mesmos.
Kludging Software
Pacotes maliciosos gerados com código do ChatGPT já foram detectados nos instaladores de pacotes PyPI e npm, observou Henrik Plate, pesquisador de segurança da Laboratórios Endoruma empresa de gerenciamento de dependências em Palo Alto, Califórnia.
“Os modelos de linguagem grande também podem apoiar os invasores na criação de variantes de malware que implementam a mesma lógica, mas têm forma e estrutura diferentes, por exemplo, distribuindo código malicioso em diferentes funções, alterando identificadores, gerando comentários falsos e código morto ou técnicas comparáveis, ” ele disse ao TechNewsWorld.
O problema com o software hoje é que ele não é escrito de forma independente, observou Ira Winkler, diretor de segurança da informação da CYEum fornecedor global de tecnologias automatizadas de segurança de software.
“É basicamente uma combinação de muitos softwares que já existem”, disse ele ao TechNewsWorld. “Isso é muito eficiente, então um desenvolvedor não precisa escrever uma função comum do zero.”
No entanto, isso pode resultar em desenvolvedores importando código sem examiná-lo adequadamente.
“Os usuários do ChatGPT estão recebendo instruções para instalar pacotes de software de código aberto que podem instalar um pacote malicioso enquanto pensam que é legítimo”, disse Jossef Harush, chefe de segurança da cadeia de suprimentos de software da Checkmarxuma empresa de segurança de aplicativos em Tel Aviv, Israel.
“Falando de modo geral”, disse ele ao TechNewsWorld, “a cultura de copiar-colar-executar é perigosa. Fazer isso cegamente a partir de fontes como o ChatGPT pode levar a ataques à cadeia de suprimentos, como demonstrou a equipe de pesquisa da Vulcan.”
Conheça suas fontes de código
Melissa Bischoping, diretora de pesquisa de segurança de terminais da tânioum provedor de gerenciamento de endpoint convergente em Kirkland, Washington, também alertou sobre o uso descontrolado de código de terceiros.
“Você nunca deve baixar e executar um código que não entende e não testou apenas pegando-o de uma fonte aleatória – como repositórios GitHub de código aberto ou agora recomendações do ChatGPT”, disse ela ao TechNewsWorld.
“Qualquer código que você pretenda executar deve ser avaliado quanto à segurança e você deve ter cópias particulares dele”, ela aconselhou. “Não importe diretamente de repositórios públicos, como os usados no ataque Vulcan.”
Ela acrescentou que atacar uma cadeia de suprimentos por meio de bibliotecas de terceiros compartilhadas ou importadas não é novidade.
“O uso dessa estratégia continuará”, alertou ela, “e a melhor defesa é empregar práticas de codificação seguras e testar e revisar minuciosamente o código – especialmente o código desenvolvido por terceiros – destinado ao uso em ambientes de produção”.
“Não confie cegamente em todas as bibliotecas ou pacotes que encontrar na internet ou em um bate-papo com uma IA”, alertou ela.
Conheça a proveniência do seu código, acrescentou Dan Lorenc, CEO e cofundador da Chaingardfabricante de soluções de segurança da cadeia de suprimentos de software em Seattle.
“A autenticidade do desenvolvedor, verificada por meio de commits e pacotes assinados, e a obtenção de artefatos de código aberto de uma fonte ou fornecedor em que você pode confiar são os únicos mecanismos reais de prevenção de longo prazo nesses ataques no estilo Sybil ao código aberto”, disse ele ao TechNewsWorld.
Primeiros turnos
A autenticação de código, no entanto, nem sempre é fácil, observou Bud Broomhead, CEO da viakoodesenvolvedora de soluções de software de segurança cibernética e física em Mountain View, Califórnia.
“Em muitos tipos de ativos digitais – e em dispositivos IoT/OT em particular – o firmware ainda carece de assinatura digital ou outras formas de estabelecer confiança, o que torna as explorações possíveis”, disse ele ao TechNewsWorld.
“Estamos nos primeiros turnos da IA generativa sendo usada tanto para ataque cibernético quanto para defesa. Crédito para a Vulcan e outras organizações que estão detectando e alertando sobre novas ameaças a tempo para que os modelos de aprendizado de idiomas sejam ajustados para evitar essa forma de exploração”, acrescentou.
“Lembre-se”, ele continuou, “foi apenas alguns meses atrás que eu poderia pedir ao Chat GPT para criar um novo malware, e ele o faria. Agora é preciso uma orientação muito específica e direcionada para criá-lo inadvertidamente. E, esperançosamente, até mesmo essa abordagem será evitada em breve pelos mecanismos de IA.”