a nova ameaça cibernética em assistentes de IA

a nova ameaça cibernética em assistentes de IA
Publicado em 15/10/2024 às 13:47

Uma nova vulnerabilidade em assistentes de inteligência artificial (IA) como ChatGPT, Copilot e outros está sendo explorada por hackers, que utilizam caracteres invisíveis para transmitir comandos maliciosos ou extrair informações confidenciais sem que os usuários percebam.

Esses caracteres, que fazem parte de um conjunto peculiar do padrão de codificação de texto Unicode, criam um canal oculto ideal para que invasores insiram e exfiltrem dados, como senhas ou informações financeiras.

Esse tipo de ataque se baseia na capacidade dos modelos de linguagem, como GPT-4 e Claude, de reconhecer e interpretar esses caracteres invisíveis. Enquanto um ser humano não consegue enxergá-los em navegadores ou em outros aplicativos comuns, as inteligências artificiais podem processá-los como texto legível, o que torna esses ataques mais viáveis em diversas áreas.

O método foi descrito em um artigo do Ars Technica.

O conceito de “ASCII Smuggling”

A técnica, denominada “ASCII Smuggling” (contrabando de ASCII), foi introduzida pelo pesquisador Johann Rehberger, que demonstrou dois ataques de prova de conceito no início deste ano, direcionados ao Microsoft 365 Copilot. O ataque consistia em acessar caixas de e-mail dos usuários em busca de informações confidenciais, como cifras de vendas ou senhas de uso único (OTP), e depois ocultá-las em uma URL com caracteres invisíveis.

Esses caracteres não aparecem visualmente para o usuário, que poderia clicar em um link aparentemente inofensivo gerado pelo Copilot. No entanto, ao acessar o URL, os dados secretos são transmitidos para o servidor do invasor, que, utilizando ferramentas como o “ASCII Smuggler”, consegue decodificar o conteúdo oculto e obter informações sensíveis.

A Microsoft foi notificada sobre o problema e implementou algumas medidas de mitigação meses após o relato de Rehberger, mas os ataques serviram como um alerta para os riscos potenciais dessas técnicas.

Injeção de comandos através de “prompt injection”

O principal vetor de exploração nos ataques de Rehberger foi a técnica chamada de “prompt injection” (injeção de prompt). Nessa abordagem, os invasores inserem comandos ocultos em dados aparentemente confiáveis, que são processados como instruções pelo modelo de IA. No caso dos ataques ao Copilot, o invasor induziu o modelo a vasculhar e-mails antigos em busca de cifras de vendas ou senhas temporárias, e a adicionar essas informações a um URL.

A exploração de falhas de segurança por meio da injeção de prompts é um problema crescente no desenvolvimento de IAs generativas. Em muitos casos, o modelo é enganado a interpretar dados não confiáveis como comandos legítimos, o que pode resultar na execução de ações prejudiciais.

Unicode: um canal oculto para ataques

A vulnerabilidade explorada por Rehberger envolve uma peculiaridade no padrão Unicode, que suporta mais de 150 mil caracteres, incluindo alguns que são invisíveis aos usuários, mas interpretáveis por sistemas de IA.

Especificamente, um bloco de 128 caracteres no Unicode foi projetado para servir como identificadores de idiomas ou países, mas acabou sendo abandonado em versões posteriores. Esses caracteres, conhecidos como “bloco de Tags”, foram descontinuados, mas permanecem como parte do padrão e podem ser usados para esconder dados.

Pesquisadores como Riley Goodside descobriram que esses caracteres invisíveis podem ser aproveitados por sistemas de IA para realizar ataques semelhantes aos de texto branco (white text) em currículos ou textos acadêmicos, onde as palavras-chave escondidas não são visíveis para humanos, mas são lidas por algoritmos de triagem.

unicode
Vulnerabilidade envolve peculiaridade do padrão Unicode. (Imagem: Paolo De Gasperis / Shutterstock.com)

