OWASP Top 10 para Aplicações Baseadas em Modelos de Linguagem de Grande Escala (LLMs)

O OWASP Top 10 para Aplicações que utilizam Modelos de Linguagem de Grande Escala (LLMs) é uma lista abrangente que identifica as vulnerabilidades de segurança mais críticas associadas a essas tecnologias emergentes. Esta iniciativa tem como objetivo fomentar a conscientização entre desenvolvedores, cientistas de dados e profissionais de segurança sobre os riscos inerentes ao uso de LLMs, além de oferecer diretrizes para mitigá-los de forma eficaz. A seguir, estão listadas as principais vulnerabilidades identificadas:

  1. Injeção de Prompt: Atacantes podem manipular prompts de entrada para influenciar as respostas do modelo de maneira prejudicial.
  2. Manipulação Insegura de Saída: A ausência de validação e sanitização adequadas das respostas geradas pelo LLM pode resultar em execução de comandos não autorizados ou em divulgação de informações sensíveis.
  3. Envenenamento de Dados de Treinamento: A introdução de dados maliciosos no conjunto de treinamento do LLM pode levar a comportamentos indesejados ou tendenciosos.
  4. Negação de Serviço do Modelo: Sobrecargas intencionais do modelo com entradas complexas ou volumosas podem causar interrupções nos serviços ou degradação de desempenho.
  5. Vulnerabilidades na Cadeia de Suprimentos: Dependência de componentes, serviços ou conjuntos de dados comprometidos pode afetar a integridade e segurança do LLM.
  6. Divulgação de Informações Sensíveis: Há o risco de que o LLM exponha dados confidenciais ou proprietários em suas respostas, comprometendo a privacidade e segurança.
  7. Design Inseguro de Plugins: O desenvolvimento de plugins para LLMs sem considerar medidas de segurança adequadas pode permitir explorações como a execução remota de código.
  8. Permissão Excessiva: A concessão de autonomia excessiva ao LLM pode permitir que ele tome decisões ou execute ações sem supervisão humana apropriada.
  9. Alucinação com Autoridade: A confiança excessiva nas respostas do LLM, sem a devida validação, pode levar a decisões errôneas e inseguras.
  10. Roubo de Modelo: O acesso não autorizado e a extração do modelo LLM podem resultar em perda de propriedade intelectual e possíveis usos mal-intencionados.

Dentre estas vulnerabilidades, algumas são de responsabilidade da Atos, outras são da Cloud, e algumas podem não ser aplicáveis ao projeto em questão. Na sequência, exporemos cenários específicos e detalharemos as abordagens propostas para mitigar os riscos identificados.

1. Injeção de Prompt

Cenários Possíveis

  • Execução Remota via Chatbot: Um prompt malicioso permite acessos ou execuções não autorizadas através do chatbot.
  • Inserção ou Exclusão no Banco de Dados: Injeção indireta pode resultar em inserção ou exclusão de informações no banco de dados.
  • Reprodução de Prompt: Um atacante reproduz prompts do sistema para viabilizar ataques futuros.

Ações de Prevenção

  • Controle de Privilégios: Restringir o acesso do LLM e aplicar permissões com base em funções.
  • Tratamento de Palavras-chave: Impedir prompts que contenham palavras que possam induzir a ações indesejadas.
  • Segregação de Conteúdo: Separar conteúdos não confiáveis dos prompts recebidos dos usuários.

2. Manipulação Insegura da Saída

Cenários Possíveis

  • Desligamento de Chatbot: A saída do LLM desativa um plugin devido à falta de validação.
  • Exclusão de Tabelas do Banco de Dados: O LLM gera uma consulta SQL destrutiva que pode excluir todas as tabelas.
  • Exploração de XSS: Saída não sanitizada em JavaScript resulta em XSS no navegador da vítima.

Ações de Prevenção

  • Abordagem de Zero-Trust: Tratar a saída do LLM como entrada do usuário e realizar validações rigorosas.
  • Codificação de Saída: Implementar a codificação da saída do LLM para prevenir a execução de código não autorizado.

