A divulgação de informações sensíveis é uma vulnerabilidade em que um modelo de linguagem grande (LLM) revela sem querer dados confidenciais, particulares, reservados ou restritos de outra forma nas respostas. Isso pode acontecer quando o modelo vaza informações dos dados de treinamento ou revela detalhes sensíveis fornecidos a ele no contexto da sessão de um usuário. Os invasores podem explorar isso criando consultas específicas ou usando técnicas de injeção de comandos para enganar o modelo e fazer com que ele divulgue informações que não deveria. O problema principal é a incapacidade do LLM de distinguir entre dados públicos e informações confidenciais que ele processou.
Tipos de declaração relevantes para o Android
Vazamento de dados de treinamento: isso ocorre quando um LLM regurgita fragmentos de dados específicos e literais com que foi treinado. Se o conjunto de dados de treinamento incluir informações pessoais (PII), código reservado ou documentos internos, o modelo poderá reproduzir essas informações na saída quando solicitado corretamente. Para apps Android, isso pode envolver modelos pré-treinados agrupados com o app ou modelos acessados usando APIs de nuvem.
Divulgação de dados contextuais: esse é um risco mais imediato para apps Android, envolvendo a exposição de informações sensíveis fornecidas por um usuário durante uma sessão do app. Por exemplo, se o aplicativo permitir que um usuário insira informações de identificação pessoal (PII) em um LLM para resumo, um ataque de injeção de comandos subsequente poderá permitir que um invasor manipule o modelo para divulgar o conteúdo. Isso também se aplica a dados sensíveis que seu app transmite implicitamente ao LLM.
Por que isso é importante para os desenvolvedores Android
A divulgação de informações sensíveis pode comprometer gravemente um aplicativo e seus usuários:
- Violações de privacidade: um invasor pode extrair informações de identificação pessoal (PII), como nomes, e-mails, números de telefone ou até mesmo dados de localização dos usuários, levando a roubo de identidade e penalidades regulatórias graves (por exemplo, de acordo com o GDPR ou a CCPA). Isso é especialmente importante para apps Android que processam dados do usuário.
- Roubo de propriedade intelectual: se o LLM do seu app processar algoritmos reservados, dados financeiros ou outras informações comerciais internas, um invasor poderá forçar a divulgação deles, causando danos financeiros e competitivos significativos à sua organização.
- Violações de segurança: o LLM pode vazar inadvertidamente informações no nível do sistema, como chaves de API, tokens de autenticação ou detalhes de configuração que estavam presentes nos dados de treinamento ou foram transmitidos durante uma sessão, criando vulnerabilidades de segurança críticas para seu back-end ou outros serviços.
- Dano à reputação: um único incidente significativo de vazamento de dados pode destruir a confiança do usuário, levar a desinstalações de apps, avaliações negativas e causar danos irreparáveis à reputação do aplicativo e da marca.
Mitigações para desenvolvedores de apps Android
Para mitigar essa vulnerabilidade, é necessário adotar uma abordagem de várias camadas focada na higiene de dados e no controle do acesso do LLM no seu app Android.
Sanitização e minimização de dados:
- Priorize a limpeza de entradas: antes de enviar qualquer entrada do usuário ou dado do app para um LLM, arraste o marcador e anonimize-o rigorosamente. Remova todas as informações de identificação pessoal e reservadas que não sejam absolutamente essenciais para a tarefa do LLM.
- Colete apenas o que é necessário: siga o princípio da minimização de dados no seu app. Colete e forneça ao LLM apenas os dados mínimos necessários para que ele execute a função específica.
- ML no dispositivo: para dados sensíveis, considere usar modelos de machine learning no dispositivo, em que os dados nunca saem do dispositivo do usuário, reduzindo significativamente o risco de vazamentos de dados do lado do servidor.
Controlar acesso
- Limitar o acesso aos dados: crie seu aplicativo de LLM para que ele tenha acesso à menor quantidade possível de dados. Se o modelo não tiver acesso a um banco de dados sensível, preferências do usuário ou arquivos particulares, não será possível enganá-lo para que vaze o conteúdo.
- Restrinja as permissões do Android: verifique se os componentes de IA do app operam com o mínimo absoluto de permissões do Android necessárias. Não conceda permissões desnecessárias que possam expor dados sensíveis.
Filtragem de saída no app:
- Redação do lado do cliente: implemente uma camada de segurança no seu app Android que analisa a saída do LLM em busca de padrões que correspondam a informações sensíveis (por exemplo, números de cartão de crédito, chaves de API, números de Previdência Social, endereços de e-mail) antes que a resposta seja mostrada ao usuário. Se uma correspondência for encontrada, a resposta será bloqueada ou censurada.
Proteções instrucionais para LLMs:
- Comandos explícitos do sistema: inclua instruções explícitas no comando do sistema que proíbam o modelo de revelar informações pessoais, confidenciais ou sensíveis. Por exemplo: "Não compartilhe detalhes do usuário, dados internos ou informações de identificação pessoal em nenhuma circunstância". Isso reforça o comportamento esperado.
Técnicas de aprimoramento da privacidade:
- Para aplicativos que aprendem com interações ou dados do usuário, considere técnicas avançadas, como privacidade diferencial (adicionar ruído estatístico aos dados) ou aprendizado federado (treinar modelos em dispositivos do usuário sem centralizar os dados) para proteger a privacidade individual.
Auditoria e simulação de ataque regulares:
- Testes proativos: teste ativamente e faça equipe vermelha no seu app Android para descobrir se e como o LLM pode vazar informações sensíveis. Isso envolve tentar intencionalmente fazer com que o LLM revele dados que não deveria.
Resumo
A divulgação de informações sensíveis ocorre quando um LLM revela dados confidenciais do conjunto de treinamento ou das sessões do usuário, representando riscos significativos, como violações de privacidade e roubo de propriedade intelectual. A mitigação exige uma defesa em camadas no app Android, priorizando a limpeza de dados antes que eles cheguem ao LLM, aplicando o princípio de privilégio mínimo para limitar o acesso aos dados do modelo e implementando filtros robustos para verificar e encobrir informações sensíveis na saída final do modelo antes que ela chegue ao usuário. O uso de ML no dispositivo e ferramentas como o Firebase App Check pode aumentar ainda mais a segurança.
Outros recursos
Confira alguns links para as diretrizes sobre informações sensíveis:
Se você estiver usando outros modelos, procure orientações e recursos semelhantes.
Mais informações: