Como os hackers podem ler seus bate-papos com o ChatGPT ou o Microsoft Copilot

Como os hackers exploram os recursos do chatbot para restaurar chats criptografados do ChatGPT da OpenAI, do Microsoft Copilot e da maioria dos outros chatbots de IA.

Pesquisadores israelenses do Offensive AI Lab publicaram um artigo descrevendo um método para restaurar o texto de mensagens de chatbot de IA interceptadas. Hoje vamos dar uma olhada em como esse ataque funciona, e quão perigoso ele é na realidade.

Quais informações podem ser extraídas de mensagens interceptadas do chatbot de IA?

Naturalmente, os chatbots enviam mensagens criptografadas. Mesmo assim, a implementação de grandes modelos de linguagem (LLMs) e os chatbots construídos com eles abrigam uma série de recursos que enfraquecem seriamente a criptografia. Combinados, esses recursos tornam possível executar ataques de canal lateral, onde o conteúdo de mensagens é restaurado a partir de fragmentos de informações vazadas.

Para entender o que acontece durante esse ataque, precisamos nos aprofundar um pouco nos detalhes da mecânica do LLM e do chatbot. A primeira coisa a saber é que os LLMs operam não em caracteres ou palavras individuais, mas em tokens, que podem ser descritos como unidades semânticas de texto. A página do Tokenizer no site da OpenAI oferece uma visão geral do funcionamento interno.

Exemplo de tokenização de texto usando os modelos GPT-3.5 e GPT-4

O exemplo demonstra como a tokenização de mensagens funciona com os modelos GPT-3.5 e GPT-4. Fonte

Quanto ao segundo recurso que facilita esse ataque, você já o conhece se alguma vez interagiu com chatbots de IA: eles não enviam respostas em grandes blocos, mas gradualmente, quase como se fossem digitadas por uma pessoa. Mas, diferentemente de uma pessoa, os LLMs escrevem em tokens, não em caracteres individuais. Como tal, os chatbots enviam tokens gerados em tempo real, um após o outro; ou melhor, a maioria dos chatbots: a exceção é o Google Gemini, o que o torna invulnerável a esse ataque.

A terceira peculiaridade é: no momento da publicação do artigo, a maioria dos chatbots não usava compactação, codificação ou preenchimento (anexação de dados inúteis ao texto significativo para reduzir a previsibilidade e aumentar a força criptográfica) antes de criptografar uma mensagem.

Os ataques de canal lateral exploram as três peculiaridades. Embora as mensagens interceptadas do chatbot não possam ser descriptografadas, os invasores podem extrair dados úteis delas. Especificamente, o comprimento de cada token enviado pelo chatbot. O resultado é semelhante a um enigma de um Jogo da Forca: você não pode ver o que exatamente está criptografado, mas o comprimento dos tokens de palavras individuais é revelado.

Invasores podem deduzir o comprimento dos tokens enviados

Embora seja impossível descriptografar a mensagem, os invasores podem extrair o comprimento dos tokens enviados pelo chatbot; a sequência resultante é semelhante a uma frase a ser revelada no Jogo da Forca. Fonte

Usar informações extraídas para restaurar o texto da mensagem

Tudo o que resta é adivinhar quais palavras estão escondidas atrás dos tokens. E sabe quem são ótimos em jogos de adivinhação? Isso mesmo, os LLMs. Na verdade, esse é o objetivo principal deles: adivinhar as palavras certas em um determinado contexto. Portanto, para restaurar o texto da mensagem original a partir da sequência resultante de comprimentos de tokens, os pesquisadores recorreram a um LLM…

Dois LLMs, para sermos precisos, já que os pesquisadores observaram que os inícios das conversas com chatbots quase sempre seguem uma mesma fórmula e, portanto, são facilmente adivinhados por um modelo treinado em uma série de mensagens introdutórias geradas por modelos de linguagem populares. Assim, o primeiro modelo é usado para restaurar as mensagens introdutórias e passá-las para o segundo modelo, que trata do restante da conversa.

