Os aplicativos de modelo de linguagem grande (LLM) são vulneráveis a injeção de prompt, envenenamento de dados, negação de serviço de modelo e outros ataques.
Após ler este artigo, você será capaz de:
Copiar o link do artigo
O Open Web Application Security Project (OWASP) é uma organização internacional sem fins lucrativos que tem a segurança de aplicativos web como sua principal missão. O OWASP se esforça para ajudar outras organizações a melhorar sua segurança de aplicativos web, fornecendo uma gama de informações gratuitas por meio de documentos, ferramentas, vídeos, conferências e fóruns.
O relatório Top 10 do OWASP destaca os dez riscos mais críticos para a segurança de aplicativos, de acordo com especialistas em segurança. O OWASP recomenda que todas as organizações incorporem os insights deste relatório em sua estratégia de segurança de aplicativos web.
Em 2023, um grupo de trabalho do OWASP lançou um novo projeto para criar um relatório semelhante com foco em ameaças a aplicativos de modelo de linguagem grande (LLM) . O Top 10 do OWASP para aplicativos de modelo de linguagem grande identifica ameaças, fornece exemplos de vulnerabilidades e cenários de ataque reais, além de oferecer estratégias de mitigação. O OWASP espera aumentar a conscientização entre desenvolvedores, designers, arquitetos e gerentes, além de ajudá-los a se defender contra ameaças.
Abaixo estão as vulnerabilidades destacadas no relatório OWASP Top 10 for LLM Applications de outubro de 2023:
A injeção de prompts é uma tática na qual os invasores manipulam os prompts usados em um LLM. Os invasores podem pretender roubar informações confidenciais, afetar os processos de tomada de decisão guiados pelo LLM ou usar o LLM em um esquema de engenharia social .
Os invasores podem manipular os prompts de duas maneiras:
Existem várias maneiras de evitar os danos causados por injeções de prompt. Por exemplo, as organizações podem implementar políticas robustas de controle de acesso para sistemas de back-end, integrar humanos em processos direcionados a LLMs e garantir que os humanos tenham a palavra final sobre as decisões orientadas por LLMs.
Quando as organizações deixam de examinar os resultados do LLM, quaisquer resultados gerados por usuários maliciosos podem causar problemas com os sistemas downstream. A exploração do tratamento inseguro de resultados pode resultar em cross-site scripting (XSS), falsificação de solicitações entre sites (CSRF), falsificação de solicitações do lado do servidor (SSRF), execução remota de código (RCE) e outros tipos de ataques. Por exemplo, um invasor pode fazer com que um LLM gere um script malicioso que é interpretado por um navegador, resultando em um ataque XSS.
As organizações podem evitar o tratamento inseguro dos resultados aplicando um modelo de segurança Zero Trust e tratando o LLM como se fosse um usuário ou dispositivo. Elas validariam qualquer resultado do LLM antes de permitir que ele realize outras funções.
Os invasores podem tentar manipular, ou "envenenar", os dados usados para treinar um modelo LLM. O envenenamento de dados pode prejudicar a capacidade do modelo de fornecer resultados precisos ou apoiar a tomada de decisões orientada pela IA. Esse tipo de ataque pode ser lançado por concorrentes maliciosos que desejam prejudicar a reputação da organização que usa o modelo.
Para reduzir a probabilidade de envenenamento de dados, as organizações devem proteger a cadeia de suprimentos de dados. Como parte desse trabalho, elas devem verificar a legitimidade das fontes de dados, incluindo quaisquer componentes de big data usados para modelagem. Também devem evitar que o modelo raspe dados de fontes não confiáveis e higienizar os dados.
Semelhante a um ataque de negação de serviço distribuída (DDoS) , os invasores podem executar operações com uso intenso de recursos usando um LLM na tentativa de degradar a qualidade do serviço, aumentar os custos ou interromper as operações. Esse tipo de ataque pode passar despercebido, já que os LLMs geralmente consomem grandes quantidades de recursos e as demandas de recursos podem flutuar dependendo das entradas do usuário.
Para evitar esse tipo de ataque de negação de serviço , as organizações podem impor limites de taxa de APIs para usuários individuais ou endereços de IP. Elas também podem validar e higienizar as entradas. E devem monitorar continuamente o uso de recursos para identificar qualquer pico suspeito.
Vulnerabilidades na cadeia de suprimentos para aplicativos de LLM podem deixar os modelos expostos a riscos de segurança ou produzir resultados imprecisos. Vários componentes usados pelos aplicativos de LLM, incluindo modelos pré-treinados, os dados usados para treinar modelos, conjuntos de dados de terceiros e plug-ins, podem preparar o terreno para um ataque ou causar outros problemas com a operação do aplicativo de LLM.
A abordagem das vulnerabilidades da cadeia de suprimentos começa com a verificação cuidadosa dos fornecedores e a garantia de que eles tenham segurança adequada em vigor. As organizações também devem manter um inventário atualizado de componentes e examinar os dados e modelos fornecidos.
Os aplicativos de LLM podem revelar inadvertidamente dados confidenciais em respostas, desde informações confidenciais de clientes até propriedade intelectual. Esses tipos de divulgações podem constituir violações de conformidade ou levar a violações de segurança.
Os esforços de mitigação devem se concentrar em evitar a entrada de informações confidenciais e entradas maliciosas nos modelos de treinamento. A higienização e a depuração de dados são essenciais para esses esforços.
Como a criação de LLMs pode envolver transferências de dados internacionais, as organizações também devem implementar controles automatizados de localização de dados que mantenham certos dados confidenciais em regiões específicas. Elas podem permitir que outros dados sejam incorporados nos LLMs.
Os plug-ins de LLM podem aprimorar a funcionalidade do modelo e facilitar a integração com serviços de terceiros. Mas alguns plugins podem não ter controles de acesso suficientes, criando oportunidades para os invasores injetarem entradas maliciosas. Essas entradas podem permitir a RCE ou outro tipo de ataque.
Prevenir a exploração de plug-ins requer um design de plug-in mais seguro. Os plug-ins devem controlar as entradas e realizar verificações de entrada, garantindo que nenhum código malicioso passe. Além disso, os plug-ins devem implementar controles de autenticação com base no princípio do menor privilégio.
Os desenvolvedores geralmente atribuem aos aplicativos de LLM algum grau de agência, a capacidade de realizar ações automaticamente em resposta a um prompt. Dar muita agência aos aplicativos, no entanto, pode causar problemas. Se um LLM produzir resultados inesperados (devido a um ataque, uma alucinação de IA ou algum outro erro), o aplicativo poderá tomar ações possivelmente prejudiciais, como divulgar informações confidenciais ou excluir arquivos.
A melhor maneira de evitar o excesso de agência é os desenvolvedores limitarem a funcionalidade, permissões e autonomia dos plug-ins e outras ferramentas aos níveis mínimos necessários. As organizações que executam aplicativos de LLM com plug-ins também podem exigir que humanos autorizem determinadas ações antes que elas sejam realizadas.
Os LLMs não são perfeitos. Ocasionalmente, podem produzir resultados factualmente incorretos, alucinações de IA ou resultados tendenciosos, mesmo que possam apresentar esses resultados de forma fidedigna. Quando as organizações ou os indivíduos confiam excessivamente nos LLMs, eles podem disseminar informações incorretas que levam a violações regulatórias, exposição legal e reputações prejudicadas.
Para evitar os problemas de excesso de confiança, as organizações devem implementar políticas de supervisão de LLMs. Elas também devem revisar regularmente os resultados e compará-los com informações de outras fontes externas confiáveis para confirmar sua precisão.
Os invasores podem tentar acessar, copiar ou roubar modelos LLM proprietários. Esses ataques poderiam resultar na erosão da vantagem competitiva de uma empresa ou na perda de informações confidenciais dentro do modelo.
A aplicação de controles de acesso fortes, incluindo recursos de controle de acesso baseado em função (RBAC), pode ajudar a impedir o acesso não autorizado a modelos LLM. As organizações também devem monitorar regularmente os logs de acesso e responder a qualquer comportamento não autorizado. Os recursos de prevenção contra perda de dados (DLP) podem ajudar a detectar tentativas de exfiltrar informações do aplicativo.
Como o documento do OWASP sugere, as organizações precisam de uma estratégia multifacetada para proteger seus aplicativos de LLM contra ameaças. Por exemplo, elas devem:
Para ajudar as organizações a lidar com os riscos que ameaçam os aplicativos de LLM, a Cloudflare está desenvolvendo o Firewall para IA, um WAF avançado projetado especificamente para aplicativos de LLM. As organizações poderão implantar o Firewall para IA na frente dos LLMs para detectar vulnerabilidades e identificar abusos antes que cheguem aos modelos. Aproveitando a grande rede global da Cloudflare, ele ficará próximo aos usuários para detectar ataques antecipadamente e proteger usuários e modelos.
Além disso, o Cloudflare AI Gateway fornece uma plataforma de operações de IA para gerenciar e escalar cargas de trabalho de IA generativa a partir de uma interface unificada. Ela atua como um proxy entre o serviço de uma organização e seu provedor de interface, ajudando a organização a observar e controlar aplicativos de IA.
Para uma análise mais aprofundada dos Top 10 para LLMs do OWASP, consulte o relatório oficial.