¿Cuáles son los 10 principales riesgos de OWASP para los LLM?

Las aplicaciones de modelo de lenguaje grande (LLM) son vulnerables a la inyección de solicitudes, el envenenamiento de datos, la denegación de servicio de modelo y otros ataques.

Metas de aprendizaje

Después de leer este artículo podrás:

  • Comprender qué es OWASP
  • Resumir cada una de las 10 principales amenazas de OWASP para los LLM
  • Descubre formas de abordar las vulnerabilidades de los LLM

Copiar el enlace del artículo

¿Qué es OWASP?

El Proyecto Abierto de Seguridad de Aplicaciones Web (OWASP) es una organización internacional sin fines de lucro cuya misión principal es proteger la seguridad de las aplicaciones web. OWASP ayuda a otras organizaciones a mejorar la seguridad de sus aplicaciones web ofreciendo información gratuita a través de documentos, herramientas, videos, conferencias y foros.

El informe OWASP Top 10 destaca los 10 riesgos críticos para la seguridad de las aplicaciones, según los expertos en seguridad. OWASP recomienda que todas las organizaciones incorporen los conocimientos de este informe en su estrategia de seguridad de aplicaciones web.

En 2023, un grupo de trabajo de OWASP lanzó un nuevo proyecto para crear un informe similar centrado en las amenazas a las aplicaciones del modelo de lenguaje grande (LLM) . El OWASP Top 10 for Large Language Model Applications identifica amenazas, ofrece ejemplos de vulnerabilidades y escenarios de ataques reales, y brinda estrategias de mitigación. El objetivo de OWASP es generar conciencia entre desarrolladores, diseñadores, arquitectos y gerentes, y al mismo ayudarles a defenderse de las amenazas.

A continuación, se muestran las vulnerabilidades que se destacan en el informe OWASP Top 10 for LLM Applications de octubre de 2023:

1. Inyección de solicitudes

La inyección de solicitudes es una táctica mediante la cual los atacantes manipulan las solicitudes que se utilizan para un LLM. Los atacantes pueden tener la intención de robar información confidencial, afectar los procesos de toma de decisiones guiados por el LLM o utilizar el LLM en un plan de ingeniería social.

Los atacantes pueden manipular las solicitudes de dos maneras:

  • La inyección directa de solicitudes (también conocida como "jailbreaking") es el proceso de sobreescribir la solicitud del sistema, que indica al LLM cómo responder a la entrada del usuario. Mediante esta táctica, el atacante podría acceder y explotar los sistemas back-end.
  • La inyección indirecta de solicitudes se produce cuando un atacante controla sitios web externos, archivos u otras fuentes externas que se utilizan como entrada para el LLM. El atacante podría explotar los sistemas a los que accede el LLM o utilizar el modelo para manipular al usuario.

Hay diversas formas de evitar el daño de las inyecciones de solicitudes. Por ejemplo, las organizaciones pueden implementar políticas de control de acceso sólidas para los sistemas backend, integrar humanos en los procesos dirigidos por LLM y garantizar que los humanos tengan la última palabra en las decisiones basadas en LLM.

2. Gestión de resultados insegura

Cuando las organizaciones no examinan los resultados del LLM, cualquier resultado generado por usuarios malintencionados podría generar problemas en los sistemas posteriores. La explotación de la gestión de salida insegura podría generar ataques de cross-site scripting (XSS), falsificación de solicitudes entre sitios (CSRF), falsificación de solicitudes del lado del servidor (SSRF), ejecución remota de código (RCE) y otros tipos de ataques. Por ejemplo, un atacante podría hacer que un LLM emita un script malicioso que fuera interpretado por un navegador, lo que generaría un ataque XSS.

Las organizaciones pueden evitar el manejo inseguro de los resultados mediante un modelo de seguridad Zero Trust y el tratamiento del LLM como cualquier usuario o dispositivo. Validarían cualquier resultado del LLM antes de permitir el accionar de otras funciones.

3. Envenenamiento de datos de entrenamiento