Visão geral do ataque para restaurar mensagens de chatbot de IA

Esquema geral do ataque. Fonte

Isso produz um texto no qual os comprimentos dos tokens correspondem aos da mensagem original. Mas palavras específicas são forçadas com vários graus de sucesso. Observe que uma correspondência perfeita entre a mensagem restaurada e a original é rara, geralmente acontece de uma parte do texto ser incorreta. Às vezes, o resultado é satisfatório:

Exemplo de uma reconstrução de texto razoavelmente boa

No exemplo, o texto restaurado ficou bastante próximo do original. Fonte

Mas, em um caso malsucedido, o texto reconstruído pode ter pouco ou até nada em comum com o original. Por exemplo, o resultado pode ser este:

Exemplo de uma reconstrução de texto não tão bem-sucedida

Aqui as suposições deixam muito a desejar. Fonte

Ou este exemplo:

Exemplo de uma reconstrução de texto muito ruim

Como disse a Alice, “tenho certeza de que a canção não é assim”. Fonte

No total, os pesquisadores examinaram mais de uma dúzia de chatbots de IA e descobriram que a maioria deles é vulnerável a esse ataque. As exceções são o Google Gemini (antigo Bard) e o GitHub Copilot (não deve ser confundido com o Microsoft Copilot).

 

Lista de chatbots de IA investigados

No momento da publicação do artigo, muitos chatbots estavam vulneráveis ao ataque. Fonte

Devo me preocupar?

Deve-se notar que esse ataque é retrospectivo. Suponha que alguém se deu ao trabalho de interceptar e salvar suas conversas com o ChatGPT (algo não tão fácil, mas possível), nas quais você revelou alguns segredos. Nesse caso, usando o método descrito acima, essa pessoa teoricamente seria capaz de ler as mensagens.

Felizmente, as chances do interceptador não são muito altas: como os pesquisadores observam, até o tópico geral da conversa foi determinado apenas 55% das vezes. Quanto à reconstrução bem-sucedida, o número foi de apenas 29%. Vale ressaltar que os critérios dos pesquisadores para uma reconstrução totalmente exitosa foram satisfeitos, por exemplo, pelo seguinte:

Exemplo de uma reconstrução de texto totalmente bem-sucedida

Exemplo de uma reconstrução de texto que os pesquisadores consideraram totalmente bem-sucedida. Fonte

Quão importantes são essas nuances semânticas? Decida por si mesmo. Observe, no entanto, que esse método provavelmente não extrairá nenhuma especificação real (nomes, valores numéricos, datas, endereços, detalhes de contato, outras informações vitais) com algum grau de confiabilidade.

E o ataque tem uma outra limitação que os pesquisadores não mencionam: o sucesso da restauração de texto depende muito do idioma em que as mensagens interceptadas são escritas: o sucesso da tokenização varia muito de idioma para idioma. Este artigo é focado no inglês, que é caracterizado por tokens muito longos que geralmente equivalem a uma palavra inteira. Portanto, o texto em inglês tokenizado mostra padrões distintos que tornam a reconstrução relativamente simples.

Nenhum outro idioma chega perto disso. Mesmo para os idiomas nos grupos germânico e românico, que são os mais semelhantes ao inglês, o comprimento médio do token é 1,5 a 2 vezes menor; e para o russo, 2,5 vezes: um token russo típico tem apenas alguns caracteres, o que provavelmente reduzirá a eficácia desse ataque a zero.

Pelo menos dois desenvolvedores de chatbots de IA (Cloudflare e OpenAI) já responderam ao artigo adicionando o método de preenchimento mencionado acima, que foi projetado especificamente considerando esse tipo de ameaça. Outros desenvolvedores de chatbots de IA devem seguir o exemplo, e torcemos para que a comunicação futura com chatbots seja protegida desses ataques.

Dicas