Las aplicaciones de modelos lingüísticos de gran tamaño (LLM) son vulnerables a la inyección de instrucciones, el envenenamiento de datos, la denegación de servicio del modelo y otros ataques.
Después de leer este artículo podrás:
Copiar enlace del artículo
El Proyecto abierto de seguridad de aplicaciones web (OWASP) es una organización internacional sin ánimo de lucro cuya misión principal es la seguridad de las aplicaciones web. OWASP se esfuerza por ayudar a otras organizaciones a mejorar la seguridad de sus aplicaciones web proporcionando una serie de información gratuita a través de documentos, herramientas, vídeos, conferencias y foros.
El informe OWASP Top 10 destaca los 10 riesgos más 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 de modelos lingüísticos de gran tamaño (LLM). El OWASP Top 10 for Large Language Model Applications identifica amenazas, proporciona ejemplos de vulnerabilidades y escenarios de ataques reales, y ofrece estrategias de mitigación. OWASP espera sensibilizar a desarrolladores, diseñadores, arquitectos y gestores, a la vez que les ayuda a defenderse de las amenazas.
A continuación se muestran las vulnerabilidades destacadas en el informe OWASP Top 10 for LLM Applications de octubre de 2023:
La inyección de solicitudes es una táctica en la que los atacantes manipulan las solicitudes utilizadas para un LLM. Los atacantes pueden tener la intención de robar información confidencial, afectar a 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 formas:
Hay muchas 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.
Cuando las organizaciones no examinan los resultados del LLM, cualquier resultado generado por usuarios malintencionados podría causar problemas en los sistemas posteriores. La explotación de la gestión de salida insegura podría dar lugar a ataques de Cross-site scripting (XSS), falsificación de solicitud entre sitios (CSRF), falsificación de solicitud del lado del servidor (SSRF) y ejecución remota de código (RCE), entre otros tipos de ataques. Por ejemplo, un atacante podría hacer que un LLM emitiera un script malicioso que fuera interpretado por un navegador, lo que daría lugar a un ataque XSS.
Las organizaciones pueden evitar el manejo inseguro de los resultados aplicando un modelo de seguridad Zero Trust y tratando el LLM como cualquier usuario o dispositivo. Validarían cualquier salida del LLM antes de permitirles impulsar otras funciones.
Los atacantes podrían intentar manipular, o "envenenar", los datos utilizados para formar un modelo LLM. El envenenamiento de datos puede obstaculizar la capacidad del modelo para 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 de 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, incluidos los componentes de big data utilizados para el modelado. También deben evitar que el modelo extraiga datos de fuentes no fiables y sanear los datos.
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 de degradar la calidad del servicio, aumentar los costes o interrumpir las operaciones de cualquier otro modo. 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 sanear las entradas. Además, deben supervisar continuamente el uso de los recursos para identificar cualquier pico sospechoso.
Las vulnerabilidades en la cadena de suministro de las aplicaciones LLM pueden dejar los modelos expuestos a riesgos de seguridad o producir resultados inexactos. Varios componentes utilizados para las aplicaciones LLM, incluidos los modelos previamente entrenados, los datos utilizados para entrenar los modelos, los conjuntos de datos de terceros y los complementos, pueden sentar las bases para un ataque o causar otros problemas con el funcionamiento de la aplicación LLM.
Abordar las vulnerabilidades de la cadena de suministro comienza con una investigación exhaustiva de los proveedores y garantizar que cuentan con la seguridad adecuada. Las organizaciones también deben mantener un inventario actualizado de los componentes y analizar los datos y modelos suministrados.
Las aplicaciones de LLM pueden revelar inadvertidamente datos confidenciales en las respuestas, que van desde información confidencial de los clientes hasta propiedad intelectual. Estos tipos de divulgaciones podrían constituir infracciones de conformidad o dar lugar a fugas de seguridad.
Los esfuerzos de mitigación deben centrarse en evitar que la información confidencial y las entradas maliciosas entren en los modelos de entrenamiento. El saneamiento y la depuración de datos son esenciales para estos esfuerzos.
Dado que 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.
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 suficientes controles de acceso, 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 las entradas y realizar comprobaciones de entrada, asegurándose de que no pase ningún código malicioso. Además, los complementos deben implementar controles de autenticación basados en el principio de privilegio mínimo.
Los desarrolladores suelen dar a las aplicaciones LLM cierto grado de actuación, es decir, la capacidad de realizar acciones automáticamente en respuesta a un mensaje. Sin embargo, dar demasiada actuación 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 revelar información confidencial o eliminar archivos.
La mejor manera de evitar una actuación excesiva 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.
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 de forma taxativa. Cuando las organizaciones o los individuos se apoyan en exceso en los LLM, pueden llegar a difundir información incorrecta que puede dar lugar a infracciones normativas, peligros a nivel 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 de confianza para confirmar su exactitud.
Los atacantes podrían intentar acceder, copiar o robar modelos LLM propietarios. Estos ataques podrían provocar la erosión de la ventaja competitiva de una empresa o la pérdida de información confidencial dentro del modelo.
La aplicación de controles de acceso sólidos, incluidas las capacidades de control de acceso basado en roles (RBAC), puede ayudar a evitar el acceso no autorizado a los modelos LLM. Las organizaciones también deben supervisar periódicamente los registros de acceso y responder a 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.
Como sugiere el documento de OWASP, las organizaciones necesitan una estrategia multifacética para proteger las aplicaciones LLM de las amenazas. Por ejemplo, deberían:
Para ayudar a las organizaciones a abordar los riesgos que amenazan las aplicaciones LLM, Cloudflare está desarrollando Firewall for AI, un WAF avanzado diseñado específicamente para aplicaciones LLM. Las organizaciones podrán implementar Firewall for AI delante de los LLM para detectar vulnerabilidades e identificar los abusos antes de que lleguen a los modelos. Aprovechando la gran red global de Cloudflare, se ejecutará cerca de los usuarios para detectar ataques de forma temprana y proteger tanto a los usuarios como a los modelos.
Además, Cloudflare AI Gateway proporciona una plataforma de operaciones de IA para gestionar y escalar las 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 los 10 principales OWASP para LLM, consulta el informe oficial.