3. Envenenamento de Dados de Treinamento

Cenários Possíveis

  • Saídas Enganosas: O LLM gera conteúdo que promove preconceito ou ódio.
  • Injeção de Dados Tóxicos: Usuários mal-intencionados manipulam o modelo com dados tendenciosos.

Ações de Prevenção

  • Utilização de LLMs Pré-Treinadas: Nossa abordagem envolverá a utilização da API do GCP, que já foi submetida a tratamentos de segurança adequados.

4. Negação de Serviço do Modelo

Cenários Possíveis

  • Uso Excessivo de Recursos: Ataques buscam sobrecarregar um modelo hospedado, impactando outros usuários.
  • Inundação de Entrada: Entradas excessivas causam lentidão no sistema.

Ações de Prevenção

  • Utilização de LLMs Pré-Treinadas: A mesma mitigação se aplica, utilizando a API do GCP.

5. Vulnerabilidades na Cadeia de Suprimentos

Cenários Possíveis

  • Vulnerabilidades de Pacotes: Uso de componentes desatualizados pode introduzir falhas de segurança.
  • Dados Contaminados: Dependência de dados crowd-sourced comprometidos.
  • Modelos Desatualizados: Utilização de modelos que não recebem manutenção adequada.

Ações de Prevenção

  • Uso de Dados Internos: Garantimos que todos os dados empregados no projeto serão provenientes de fontes internas, mitigando o risco de dados comprometedores.
  • Utilização de LLMs Pré-Treinadas: Continuamos a aplicar esta abordagem a fim de garantir segurança e integridade.

6. Divulgação de Informações Sensíveis

Cenários Possíveis

  • Exposição Não Intencional: Usuários podem ter exposições a dados de outros indivíduos.
  • Vazamento de Dados de Treinamento: Dados pessoais podem vazar durante o treinamento.

Ações de Prevenção

  • Princípio da Baixa Permissão: O acesso ao sistema será restrito apenas às pessoas que tenham autorização para visualizar determinados documentos.
  • Utilização de LLMs Pré-Treinadas: A aplicação dessa estratégia garantirá a segurança dos dados tratados.

7. Design Inseguro de Plugins

Cenários Possíveis

  • Manipulação de URL: Ataques que injetam conteúdo através de URLs manipuladas.
  • Reconhecimento e Exploração: A ausência de validação pode ser explorada para execução de código e roubo de dados.

Ações de Prevenção

  • Uso de Plugins do Marketplace: Apenas utilizaremos plugins disponíveis na loja da GCP, que já foram testados para segurança.

8. Permissão Excessiva

Cenários Possíveis

  • Manipulação de Console: Permissões extensivas podem permitir ações indevidas na aplicação.
  • Execução de Scripts: Permissões excessivas podem ser utilizadas para a execução e modificação de códigos maliciosos.

Ações de Prevenção

  • Princípio da Baixa Permissão: A aplicação não terá permissões que permitam execução de ações não autorizadas.

9. Alucinação com Autoridade

Cenários Possíveis

  • Disseminação de Desinformação: Atores mal-intencionados podem explorar a confiança oferecida por organizações de notícias que dependem do LLM.

Ações de Prevenção

  • Monitoramento de Output: O output da LLM será rigorosamente monitorado e moderado com base em métricas estabelecidas para alucinação.
  • Segmentação de Tarefas: Dividir as tarefas do modelo de modo a facilitar a precisão das respostas.

10. Roubo de Modelo

Cenários Possíveis

  • Roubo de Modelo: Acesso não autorizado e uso inadequado por concorrentes.

Ações de Prevenção

  • Utilização de LLMs Pré-Treinadas: Com a implementação da API do GCP, mitigamos os riscos associados ao roubo de modelos, dado que nossos dados já passaram por rigorosos tratamentos.

Essa documentação procura oferecer um panorama claro das principais vulnerabilidades associadas ao uso de LLMs e as estratégias de mitigação a serem adotadas, garantindo maior segurança e eficiência ao projeto.