Los atacantes podrían intentar manipular, o "envenenar", los datos utilizados para entrenar un modelo LLM. El envenenamiento de datos puede dificultar la capacidad del modelo de ofrecer resultados precisos o respaldar la toma de decisiones basada en la IA. Este tipo de ataque podría ser lanzado por competidores maliciosos que quieran dañar la reputación de la organización que utiliza el modelo.

Para reducir la probabilidad del envenenamiento de datos, las organizaciones deben proteger la cadena de suministro de datos. Como parte de ese trabajo, deben verificar la legitimidad de las fuentes de datos, que incluyen los componentes de big data utilizados para el modelado. También deben evitar que el modelo extraiga datos de fuentes no confiables y desinfectar los datos.

4. Modelo de denegación de servicio

Al igual que en un ataque de denegación de servicio distribuido (DDoS), los atacantes pueden ejecutar operaciones que consumen muchos recursos utilizando un LLM en un intento por degradar la calidad del servicio, aumentar los costos o interrumpir las operaciones de cualquier otra manera. Este tipo de ataque puede pasar desapercibido, ya que los LLM suelen consumir grandes cantidades de recursos, y la demanda de recursos puede fluctuar en función de las entradas de los usuarios.

Para evitar este tipo de ataque de denegación de servicio, las organizaciones pueden aplicar límites de velocidad de API para usuarios individuales o direcciones IP. También pueden validar y desinfectar las entradas. Además, deben supervisar continuamente el uso de los recursos para identificar cualquier pico sospechoso.

5. Vulnerabilidades de la cadena de suministro

Las vulnerabilidades en la cadena de suministro de las aplicaciones de LLM pueden dejar los modelos expuestos a riesgos de seguridad o generar resultados imprecisos. Varios componentes utilizados para las aplicaciones LLM, incluidos los modelos entrenados previamente, los datos que se utilizaron para entrenar modelos, los conjuntos de datos de terceros y los complementos, pueden sentar las bases para un ataque o generar otros problemas con el funcionamiento de la aplicación de LLM.

Para abordar las vulnerabilidades de la cadena de suministro se debe comenzar con una investigación detallada de los proveedores y garantizar que cuenten con la seguridad adecuada. Las organizaciones también deben mantener un inventario actualizado de los componentes y analizar los datos y modelos suministrados.

6. Divulgación de información confidencial

Las aplicaciones de LLM pueden revelar involuntariamente datos confidenciales en las respuestas, desde información confidencial del cliente hasta de propiedad intelectual. Estos tipos de divulgaciones podrían constituir infracciones de cumplimiento normativo o dar lugar a fugas de seguridad.

En primer lugar, las iniciativas de mitigación deben evitar que la información confidencial y las entradas maliciosas ingresen en los modelos de entrenamiento. La desinfección y la depuración de datos son esenciales para estas iniciativas.

Como la creación de LLM puede implicar transferencias de datos transfronterizas, las organizaciones también deben implementar controles automatizados de localización de datos que mantengan ciertos datos confidenciales en regiones específicas. Pueden permitir que se incorporen otros datos en los LLM.

7. Diseño de complemento no seguro

Los complementos de LLM pueden mejorar la funcionalidad del modelo y facilitar la integración con servicios de terceros. Sin embargo, algunos complementos pueden carecer de controles de acceso suficientes, lo que crea oportunidades para que los atacantes inyecten entradas maliciosas. Esas entradas podrían habilitar RCE u otro tipo de ataque.

Evitar la explotación de complementos requiere un diseño de complementos más seguro. Los complementos deben controlar y hacer comprobaciones de entradas, y verificar que no se introduzca ningún código malicioso. Además, los complementos deben implementar controles de autenticación basados en el principio de privilegios mínimos.

8. Exceso de autonomía

Los desarrolladores suelen dar a las aplicaciones LLM cierto grado de autonomía, es decir, la capacidad de realizar acciones automáticamente en respuesta a un mensaje. Sin embargo, otorgar demasiada autonomía a las aplicaciones puede causar problemas. Si un LLM produce resultados inesperados (debido a un ataque, una alucinación de IA o algún otro error), la aplicación podría tomar medidas potencialmente dañinas, como divulgar información confidencial o eliminar archivos.