Casos práticos de exploração

Além dos ataques contra o Copilot, pesquisadores demonstraram outras formas de manipular os modelos de IA usando texto invisível.

Por exemplo, Goodside, que tem se destacado na pesquisa de segurança em IA, demonstrou em 2022 que era possível enganar um bot automatizado no Twitter rodando em GPT-3 a responder perguntas com frases embaraçosas. Ele usou a técnica descrita em um artigo científico sobre injeção de conteúdo adversarial para fazer o bot desobedecer suas instruções originais.

Essa técnica também foi empregada por professores universitários que inseriam instruções ocultas em textos acadêmicos para identificar o uso de chatbots por estudantes na redação de ensaios. Essas instruções invisíveis direcionavam os modelos de IA a incluir certas referências, que serviam como um sinalizador de que o texto havia sido gerado artificialmente.

Tabela de comportamento de LLMs em relação a ataques de caracteres invisíveis

Os comportamentos variam entre os diferentes modelos de linguagem quanto à sua capacidade de reconhecer e interpretar caracteres invisíveis. Abaixo está uma tabela com os principais LLMs e suas respostas a esses ataques:

Modelo de IA Reconhecimento de caracteres invisíveis Vulnerável a “prompt injection”? Medidas de proteção implementadas
GPT-4 Sim Sim Mitigação parcial
Claude Sim Sim Proteção moderada
Microsoft Copilot Sim Sim Medidas de segurança avançadas, mas com falhas
Bard Sim Sim Mitigação em desenvolvimento
LLaMA Sim Sim Vulnerável, sem medidas efetivas
Mistral Não Não Menos exposto devido à arquitetura

Leia mais:

Ameaça contínua à segurança na inteligência artificial

Os ataques envolvendo caracteres invisíveis são apenas uma das várias maneiras pelas quais a segurança da IA pode ser comprometida. Os modelos de linguagem são vulneráveis a diversos tipos de ataques que exploram sua capacidade de processar informações que os humanos não conseguem perceber.

Pesquisas em andamento estão focadas em explorar a possibilidade de ataques por meio de mensagens secretas embutidas em sons, imagens e outros esquemas de codificação de texto.

Apesar das medidas de mitigação que foram implementadas por empresas como a Microsoft e a OpenAI, o pesquisador Joseph Thacker alerta que o problema ainda persiste. A solução não está sendo aplicada no nível dos modelos de IA, o que significa que cada novo aplicativo desenvolvido com essas ferramentas pode ser vulnerável.

código
Medidas de mitigação foram implementadas, mas o problema persiste. (Imagem: khunkornStudio / Shutterstock.com)

Essa ameaça pode ser comparada a falhas de segurança como a injeção de SQL ou o cross-site scripting, que continuam a ser exploradas mesmo após anos de desenvolvimento de medidas de segurança. “Cada novo desenvolvedor precisa estar ciente desses problemas e bloquear o uso de caracteres invisíveis”, afirmou Rehberger.

O futuro da segurança em IA

O problema dos caracteres invisíveis e a injeção de comandos em sistemas de IA é um reflexo da falta de práticas de segurança robustas durante o desenvolvimento desses modelos. A abordagem atual tem sido permitir uma grande quantidade de tokens, incluindo aqueles que podem ser mal utilizados por atacantes. Isso cria brechas que podem ser exploradas em diversos contextos.

Os pesquisadores de segurança em IA destacam a necessidade de uma revisão dessas práticas e a implementação de listas de permissões mais restritas para tokens que podem ser processados pelos modelos de IA. À medida que a tecnologia avança e mais recursos são adicionados, novos vetores de ataque podem surgir, exigindo constante vigilância.

Como destacou Riley Goodside, a habilidade das IAs de entenderem dados que os humanos não conseguem perceber continuará sendo uma questão de segurança crítica nos próximos anos.