TL; DR:

  • Demonstramos como o Google Gemini Advanced pode ser coagido a realizar ataques de engenharia social.
  • Ao enviar um e-mail malicioso, os invasores podem manipular as respostas do Gemini ao analisar a caixa de correio do usuário, fazendo com que ela exiba mensagens convincentes que induzem o usuário a revelar informações confidenciais de outros e-mails.
  • Atualmente, não existe uma solução infalível para esses ataques, tornando crucial que os usuários tenham cuidado ao interagir com LLMs que têm acesso a seus dados confidenciais.

1. Introdução

O recente evento Google I/O 2024 (https://io.google/2024/) destacou uma tendência crescente: capacitar Large Language Models (LLMs) com acesso a dados do usuário, como e-mails, para fornecer assistência mais útil e contextual. O Google Gemini Advanced, sua resposta ao ChatGPT da OpenAI e ao Copilot da Microsoft, é um excelente exemplo dessa tendência. Embora esses avanços ofereçam benefícios valiosos, eles também levantam preocupações significativas de segurança. Uma dessas preocupações é a vulnerabilidade dos LLMs a ataques indiretos de injeção imediata, um risco que discutimos em artigos anteriores ([1], [2], [3]).

2. Nosso cenário de demonstração

O vídeo a seguir mostra o cenário de demonstração completo em que o e-mail de um invasor manipula o Gemini [4] para induzir o usuário a revelar um código secreto presente em um e-mail diferente:

Veja como o ataque se desenrola:

  • E-mail malicioso: um invasor envia um e-mail contendo um prompt que instrui o Gemini a exibir uma mensagem de engenharia social ao usuário, prometendo falsamente uma atualização para uma nova versão do Gemini e solicitando um código para ativá-la. O Gemini é então instruído a encontrar as informações confidenciais que o invasor está procurando (por exemplo, um código de recuperação ou MFA) na caixa de correio do usuário e exibi-las no formato base64, disfarçando sua verdadeira natureza:

  • Interação do usuário com Gêmeos: o usuário pede que Gêmeos resuma seus e-mails recentes.
  • Injeção de prompt: quando o Gemini processa o e-mail do invasor, o prompt é acionado, fazendo com que o Gemini inclua a mensagem de phishing e as instruções no final de seu resumo. Esse conteúdo malicioso parece distinto do resumo, assemelhando-se a uma mensagem genuína da Gemini:

  • Comprometimento de dados: se o usuário seguir as instruções e enviar o “código de ativação”, o invasor terá acesso às informações confidenciais.

(Observação: nesta demonstração, o prompt não está oculto, pois o usuário depende do Gemini para gerenciar sua caixa de entrada e pode não ler os e-mails por conta própria.)

3. Mitigações existentes da Gemini

O Google tem se esforçado muito para tornar o Gemini o mais seguro possível contra ataques de injeção imediata. O ataque que descrevemos teve que contar com técnicas de engenharia social e interação do usuário para ter sucesso. O usuário deve confiar e agir de acordo com as informações fornecidas pela Gemini.

Outras técnicas que poderiam ser usadas para exfiltração automática de dados que não exigiam engenharia social ou apenas exigiam interação mínima do usuário (como apenas clicar em um link) foram todas interrompidas. Esses incluem:

  • Exfiltração baseada em imagem: Uma técnica comum para exfiltração de dados por meio de injeção de prompt é coagir o LLM a gerar uma imagem com informações codificadas em sua URL, permitindo a exfiltração de dados sem interação do usuário (já que o navegador visitará automaticamente a URL ao tentar exibir a imagem). No entanto, observamos que o Google implementou salvaguardas robustas para evitar isso. Em nossos testes, qualquer tentativa de gerar essa imagem resultou no encerramento da sessão de bate-papo com um erro.

  • Exfiltração baseada em URL: da mesma forma, as tentativas de fazer com que a Gemini gere links de phishing contendo informações confidenciais diretamente na URL (por exemplo, parâmetros de consulta, subdomínios) não foram bem-sucedidas. As extensas salvaguardas do Google parecem examinar efetivamente os links produzidos pelo Gemini (provavelmente da mesma forma que os URLs de origem da imagem), evitando a exfiltração de dados por meio desse método.

4. Divulgação responsável

Divulgamos esse problema ao Google em 19 de maio de 2024. O Google reconheceu isso como um risco de abuso em 30 de maio e, em 31 de maio, comunicou que sua equipe interna estava ciente desse problema, mas não o corrigiria no momento. As mitigações existentes do Google já impedem as tentativas de exfiltração de dados mais críticas, mas interromper ataques de engenharia social como o que demonstramos é um desafio.

5. Recomendações

A próxima seção abordará recomendações para usuários e desenvolvedores de assistentes baseados em GenAI.

5.1 Recomendações para usuários

Aconselhamos os usuários a ter cuidado ao usar assistentes LLM como Gemini ou ChatGPT. Essas ferramentas são, sem dúvida, úteis, mas se tornam perigosas ao lidar com conteúdo não confiável de terceiros, como e-mails, páginas da web e documentos. Apesar dos testes extensivos e das proteções, a segurança das respostas não pode ser garantida quando o conteúdo não confiável entra no prompt do LLM.

5.2 Recomendações para desenvolvedores

Os desenvolvedores de assistentes LLM devem implementar proteções robustas em torno da entrada e saída do LLM. Discutimos as principais recomendações e estratégias em nosso webinar intitulado Webinar Building Secure LLM Applications e na tela de segurança associada:

(Baixe a versão em PDF)

Em resumo:

  • Trate os LLMs como entidades não confiáveis.

  • Implemente proteções para minimizar o espaço operacional do invasor:

    • Utilizando listas de bloqueio e modelos de aprendizado de máquina para identificar e filtrar conteúdo malicioso ou indesejado na entrada e na saída.
    • Adotar uma solução de roteamento semântico (como [7]) para categorizar consultas de entrada em tópicos, criar uma lista de tópicos/perguntas com os quais seu assistente pode ajudar e rotear todas as outras entradas indesejadas para mensagens padrão, como “Desculpe, não podemos ajudar com isso”.
  • Suponha que saídas prejudiciais ainda possam ocorrer apesar das salvaguardas. Todos os URLs (como aqueles em links e imagens) produzidos pelo LLM devem ser bloqueados ou validados em uma lista de domínios permitidos para evitar ataques de exfiltração de dados.

  • Aplique medidas clássicas de segurança de aplicativos, como codificação de saída para evitar ataques XSS (Cross-Site Scripting) e CSP (Política de Segurança de Conteúdo) para controlar as origens de recursos externos.

  • Informe aos usuários que as respostas geradas pelo LLM, especialmente aquelas baseadas em conteúdo de terceiros, como e-mails, páginas da Web e documentos, devem ser validadas e não cegamente confiáveis.

6. Referências

  1. Você deve deixar o ChatGPT controlar seu navegador?, /posts/2024/02/should-you-let-chatgpt-control-your-browser
  2. Lembranças sintéticas: um estudo de caso em injeção imediata para agentes ReAct LLM, /posts/2023/11/synthetic-recollections
  3. Detecção de injeção de prompt específica do domínio, /posts/2024/04/domain-specific-prompt-injection-detection
  4. Google Gêmeos, https://gemini.google.com/
  5. LLM01:2023 - Injeções imediatas. OWASP Top 10 para aplicativos de modelos de linguagem grandes, https://owasp.org/www-project-top-10-for-large-language-model-applications/Archive/0_1_vulns/Prompt_Injection.html
  6. OWASP Top 10 para aplicativos de modelo de linguagem grande, https://owasp.org/www-project-top-10-for-large-language-model-applications/
  7. Roteador semântico Aurelio, https://github.com/aurelio-labs/semantic-router

Mais recursos

IA generativa – a visão de um invasor

Este blog explora o papel do GenAI em ataques cibernéticos, técnicas comuns usadas por hackers e estratégias para se proteger contra ameaças orientadas por IA generativa.

Ler mais

Engenharia de prompt criativamente maliciosa

Os experimentos demonstrados em nossa pesquisa provaram que grandes modelos de linguagem podem ser usados para criar tópicos de e-mail adequados para ataques de spear phishing, “text” deepfake” o estilo de escrita de uma pessoa, aplicar opinião ao conteúdo escrito, escrever em um determinado estilo e criar artigos falsos de aparência convincente, mesmo que informações relevantes não tenham sido incluídas nos dados de treinamento do modelo.

Ler mais

Detecção de injeção de prompt específica do domínio

Este artigo se concentra na detecção de possíveis prompts adversários, aproveitando modelos de aprendizado de máquina treinados para identificar sinais de tentativas de injeção. Detalhamos nossa abordagem para construir um conjunto de dados específico de domínio e ajustar o DistilBERT para esse fim. Esta exploração técnica se concentra na integração desse classificador em um aplicativo LLM de amostra, abrangendo sua eficácia em cenários realistas.

Ler mais

Você deve deixar o ChatGPT controlar seu navegador?

Neste artigo, expandimos nossa análise anterior, com foco em agentes de navegador autônomos - extensões de navegador da web que permitem aos LLMs um grau de controle sobre o próprio navegador, como agir em nome dos usuários para buscar informações, preencher formulários e executar tarefas baseadas na web.

Ler mais

Estudo de caso: Lembranças sintéticas

Esta postagem do blog apresenta cenários plausíveis em que técnicas de injeção imediata podem ser usadas para transformar um agente LLM no estilo ReACT em um “Confused Deputy”. Isso envolve duas subcategorias de ataques. Esses ataques não apenas comprometem a integridade das operações do agente, mas também podem levar a resultados não intencionais que podem beneficiar o invasor ou prejudicar usuários legítimos.

Ler mais

Segurança de IA generativa

Você está planejando ou desenvolvendo soluções baseadas em GenAI ou já está implantando essas integrações ou soluções personalizadas? Podemos ajudá-lo a identificar e lidar com possíveis riscos cibernéticos em cada etapa do caminho.

Ler mais


Artigo Original