La mejor manera de evitar un exceso de autonomía es que los desarrolladores limiten la funcionalidad, los permisos y la autonomía de los complementos y otras herramientas a los niveles mínimos necesarios. Las organizaciones que ejecutan aplicaciones LLM con complementos también pueden requerir que los humanos autoricen ciertas acciones antes de que se lleven a cabo.

9. Dependencia excesiva

Los LLM no son perfectos. Ocasionalmente, pueden producir resultados fácticamente incorrectos, alucinaciones de IA o resultados sesgados, a pesar de que entreguen esos resultados como fiables. Cuando las organizaciones o los individuos tienen una confianza excesiva en los LLM, pueden difundir información incorrecta que puede dar lugar a infracciones normativas, exposición legal y daños a la reputación.

Para evitar los problemas de dependencia excesiva, las organizaciones deben implementar políticas de supervisión de LLM. También deben revisar periódicamente los resultados y compararlos con la información de otras fuentes externas confiables para confirmar su precisión.

10. Robo de modelos

Los atacantes podrían intentar acceder, copiar o robar modelos LLM exclusivos. Estos ataques podrían erosionar el beneficio competitivo de una empresa o la pérdida de información confidencial en el modelo.

La aplicación de controles de acceso sólidos, que incluye las funciones de control de acceso en función de roles (RBAC), puede ayudar a evitar el acceso no autorizado a los modelos LLM. Las organizaciones también deben supervisar de manera periódica los registros de acceso y responder ante cualquier comportamiento no autorizado. Las funciones de prevención de pérdida de datos (DLP) pueden ayudar a detectar los intentos de exfiltración de información de la aplicación.

¿Cómo pueden las organizaciones proteger los LLM?

Como sugiere el documento de OWASP, las organizaciones necesitan una estrategia multifacética para proteger las aplicaciones LLM de las amenazas. Por ejemplo, deben hacer lo siguiente:

  • Analizar el tráfico de red en busca de patrones que puedan indicar un LLM vulnerado, lo que podría poner en riesgo las aplicaciones.
  • Establecer visibilidad en tiempo real de los paquetes y datos que interactúan con los LLM a nivel de bits.
  • Aplicar DLP para proteger los datos confidenciales en tránsito.
  • Verificar, filtrar y aislar el tráfico para proteger las aplicaciones de los LLM en riesgo.
  • Utilizar el aislamiento remoto del navegador (RBI) para aislar a los usuarios de los modelos con código malicioso inyectado.
  • Utilizar conjuntos de reglas administradas por el firewall de aplicaciones web (WAF) para bloquear los ataques de LLM basados en inyección de código SQL, XSS y otros vectores de ataque web.
  • Utilizar un modelo de seguridad Zero Trust para reducir su superficie de ataque al otorgar solo acceso contextual y con privilegios mínimos por recurso.

¿Cómo ayuda Cloudflare a reducir los riesgos de LLM?

Para ayudar a las organizaciones a abordar los riesgos que amenazan las aplicaciones de LLM, Cloudflare está desarrollando Firewall para IA, un WAF avanzado específicamente diseñado para las aplicaciones de LLM. Las organizaciones podrán implementar Firewall para IA frente a los LLM para detectar vulnerabilidades e identificar abusos antes de que lleguen a los modelos. Aprovechará la gran red global de Cloudflare y se ejecutará cerca de los usuarios para detectar ataques de manera temprana y proteger tanto a los usuarios como a los modelos.

Además, Cloudflare AI Gateway ofrece una plataforma de operaciones de IA para gestionar y escalar cargas de trabajo de IA generativa desde una interfaz unificada. Actúa como un proxy entre el servicio de una organización y su proveedor de interfaz, ayudando a la organización a observar y controlar las aplicaciones de IA.

Para obtener más información sobre OWASP Top 10 para los LLM, consulta el informe oficial.