Injeções indiretas de comandos indiretas são uma vulnerabilidade de segurança sofisticada em sistemas de IA generativa. Este artigo explica a estratégia de defesa em várias camadas aplicada pelo Google para mitigar essa vulnerabilidade no app do Gemini e nos apps do Gemini no Workspace.
Nesta página
- O que é um comando no contexto da IA generativa?
- O que é uma injeção indireta de comando?
- Como funcionam as injeções indiretas de comandos?
- Exemplos reais de ataques de injeções indiretas de comandos
- Por que devo me preocupar com injeções indiretas de comandos? Que risco elas apresentam?
- O que o Google faz para reduzir o risco de ataques de injeções indiretas de comandos?
- Quais são as principais camadas de defesa contra injeções de comandos indiretas?
- Como funcionam os classificadores de conteúdo de injeção de comandos?
- O que é o reforço do pensamento de segurança?
- Como a sanitização do Markdown e o encobrimento de URLs suspeitos melhoram a segurança?
- O que é a estrutura de confirmação do usuário?
- Por que as notificações de redução de riscos de segurança do usuário final são importantes?
O que é um comando no contexto da IA generativa?
Um comando é uma instrução ou entrada fornecida a um modelo de IA generativa para orientar a saída. Os modelos de IA generativa interpretam esses comandos para criar conteúdo, como texto, imagens ou código, com base em padrões aprendidos com grandes conjuntos de dados.
O que é uma injeção indireta de comando?
A injeção indireta de comando constitui uma vulnerabilidade em sistemas de IA, caracterizada pela ocultação de instruções maliciosas em dados externos processados pelo modelo. Essas instruções não são dadas diretamente à IA pelo usuário. O objetivo é manipular o comportamento ou a saída do sistema sem que o usuário saiba disso.
Como funcionam as injeções indiretas de comandos?
As injeções indiretas ocorrem no processamento de dados externos, como sites, e-mails ou documentos, que contêm instruções maliciosas incorporadas. O sistema não detecta a existência de comandos ocultos ou instruções maliciosas e os executa junto com a tarefa principal. Isso resulta em ações não intencionais ou divulgação de informações.
Exemplos reais de ataques de injeções indiretas de comandos
- Sequestro de chatbot: um chatbot de IA treinado com dados externos recebe uma instrução maliciosa em uma página da web, o que faz com que ele revele informações internas sensíveis.
- Invasão do resumidor: um sistema de IA resume um documento com instruções ocultas e realiza uma ação não autorizada, tal como enviar um e-mail.
- Exfiltração de dados: um sistema de IA processa um arquivo infectado e acaba por extrair e enviar dados confidenciais para um destino externo.
Por que devo me preocupar com injeções indiretas de comandos? Que risco elas apresentam?
As injeções indiretas de comandos representam uma ameaça grave à segurança do sistema de IA e à privacidade de dados. Elas podem resultar no acesso não autorizado a dados, na manipulação do comportamento da IA, bem como no possível uso indevido de informações. Essa vulnerabilidade prejudica a confiabilidade da IA, abrindo brechas para ataques cibernéticos difíceis de detectar e de evitar com medidas de segurança tradicionais.
O que o Google faz para reduzir o risco de ataques de injeções indiretas de comandos?
Ele adota uma abordagem de segurança abrangente em camadas para reduzir esse risco, principalmente com o Gemini. Esta estratégia implementa medidas de segurança em todo o ciclo de vida do comando, do reforço da proteção do modelo à criação de modelos de machine learning para fins específicos e proteções no nível do sistema.
Desde sua implementação inicial, nossas defesas em camadas têm mitigado consistentemente tentativas de injeção indireta, se adaptando com sucesso a novos vetores de ataque. Nossos recursos de resposta rápida e monitoramento contínuo garantem o aprendizado com cada interação, fortalecendo nossas defesas.
Quais são as principais camadas de defesa contra injeções indiretas de comandos?
A abordagem de segurança em camadas do Google inclui:
- Classificadores de conteúdo de injeção de comando: modelos reservados de machine learning que detectam instruções e comandos maliciosos em vários formatos de dados.
- Reforço do pensamento de segurança: instruções de segurança específicas que são adicionadas ao conteúdo do comando. Elas lembram o LLM (modelo de linguagem grande, na sigla em inglês) de realizar a tarefa dada pelo usuário e ignorar instruções adversárias.
- Sanitização de Markdown e encobrimento de URLs suspeitos: identificação e encobrimento de URLs de imagens externas e links maliciosos com a Navegação Segura do Google para mitigar ataques de vetor de URL e exfiltração de dados.
- Estrutura de confirmação do usuário: um sistema contextual que exige confirmação explícita do usuário para operações potencialmente arriscadas, como excluir eventos da agenda.
- Notificações de redução de riscos de segurança do usuário final: informações contextuais fornecidas aos usuários quando problemas de segurança são detectados e resolvidos. Essas notificações incentivam usuários a buscar mais informações nos artigos dedicados da Central de Ajuda.
- Resiliência do modelo: a robustez adversária dos modelos do Gemini, que protege contra manipulação maliciosa explícita.
Como funcionam os classificadores de conteúdo de injeção de comandos?
Os classificadores de conteúdo de injeção de comandos servem como uma defesa inicial, identificando e sinalizando entradas suspeitas contendo possíveis instruções maliciosas. Esses classificadores analisam a estrutura, as palavras-chave e os padrões nos comandos para detectar possíveis tentativas de injeção antes que elas afetem o comportamento do modelo de IA, filtrando o conteúdo nocivo.
O que é o reforço do pensamento de segurança?
Reforçar o pensamento de segurança é ensinar a IA a colocar a proteção em primeiro lugar sempre que ela tiver que tomar uma decisão. Essa técnica adiciona instruções de segurança direcionadas ao conteúdo do comando para lembrar o LLM de se concentrar na tarefa direcionada ao usuário e ignorar instruções adversárias ou maliciosas incorporadas ao conteúdo.
Como a sanitização do Markdown e o encobrimento de URLs suspeitos melhoram a segurança?
A sanitização do Markdown remove códigos ou elementos de script que possam ser prejudiciais e estejam ocultos em textos formatados com Markdown, impedindo a execução deles. A remoção de URLs suspeitos identifica e encobre links que apontam para sites maliciosos conhecidos, impedindo o acesso ou a propagação de conteúdo nocivo pela IA. Isso evita injeções indiretas de comandos que exploram falhas de formatação ou que redirecionam a IA para recursos externos maliciosos.
O que é a estrutura de confirmação do usuário?
A estrutura de confirmação do usuário apresenta uma etapa de aprovação explícita para ações ou saídas sensíveis geradas por IA. Antes de executar comandos potencialmente prejudiciais ou compartilhar informações confidenciais, o sistema de IA pede que o usuário confirme que é essa a intenção dele. Essa abordagem de human-in-the-loop (HITL, na sigla em inglês) é uma proteção final contra ações não autorizadas ou não intencionais resultantes de um ataque de injeção de comando bem-sucedido.
Por que as notificações de redução de riscos de segurança do usuário final são importantes?
As notificações de redução de riscos de segurança do usuário final informam quando um possível risco de segurança é detectado ou mitigado em um sistema de IA. Esses alertas oferecem transparência sobre as medidas de segurança tomadas e educam os usuários sobre possíveis ameaças, o que permite que eles tomem decisões embasadas. Isso promove uma abordagem colaborativa de segurança da IA, reforçando a confiança e incentivando uma interação mais segura com aplicativos de IA.
Outros recursos
Para mais informações sobre o progresso e a pesquisa do Google sobre agentes de ameaças, técnicas de ataque e vulnerabilidades de IA generativa, acesse Redução de riscos de ataques de injeção de comandos com uma estratégia de defesa em camadas.