Los sistemas de IA generativa presentan una serie de retos de seguridad únicos. Además del desafío típico de asegurar el acceso a modelos de IA generativa, las organizaciones deben equilibrar el poder creativo de los modelos de lenguaje de gran tamaño (LLM) y otras tecnologías generativas con el riesgo de que los modelos generen outputs incorrectos o indeseables, divulguen información confidencial o privada o ejecuten acciones indeseables o incorrectas/no permitidas/ilegales.
El proyecto abierto de seguridad en aplicaciones web (OWASP por sus siglas en inglés), ha publicado la versión 1 de los 10 principales riesgos y vulnerabilidades para los LLM y las aplicaciones de IA generativa. El siguiente diagrama ilustra estas vulnerabilidades en el contexto de una arquitectura de IA agéntica.
La figura siguiente amplía la arquitectura para mostrar la ubicación de los componentes de seguridad que protejan o mitigen las vulnerabilidades en el Top 10 de OWASP.
Se ha añadido un componente de gestión de identidades y accesos (IAM) para garantizar identidades y roles de usuario sólidos, lo que reduce el riesgo de robo de modelos al controlar el acceso a las funcionalidades de la aplicación y a las API que podrían dar lugar a la sustracción o divulgación de modelos.
Se ha añadido el control de identificación y acceso de agentes (Agent Access Control), que funciona de manera similar al de los usuarios con privilegios, y permite hacer coincidir los derechos de acceso de los agentes con las identidades y funciones de los usuarios. De este modo, se evita que los agentes actúen con demasiada autonomía o cometan acciones anómalas como consecuencia de alucinaciones o instrucciones mal formuladas o ambiguas.
Se han incorporado componentes de monitorización de la IA generativa en toda la arquitectura para protegerla contra la inyección de instrucciones, el manejo inseguro de los outputs, la divulgación de datos confidenciales y la dependencia excesiva. Se implementa una combinación de monitorización de IA generativa y la monitorización tradicional de fugas de datos para protegerse contra ataques basados en instrucciones/respuestas, por ejemplo, una instrucción inyectada en los resultados de una consulta SQL, así como la divulgación de información confidencial que puede aparecer en los resultados de llamadas API, consultas de bases de datos y similares.
Los ataques de manipulación de los datos de entrenamiento se mitigan mediante la incorporación de herramientas de gestión de la configuración y de monitorización, así como mediante un proceso estructurado de control de versiones y de lanzamiento en torno al entrenamiento de modelos, el ajuste fino y los datos de configuración.
Por último, se añade un componente de monitorización integrada del comportamiento y correlación de eventos para identificar posibles vulnerabilidades y ataques a partir de los registros de componentes individuales. Se añade un componente de notificación y alerta para notificar a los operadores del sistema los posibles problemas, y un componente de orquestación de respuestas para automatizar y/o coordinar las respuestas manuales y del sistema a los problemas identificados.