O que é um ataque de injeção de prompt?
Um ataque de injeção de prompt ocorre quando um invasor envia uma entrada maliciosa a um modelo de linguagem de grande escala (LLM) para tentar induzi-lo a responder ou se comportar de maneiras não previstas. A entrada geralmente inclui comandos que tentam ignorar as diretrizes de segurança e as instruções de sistema do modelo. Os invasores podem fornecer a entrada maliciosa diretamente (por meio de um prompt) ou indiretamente (incorporando comandos a materiais processados pelo modelo).
Como funciona a injeção de prompt
A injeção de prompts explora a forma como os LLMs foram projetados para operar. Esses modelos foram desenvolvidos para permitir que os desenvolvedores forneçam instruções em linguagem natural para a execução de tarefas. Essa capacidade também significa que eles não conseguem distinguir de forma confiável as instruções de outras entradas do usuário quando ambas são apresentadas em conjunto. Como resultado, um invasor pode inserir comandos maliciosos no texto processado pelo modelo e, se não houver mecanismos de proteção adequados, o modelo poderá seguir essas instruções maliciosas.
Injeção de prompt direta vs. indireta
Os invasores podem realizar ataques de injeção de prompt direta ou injeção de prompt indireta. Embora ambas as táticas envolvam a manipulação de modelos, elas diferem na forma como os comandos maliciosos são enviados ao modelo.
Na injeção de prompt direta, o invasor inclui comandos no prompt de um modelo. Por exemplo, ele pode usar a interface de usuário de um chatbot ou mecanismo de busca baseado em IA, simplesmente inserindo comandos para o modelo em linguagem natural. Para disfarçar essa entrada, o invasor pode recorrer à interpretação de personagens (instruindo o modelo a assumir uma persona isenta das regras de segurança) ou apresentar cenários hipotéticos (fazendo parecer que a interação não terá consequências no mundo real).
Se a tentativa for bem-sucedida, o impacto será imediato. As ações ou a saída pretendidas pelo invasor ocorrem assim que o prompt é enviado.
A injeção de prompt indireta ocorre quando um invasor incorpora comandos ou conteúdo a um material que será processado por um modelo de IA. Esse material pode incluir páginas da web, documentos PDF carregados, e-mails ou arquivos armazenados em um banco de dados. O invasor pode ocultar a carga maliciosa em texto invisível (branco sobre branco), comentários HTML ou metadados. Quando um modelo ou agente processa o material, ele não distingue a entrada legítima dos comandos e acaba executando-os.
Ao contrário da injeção de prompt direta, os efeitos dos ataques indiretos são tardios e condicionais. O impacto só será percebido quando um usuário ou processo autônomo fizer com que o modelo ou agente processe os dados. Por exemplo, um invasor pode modificar um arquivo armazenado em um banco de dados vetorial usado para geração aumentada por recuperação (RAG). Os comandos só serão executados quando um usuário inserir um prompt que inicie o processo de recuperação.
Tipos comuns de ataque
Os invasores podem usar diversas táticas de injeção de prompts, dependendo de seus objetivos e dos tipos de sistemas de IA que encontrarem. Veja três dos tipos de ataque mais comuns:
Jailbreaking: um ataque que busca convencer o modelo de IA a ignorar suas regras de segurança. O invasor pode usar cenários fictícios ou instruir o modelo a assumir uma persona que não esteja sujeita às políticas existentes. Em ataques de jailbreaking, os invasores geralmente inserem instruções diretamente nos prompts do modelo. Os objetivos podem variar desde a geração de respostas imprecisas até o compartilhamento de informações confidenciais.
Vazamento de prompts: A tentativa de expor informações confidenciais disponíveis para o sistema de IA, como prompts de desenvolvedor, lógica operacional, propriedade intelectual ou credenciais expostas indevidamente. Em um prompt, o invasor pode instruir o modelo a exibir instruções do sistema ou incluir textos que foram processados antes da conversa atual.
Contrabando de tokens: Uma tentativa de fazer comandos maliciosos passarem despercebidos pelo filtro de segurança inicial de uma aplicação de IA. As aplicações de IA geralmente analisam a entrada em busca de palavras-chave ou da intenção. Em seguida, encaminham a entrada para um sistema de back-end, que divide o texto em tokens fornecidos ao modelo. No contrabando de tokens, o invasor cria prompts que passam pelo filtro de segurança, mas são convertidos em comandos quando chegam ao modelo.
Riscos empresariais para as organizações
Os ataques de injeção de prompts representam uma ampla gama de riscos graves para as empresas, especialmente à medida que essas organizações integram cada vez mais sistemas de IA a processos críticos. Considere quatro riscos potenciais:
Execução não autorizada de ferramentas ou APIs: Se um invasor conseguir enviar comandos a um modelo, ele poderá manipular não apenas o modelo, mas também APIs e sistemas conectados a ele. Por exemplo, um invasor poderia fazer com que uma API excluísse registros de um banco de dados, alterasse informações de clientes em um sistema de gestão de relacionamento com o cliente (CRM) ou executasse transações financeiras.
Exfiltração de dados confidenciais: Um invasor que use injeção de prompt pode forçar os modelos a expor diversos tipos de dados confidenciais, desde documentos financeiros corporativos e informações de identificação pessoal (PII) até prompts de sistema e outras formas de propriedade intelectual.
Phishing automatizado: Os comandos usados por um invasor podem fazer com que um modelo ou agente envie e-mails automatizados a clientes ou funcionários usando contas de e-mail corporativas. O invasor pode fazer com que o modelo inclua links de phishing nas mensagens.
Sequestro de modelo: Com os comandos certos, um invasor poderia substituir completamente a finalidade original de um modelo e se apropriar de seus recursos para atingir outros objetivos. Por exemplo, o invasor poderia usar o modelo para disseminar desinformação, processar reembolsos não autorizados ou induzir usuários a compartilhar informações pessoais.
Mitigação e defesa em profundidade
A adoção de quatro práticas recomendadas pode ajudar as organizações a criar uma abordagem de defesa em profundidade que previna ataques e reduza os danos.
1. Implemente proteções duplas (de entrada e saída): As organizações devem implementar proteções de IA nas entradas para identificar padrões que possam indicar uma injeção de prompt. Ao mesmo tempo, devem aplicar proteções às saídas, ajudando a garantir que modelos e agentes não exponham informações confidenciais, gerem spam nem façam chamadas não autorizadas a outros sistemas.
2. Use tokens canário: Tokens canário são marcadores ocultos em sistemas de IA que fornecem um alerta antecipado sobre injeção de prompts ou vazamento de dados. Os desenvolvedores podem configurar um token (uma sequência de dados exclusiva) para aparecer em um prompt do sistema, que os usuários nunca veem. Enquanto isso, as equipes de segurança monitoram a saída do modelo em tempo real. Se o token aparecer na saída do modelo, isso significa que um invasor forçou o modelo a vazar instruções do sistema.
3. Limite os privilégios de modelos e agentes: A injeção de prompts é particularmente perigosa porque os invasores podem forçar modelos e agentes a realizar diversas ações não autorizadas. As organizações podem limitar o impacto da injeção de prompts restringindo o que modelos e agentes podem fazer automaticamente.
4. Mantenha a supervisão humana: Além de limitar os privilégios de modelos e agentes, as organizações devem garantir a supervisão humana em ações ou decisões importantes. Por exemplo, as organizações podem estabelecer políticas que exijam aprovação humana para interações de modelos com determinados sistemas ou a análise de transações financeiras iniciadas por agentes.
Perguntas frequentes
Os firewalls de aplicações web (WAFs) tradicionais podem impedir ataques de injeção de prompt?
Os firewalls de aplicações web (WAFs) tradicionais não foram projetados para detectar ataques de injeção de prompt de forma confiável. Os WAFs são projetados para procurar códigos que indiquem um ataque, mas os ataques de injeção de prompt usam comandos em linguagem natural que os WAFs não identificariam como ameaças. Além disso, os WAFs não conseguiriam proteger contra injeções indiretas de prompt, pois se concentram no tráfego HTTP de entrada e nas solicitações dos usuários, e não em comandos incorporados a fontes de terceiros.
Como os pipelines de geração aumentada por recuperação (RAG) aumentam os riscos de injeção de prompt?
Os pipelines de geração aumentada por recuperação (RAG) oferecem aos invasores outra forma de enviar comandos maliciosos aos modelos. Os invasores podem inserir comandos em arquivos armazenados no banco de dados vetorial usado por um sistema RAG. Quando o modelo recupera informações do banco de dados, ele processa esses comandos e pode acabar executando-os.
Qual é a diferença entre injeção de prompt e envenenamento de dados de RAG?
O envenenamento de dados na geração aumentada por recuperação (RAG) consiste em inserir informações falsas ou vieses em um banco de dados antes da inferência, com o objetivo de fazer com que os modelos que recuperam informações desse banco forneçam resultados imprecisos ou prejudiciais. A injeção de prompts envolve fornecer a um modelo comandos ou conteúdos maliciosos no momento da inferência para induzi-lo a realizar ações não autorizadas.
O ajuste fino de um LLM pode prevenir ataques de injeção de prompt?
Não, o ajuste fino de um modelo de linguagem de grande porte (LLM), por si só, não é capaz de impedir completamente ataques de injeção de prompt, embora possa dificultar a exploração de vulnerabilidades. Por exemplo, os desenvolvedores poderiam ensinar um modelo a reconhecer determinados padrões que possam indicar um ataque. No entanto, como os modelos são projetados para aceitar comandos em linguagem natural, eles continuarão suscetíveis a tentativas de injeção de prompt.
O que é um "token canário" e como ele é usado na defesa de LLMs?
Um token canário é uma sequência única de dados que os desenvolvedores podem incorporar aos prompts de sistema. Usuários legítimos nunca veem essa sequência. No entanto, se um invasor conseguir fazer com que o modelo revele os prompts de sistema, ele também revelará inadvertidamente o token canário. Quando as equipes que monitoram continuamente as respostas dos modelos encontram esse token, elas sabem que uma violação está em andamento.
Como uma empresa pode proteger sistemas e aplicações de IA durante a inferência e em tempo de execução?
Proteger sistemas e aplicações de IA durante a inferência e em tempo de execução exige controles que inspecionem prompts, respostas, ações de agentes e o uso de ferramentas à medida que as interações ocorrem. A segurança em tempo de execução específica para IA pode ajudar a bloquear a injeção de prompts, evitar o vazamento de dados confidenciais, aplicar políticas e controlar como modelos e agentes interagem com usuários, dados, APIs e ferramentas conectadas.
Quais recursos da F5 oferecem suporte à segurança de IA empresarial?
F5 AI Guardrails ajuda a aplicar políticas em tempo de execução e a proteger contra riscos como injeção de prompts, vazamento de dados, resultados prejudiciais e ações inseguras de agentes. F5 AI Red Team usa testes adversariais para identificar vulnerabilidades e pontos fracos. F5 AI Gateway oferece um ponto de controle centralizado para gerenciar o acesso a modelos, agentes e ferramentas, enquanto F5 Workforce AI Security proporciona visibilidade sobre o uso autorizado e não autorizado de IA em toda a empresa. Juntos, esses recursos fazem parte da F5 AI Security Platform. Para uma proteção mais ampla em aplicações, APIs e ambientes distribuídos, a F5 Application Delivery and Security Platform (ADSP) reúne recursos que incluem proteção de aplicações web e APIs, gerenciamento de bots, mitigação de DDoS e entrega de aplicações.

