- O Google realiza eventos bugSWAT no formato de red-teaming antecipado para reforçar a segurança em IA, dando aos pesquisadores a oportunidade de testar seus sistemas de IA de forma aprofundada
- A equipe que ganhou US$ 50.000 em 2023 encontrou desta vez uma nova vulnerabilidade no Gemini e recebeu o título de Most Valuable Hacker (MVH)
- A equipe de hackers recebeu do Google acesso e documentação sobre novos recursos em prévia do novo Gemini para testar as funcionalidades sob a ótica de segurança
- Ao pedir código Python com um prompt simples, era exibido o botão “Run in Sandbox”
- O ambiente de sandbox do Gemini é um ambiente seguro de execução de Python projetado com base no gVisor e no GRTE do Google
- O gVisor é um kernel em espaço de usuário criado pelo Google, uma tecnologia que reforça a segurança ao interceptar chamadas de sistema
- O ambiente de sandbox é totalmente isolado, e escapar dele é muito difícil
- Ainda assim, há casos em que é possível vazar dados de dentro do sandbox
- Foi descoberto que o sandbox disponibilizava a biblioteca
os, e então foi escrito um código Python para explorar o sistema de arquivos
- Foi encontrado um arquivo binário de 579MB chamado
/usr/bin/entry/entry_point
- Como imprimir o binário diretamente em base64 derrubava o sandbox, ele foi dividido e impresso em blocos de 10MB
- Usando uma ferramenta chamada
Caido, todos os blocos foram coletados de forma automatizada e reconstruídos localmente
- A análise com os comandos
file, strings e binwalk revelou a estrutura interna e caminhos internos do Google
- Pela análise com o binwalk, foi encontrado o diretório
google3, contendo código-fonte Python interno
- Dentro do diretório
assistant, havia código relacionado a RPC usado pelo Gemini para interagir com serviços do Google, como YouTube e Flights
- Havia strings destinadas a impedir o dump de determinados scripts, mas a equipe de segurança do Google revisou o material previamente e considerou que ele podia ser divulgado
Análise da lógica principal do sandbox
- As chamadas a serviços do Google são implementadas em classes específicas escritas em Python
- Por exemplo,
_set_reader_and_writer e run_tool se comunicam com serviços do Google por meio de descritores de arquivo
- Dentro do binário, é possível montar mensagens diretamente com base em esquemas protobuf e fazer chamadas de ferramentas
- Com base no artigo
ReAct, o Google implementou o Gemini para gerar prompts várias vezes por conta própria e planejar etapas para resolver problemas complexos
- Por exemplo, se o usuário perguntar “Horário de voo Toronto → New York?”, o Gemini escolhe ferramentas e busca dados em várias etapas
- Explorando essa lógica, foi tentada uma injeção de prompt para fazer o sistema criar um sandbox com privilégios mais altos
- Alguns sandboxes conseguem acessar extensões do Google, como APIs RPC
- As extensões são chamadas por meio de FDs sempre abertos, e explorá-las pode permitir um nível mais alto de acesso ao sistema
- Foi confirmado que, sob certas condições, como na etapa em que o Gemini planeja a resposta, é possível acessar um sandbox avançado
Vazamento de arquivos proto sensíveis
- Arquivos Protocol Buffer (
proto) são usados para definir dados entre sistemas e incluem informações estruturais sensíveis sobre o sistema
- Após executar
strings entry_point > stringsoutput.txt, a busca pela string “Dogfood” expôs diversos caminhos de proto sensíveis
- Exemplo:
privacy/data_governance/attributes/proto/classification.proto → arquivo que define como o Google classifica dados de usuários
- O comando
cat stringsoutput.txt | grep '.proto' | grep 'security' expôs uma lista de vários arquivos proto sensíveis relacionados à segurança
- Exemplos:
security/thinmint/proto/core/thinmint_core.proto, security/credentials/proto/authenticator.proto etc.
Por que esses arquivos estavam lá?
- A equipe de segurança do Google havia aprovado previamente o conteúdo incluído no binário do sandbox, mas um pipeline de build automatizado adicionou arquivos proto de segurança desnecessários
- Isso fez com que arquivos internos de definição altamente sensíveis ficassem expostos ao exterior
- Os hackers reportaram isso como uma vulnerabilidade com base no fato de que esses arquivos são tratados como informação sensível pelos próprios critérios do Google
Conclusão e retrospectiva
- Como sistemas de IA envolvem a interação de muitos elementos, problemas de segurança inesperados ocorrem com frequência
- Até um único sandbox pode se comunicar com ferramentas internas e ter privilégios alterados dinamicamente, exigindo testes precisos
- A colaboração com a equipe de segurança do Google foi proveitosa, e a experiência como um todo foi uma aventura desafiadora e empolgante
1 comentários
Opiniões do Hacker News