Table of Contents
Uma nova técnica de injeção de prompt pode permitir que qualquer pessoa contorne as barreiras de segurança no modelo de aprendizado de linguagem (LLM) mais avançado da OpenAI.
O GPT-4o, lançado em 13 de maio, é mais rápido, mais eficiente e mais multifuncional do que qualquer um dos modelos anteriores que sustentam ChatGPT. Ele pode processar várias formas diferentes de dados de entrada em dezenas de idiomas e dar uma resposta em milissegundos. Pode ter conversas em tempo real, analisar feeds de câmera ao vivo e manter uma compreensão do contexto em conversas longas com os usuários. No entanto, quando se trata de gerenciamento de conteúdo gerado pelo usuário, o GPT-4o ainda é, em alguns aspectos, arcaico.
Marco Figueroa, gerente de programas de bug-bounty de IA generativa (GenAI) na Mozilla, demonstrou em um novo relatório como atores mal-intencionados podem aproveitar o poder do GPT-4o enquanto ignoram suas barreiras de segurança. A chave é, essencialmente, distrair o modelo através de codificação de instruções maliciosas em um formato não ortodoxo e espalhá-las em passos distintos.
Enganando o ChatGPT para Escrever Código de Exploit
Para prevenir abusos maliciosos, o GPT-4o analisa as entradas dos usuários em busca de sinais de linguagem imprópria, instruções com má intenção, etc.
Mas, no final do dia, Figueroa diz: “São apenas filtros de palavras. É o que eu vi pela experiência, e sabemos exatamente como contornar esses filtros.”
Por exemplo, ele diz: “Podemos modificar como algo está escrito — quebrá-lo de certas maneiras — e o LLM o interpreta.” O GPT-4o pode não rejeitar uma instrução maliciosa se ela for apresentada de uma forma de ortografia ou frase que não se alinha com a linguagem natural típica.
Descobrir a maneira exata de apresentar informações para enganar uma IA de ponta, no entanto, requer muita criatividade. Acontece que há um método muito mais simples para contornar a filtragem de conteúdo do GPT-4o: codificação de instruções em um formato diferente da linguagem natural.
Para demonstrar, Figueroa realizou um experimento com o objetivo de fazer o ChatGPT fazer algo que não deveria: escrever código de exploit para uma vulnerabilidade de software. Ele escolheu o CVE-2024-41110, uma bypass para plugins de autorização no Docker que ganhou uma classificação “crítica” de 9.9 em 10 no Sistema Comum de Pontuação de Vulnerabilidades (CVSS) neste verão.
Para enganar o modelo, ele codificou sua entrada maliciosa em formato hexadecimal e forneceu um conjunto de instruções para decodificá-la. O GPT-4o aceitou essa entrada — uma longa série de dígitos e letras de A a F — e seguiu essas instruções, decodificando a mensagem como uma instrução para pesquisar o CVE-2024-41110 e escrever um exploit em Python para ele. Para tornar menos provável que o programa se incomodasse com essa instrução, ele usou uma linguagem leet, pedindo um “3xploit” em vez de um “exploit”.
Fonte: Mozilla
Em um minuto, o ChatGPT gerou um exploit funcional semelhante, mas não exatamente igual, a outro PoC já publicado no GitHub. Depois, como um bônus, ele tentou executar o código contra si mesmo. “Não havia nenhuma instrução que dissesse especificamente para executá-lo. Eu só queria imprimi-lo. Eu nem sabia por que ele foi em frente e fez isso,” diz Figueroa.
O Que Está Faltando no GPT-4o?
Não é apenas que o GPT-4o está sendo distraído pela decodificação, de acordo com Figueroa, mas que, de certa forma, está perdendo a floresta por causa das árvores — um fenômeno que tem sido documentado em outras técnicas de injeção de prompt recentemente.
“O modelo de linguagem é projetado para seguir instruções passo a passo, mas carece de uma consciência profunda do contexto para avaliar a segurança de cada passo individual no contexto mais amplo de seu objetivo final,” escreveu ele no relatório. O modelo analisa cada entrada — que, por si só, não lê imediatamente como prejudicial — mas não o que as entradas produzem em soma. Em vez de parar e pensar sobre como a instrução um se relaciona com a instrução dois, ele apenas avança.
“Essa execução compartimentalizada de tarefas permite que os atacantes explorem a eficiência do modelo em seguir instruções sem uma análise mais profunda do resultado geral,” de acordo com Figueroa.
Se for esse o caso, o ChatGPT não apenas precisará melhorar sua forma de lidar com informações codificadas, mas também desenvolver uma espécie de contexto mais amplo em torno de instruções divididas em etapas distintas.
Para Figueroa, no entanto, a OpenAI parece estar valorizando a inovação em detrimento da segurança ao desenvolver seus programas. “Para mim, eles não se importam. Apenas parece assim,” diz ele. Em contraste, ele teve muito mais dificuldades tentando as mesmas táticas de fuga contra modelos da Anthropic, outra empresa proeminente de IA fundada por ex-funcionários da OpenAI. “A Anthropic tem a segurança mais forte porque construiu tanto um firewall de prompt [para analisar entradas] quanto um filtro de resposta [para analisar saídas], então isso se torna 10 vezes mais difícil,” ele explica.
Quais os métodos de codificação para contornar filtros de segurança em LLMs?
Para contornar filtros de segurança em Modelos de Linguagem Grande (LLMs), atores mal-intencionados podem empregar várias técnicas de codificação e manipulação de instruções. Este artigo explora as principais abordagens utilizadas para burlar a segurança desses modelos, focando em técnicas como prompt-injection e codificações não ortodoxas.
Codificação em Formatos Não Ortodoxos
- Atacantes podem codificar instruções maliciosas em formatos como hexadecimal, Base 64, HTML, Unicode, UTF-7, UTF-8, ou Octal para evitarem a detecção pelos filtros de segurança do LLM. Por exemplo, Marco Figueroa demonstrou como codificar instruções em formato hexadecimal para fazer o GPT-4o gerar código de exploit.
Uso de Linguagem Leet e Substituição de Caracteres
- Modificar a ortografia ou substituir caracteres por equivalentes numéricos ou leet speak (por exemplo, “3xploit” em vez de “exploit”) pode ajudar a evitar a detecção pelos filtros de palavras-chave.
Reformulação ou Ofuscação de Instruções
- Atacantes podem reformular ou ofuscar suas instruções maliciosas para evitar a detecção. Isso pode incluir a substituição de palavras-chave negativas por termos positivos ou a substituição de caracteres por equivalentes numéricos.
Uso de Injeção Indireta de Prompt
- A injeção indireta de prompt envolve fornecer instruções maliciosas de forma indireta, como através de decodificação ou interpretação em etapas, para evitar a detecção imediata pelos filtros de segurança.
Essas técnicas exploram as limitações dos LLMs em analisar o contexto mais amplo das instruções e em detectar codificações não ortodoxas. A segurança em modelos como o GPT-4o é constantemente desafiada por essas abordagens, o que ressalta a necessidade de aprimoramento contínuo nas medidas de proteção.
Fontes de Pesquisa
- AWS – Melhores práticas de engenharia rápidas para LLMs
- Globant Blog – Conheça as ameaças aos LLMs de Injeções de Prompt
- Artigo sobre técnicas de injeção de prompt no GPT-4o
Conclusão
Em resumo, as técnicas de codificação para contornar filtros de segurança em LLMs, como o GPT-4o, demonstram a vulnerabilidade desses modelos diante de instruções maliciosas. A utilização de métodos como a prompt-injection e a codificação em formatos não ortodoxos evidencia a necessidade de um enfoque proativo na segurança de sistemas de inteligência artificial. À medida que as ameaças evoluem, é imperativo que as práticas de segurança também se adaptem e se fortaleçam para mitigar riscos associados a exploit e outras formas de manipulação.
Fonte
#cryptoalch, #GPT4o, #segurança, #prompt-injection, #exploit