martes, 19 de septiembre de 2023

Buenas prácticas de ciberseguridad para la IA

La compañía Worldcoin, creada por el fundador de ChatGPT, ha creado un sistema de IA pensado para diferenciar a los seres humanos de los robots, una vez que la Inteligencia Artificial sea omnipresente. Una cuestión largamente imaginada por la literatura o la cultura audiovisual y que cada día es más real. Para ello, necesitan escanear el globo ocular de la población. Esta noticia evidencia que los sistemas de Inteligencia Artificial ya disponen de una enorme cantidad de datos sobre los ciudadanos y las empresas.

Por ello, es fundamental que las empresas que desarrollan sistemas de IA y sus proveedores pongan en marcha buenas prácticas de ciberseguridad para la IA, de cara a prevenir ciberataques e incidentes de seguridad.

De cara a facilitar esta tarea, la Agencia Europea para la Ciberseguridad (ENISA) acaba de hacer público un framework de buenas prácticas de ciberseguridad para la IA (FAICP). Este marco se basa en las investigaciones y publicaciones recurrentes que ha llevado a cabo la agencia en los últimos años y, en especial, este 2023.

A continuación, vamos a desgranar las claves de este framework para implementar buenas prácticas de ciberseguridad para la IA, poniendo en valor la necesidad de que las compañías dispongan de estrategias de seguridad avanzadas y puedan evaluar con eficacia el riesgo dinámico de ciberseguridad al que se enfrentan.

El complejo panorama de amenazas de la Inteligencia Artificial

¿Por qué es tan importante que las organizaciones pongan en marcha buenas prácticas en ciberseguridad para la IA?

Machine Learning, Deep Learning, procesamiento de lenguaje natural, robots, reconocimiento de voz… Bajo el paraguas de la Inteligencia Artificial nos podemos encontrar con diversas tecnologías que juntas o por separado están transformando ya múltiples sectores económicos.

La explosión de la Inteligencia Artificial y su creciente impacto en la sociedad y la economía trae consigo un panorama de amenazas cada vez más complejo.


Robo, manipulación, destrucción… Categorizando las amenazas


ENISA ha efectuado un mapeo de todas las amenazas, sistematizándolas en ocho grandes categorías:

Actividad nefasta y abusos

Acciones maliciosas que buscan robar información, alterar o destruir objetivos específicos, como podría ser el modelo empleado por una IA generativa. ENISA lista una treintena de amenazas específicas, que van desde el sabotaje de modelos, hasta el envenenamiento de datos, pasando por ataques DDoS contra sistemas de IA o comprometer la validación de los datos de entrenamiento de Machine Learning o su confidencialidad.

Espionaje, interceptación y hijacking

En esta categoría se engloban las acciones cuyo objetivo es obtener información confidencial o interrumpir el funcionamiento de un sistema de IA. Estamos hablando, por ejemplo, de inferencia o robo de datos, así como de divulgación ilegítima del modelo de una IA.

Ataques físicos

Estas amenazas buscan destruir o sabotear los activos. Por ejemplo, lanzando ataques físicos contra las infraestructuras del sistema de IA, manipulando las redes de comunicación o saboteando el modelo.

Daños no intencionados o accidentales

Las amenazas no solo incluyen ataques dirigidos, sino también errores y fallos no intencionados que pueden: comprometer y limitar los resultados de la IA, afectar a la exactitud de los datos inferidos por el sistema o provocar configuraciones erróneas de los modelos.

Fallos o disfunciones

Esta categoría gira en torno a los problemas de funcionamiento de un sistema de IA. El listado de ENISA incluye más de 10 amenazas: degradación del rendimiento de un modelo ML, datos insuficientes, fallos de un proveedor, corrupción de los índices de datos…

Interrupciones

Si la infraestructura TIC, los sistemas o las redes de comunicación sufren interrupciones, el servicio del sistema de IA también se ve interrumpido.

Catástrofes

Tales como desastres naturales o fenómenos medioambientales.

Legales

Por ejemplo, que se vea comprometida la privacidad de los datos empleados por una IA, que se divulgue información personal o que los proveedores no cumplan con sus obligaciones en materia de protección de datos.

FAICP, tres niveles de buenas prácticas de ciberseguridad para la IA

A la luz de esta diversa y creciente panorámica de amenazas, ENISA ha elaborado un marco de buenas prácticas de ciberseguridad para la IA con tres grandes objetivos en el punto de mira:
  1. Proteger las infraestructuras TIC y la IA alojada en ellas, teniendo en cuenta tanto el ciclo de vida de la Inteligencia Artificial, como todos los elementos de la cadena de suministro de la IA y los procesos y tecnologías asociadas a ella.
  2. Recopilar información sobre los requisitos de ciberseguridad para la IA de los estados miembros de la Unión Europea.
  3. Señalar los retos a los que nos enfrentamos en materia de seguridad de la IA, así como las lagunas existentes en las prácticas de ciberseguridad actuales, de cara a optimizarlas y fortalecer la protección de los sistemas de IA y de todas las empresas y ciudadanos que interactúan con sistemas de Inteligencia Artificial.


El resultado es un framework de buenas prácticas de ciberseguridad para la IA estructurado en torno a tres capas o niveles:
  • Capa 1. Recoge buenas prácticas de ciberseguridad para proteger los entornos TIC donde se alojan, desarrollan, integran, mantienen o distribuyen los sistemas de IA.
  • Capa 2. Presenta prácticas de ciberseguridad centradas en las especificidades de la IA: ciclo de vida, propiedades, amenazas específicas, controles de seguridad…
  • Capa 3. Incluye prácticas de ciberseguridad específicas para compañías de sectores críticos como la salud, la automoción o la energía. Esta capa del framework está pensada para los sistemas de IA que sean categorizados como de alto riesgo en el futuro reglamento de la IA que se aprobará, previsiblemente, a finales de año en la Unión Europea.


Securizar el ecosistema TIC de las IA (Capa 1)

Los sistemas de IA no se desarrollan, despliegan y mantienen en el vacío, sino que forman parte de un ecosistema TIC que los aloja. La ciberseguridad es la disciplina encargada de proteger los activos tecnológicos de las empresas y administraciones públicas y, por supuesto, de los ecosistemas de las IA. Lo que implica garantizar la confidencialidad, integridad, autenticidad y disponibilidad de la infraestructura.

Para ello, las compañías han de llevar a cabo una gestión de la seguridad eficiente e integral, disponiendo de servicios de ciberseguridad para:

  • Analizar los riesgos, evaluando las amenazas y vulnerabilidades, así como el impacto de un incidente de seguridad exitoso.
  • Gestionar los riesgos. Con la información obtenida en las evaluaciones de seguridad se debe priorizar la mitigación de las amenazas y vulnerabilidades, implementando contramedidas eficaces para proteger a los activos empresariales, teniendo en cuenta los recursos disponibles.

Asimismo, las compañías también pueden contratar servicios de Threat Hunting proactivo para escrutar a los actores hostiles potenciales, descubrir las tácticas, técnicas y procedimientos que emplean, mejorar las capacidades de detección y respuesta e incrementar su resiliencia frente a las amenazas persistentes avanzadas (APT).

Todas estas buenas prácticas de ciberseguridad suponen un primer nivel de protección de los sistemas de IA. ¿Por qué? Buscan garantizar que estos sistemas operen en un entorno seguro.
Además, debemos señalar que la gestión de la seguridad de las infraestructuras TIC es una cuestión no solo de capital importancia, sino de obligatorio cumplimiento para muchas empresas en el seno de la Unión Europea tras la aprobación en los últimos años de las directivas NIS y NIS2, el RGPD o la Cybersecturity Act (CSA).

Implementar acciones específicas para proteger a los sistemas de IA (Capa 2)

La capa más importante en el marco de buenas prácticas de ciberseguridad para la IA es la segunda, puesto que aborda, directamente, buenas prácticas diseñadas para proteger a los sistemas de IA.

Como ya señalamos antes, la aprobación del reglamento europeo sobre IA es inminente y ya se conoce el borrador propuesto por la Comisión y enmendado por el Parlamento Europeo, a falta de que se negocie con el Consejo. Dicho borrador establece que todos los sistemas de IA que se comercialicen en la UE deberán ser seguros y respetar los derechos fundamentales de la Unión.

Esto implica poner en marcha una estrategia de seguridad integral para proteger los activos que conforman los sistemas de IA:

  • Datos: datos en bruto, datos de entrenamiento, datos de testeo…
  • Modelos: algoritmos, modelos, parámetros de modelos…
  • Artefactos: frameworks de modelos, políticas de gestión de los datos…
  • Actores involucrados: propietarios de los datos, científicos de datos, ingenieros de datos, proveedores de modelos…
  • Procesos: recolección de datos, procesamiento de datos, entrenamiento y ajuste de los modelos…
  • Entorno y herramientas: librerías de algoritmos, plataformas de Machine Learning, entornos de desarrollo integrados…

Evaluaciones de seguridad de las IA

Más allá de las evaluaciones de seguridad tradicionales, ENISA recomienda a las compañías que desarrollan, alojan o integran sistemas de IA emplear esfuerzos adicionales para evaluar los riesgos específicos de esta tecnología:
Incluir las amenazas que figurarán en el futuro reglamento europeo de la IA: pérdida de transparencia, pérdida de interpretabilidad, pérdida de gestión de los sesgos y pérdida de rendición de cuentas.

Optimizar las tipologías de factores de impacto: solidez, resiliencia, imparcialidad, explicitud.

Optar por una evaluación del riesgo dinámico de ciberseguridad, poniendo el foco en la detección de anomalías.

Analizar y monitorear amenazas y vulnerabilidades

El objetivo debe ser disponer de los mecanismos y buenas prácticas necesarios para hacer frente a las principales amenazas para la seguridad de los sistemas de IA y, en especial, a los sistemas de Machine Learning, como las IA generativas, que son el objetivo más atractivo para los actores hostiles:

  • Evasión. Los atacantes buscan vulnerar los inputs del algoritmo del sistema IA para explotar los outputs. Las perturbaciones de entrada que se generan se denominan ejemplos adversarios.
  • Envenenamiento. Los actores hostiles alteran los datos o el modelo de la IA, con el objetivo de modificar el comportamiento del algoritmo, cumpliendo con sus objetivos delictivos: sabotear el sistema de IA, insertar una puerta trasera en el sistema…
  • Revelación del modelo o los datos. Esta amenaza incluye las filtraciones de información, de origen interno o externo, que afectan al modelo, sus parámetros o los datos de entrenamiento.
  • Compromiso de los componentes de una aplicación de IA. Por ejemplo, los actores hostiles logran explotar con éxito vulnerabilidades en una librería de código abierto empleada en el desarrollo del algoritmo de la IA.
  • Fallo o funcionamiento deficiente de una aplicación de IA. Por ejemplo, mediante un ataque de DoS exitoso, la introducción de un input malicioso o la existencia de un error en el código que no se ha detectado.
Estas grandes categorías de amenazas se pueden trasladar a un mapa de vulnerabilidades concretas que pueden estar presentes en los sistemas de IA o en sus cadenas de suministro: gestión ineficaz del acceso a la información crítica, uso de componentes vulnerables para desarrollar el sistema de IA, control deficiente de los datos que recupera el modelo o que la evaluación de seguridad del sistema de IA no está integrada en la estrategia de seguridad de la organización para mejorar su resiliencia.

Gestión de la seguridad de las IA

La gestión de la seguridad es esencial para proteger a los sistemas frente a las amenazas y detectar vulnerabilidades antes de que sean explotadas con éxito. Para ello, es fundamental implementar controles de seguridad y llevar a cabo pruebas de seguridad basándose en la información recopilada durante las evaluaciones de seguridad.

Asimismo, en lo que respecta a los sistemas de Inteligencia Artificial hay que tener en cuenta un aspecto esencial de los mismos: su fiabilidad. El marco de buenas prácticas de ciberseguridad para la IA de ENISA define la fiabilidad como «la confianza en que los sistemas de IA se comportarán dentro de las normas especificadas, en función de algunas características». Estas características se pueden sistematizar en tres grandes grupos:

  • Características técnicas de diseño: precisión, fiabilidad, robustez, resiliencia.
  • Características socio-técnicas: explicitud, interpretabilidad, privacidad, seguridad, gestión de los sesgos.
  • Principios que contribuyen a la fiabilidad del sistema de IA: imparcialidad, responsabilidad, transparencia.


Controles de seguridad

El marco de buenas prácticas de ciberseguridad para la IA de ENISA propone diversos controles de seguridad específicos para prevenir y mitigar las principales amenazas que venimos de señalar y garantizar la fiabilidad de los sistemas:

  • Evasión. Implementar herramientas para detectar si un input se trata de un ejemplo adverso, recurrir al entrenamiento de adversarios para robustecer la seguridad del modelo o emplear modelos que no sean fácilmente transferibles, para evitar que los actores hostiles puedan estudiar el algoritmo del sistema de IA.
  • Envenenamiento. Para prevenir los ataques de envenenamiento es fundamental securizar los componentes del sistema a lo largo de todo su ciclo de vida, evaluar de forma continua la ciberexposición del modelo que emplea el sistema, ampliar el tamaño del conjunto de datos para reducir la capacidad de las muestras maliciosas de influir en el modelo e implementar mecanismos de pre-procesamiento para limpiar los datos de entrenamiento.
  • Revelación de modelos o datos. Los mecanismos para controlar el acceso deben ser robustos.
  • Compromiso de los componentes de la aplicación de IA. Reducir el nivel de compromiso de los componentes pasa por aplicar políticas de seguridad adecuadas e integradas en la estrategia de seguridad de la organización, así como en la gestión de los activos IT.
  • Fallo o funcionamiento deficiente de la aplicación de IA. De cara a prevenir los fallos de las aplicaciones de IA es fundamental que los algoritmos presenten un sesgo reducido y se evalúen continuamente para garantizar su resistencia en el entorno en el que van a operar, además, han de ser explicables para poder detectar vulnerabilidades en ellos.

Pruebas de seguridad

Las pruebas de seguridad de las IA tienen numerosos puntos en común con las pruebas de seguridad de las aplicaciones de software tradicionales, pero también deben atender a las especificidades de esta tecnología:

  • Las diferencias entre la IA subsimbólica y los sistemas tradicionales repercuten en la seguridad y en cómo se efectúan las pruebas.
  • Los sistemas de IA pueden evolucionar con el paso del tiempo gracias al autoaprendizaje, lo que supone que las propiedades de seguridad puedan degradarse. De ahí que los test dinámicos sean esenciales para comprobar la eficiencia de los controles de seguridad implementados.
  • En los sistemas de IA los datos de entrenamiento conforman el comportamiento de la IA subsimbólica, en contraste con los sistemas de software tradicionales.
Por ello, siguiendo el informe sobre pruebas de seguridad para IA del ETSI, se debe:
  • Emplear nuevos enfoques en lo relativo a las pruebas de seguridad para la IA.
  • Usar oráculos de pruebas de seguridad para la IA, de cara a determinar cuándo se ha superado con éxito un test, es decir, cuándo no se ha podido detectar ninguna vulnerabilidad, y cuándo se detectó una vulnerabilidad.
  • Definir criterios de adecuación de las pruebas de seguridad para la IA, con el objetivo de poder medir el progreso global en materia de ciberseguridad y establecer cuándo se debe parar una prueba de seguridad.

Buenas prácticas de ciberseguridad para sectores específicos (Capa 3)

El tercer nivel del marco de buenas prácticas de ciberseguridad para la IA está centrado en proponer medidas específicas para algunos sectores críticos a nivel económico y social, en los que, además, la Inteligencia Artificial ya juega un papel fundamental:

  • Energía. La ciberseguridad de este sector se puede ver lastrada por el uso de tecnologías con vulnerabilidades conocidas, inexistencia de una cultura de la ciberseguridad entre empresas, proveedores y contratistas o sistemas de control anticuados.
  • Salud. Los ciberataques a hospitales y centros médicos han ido en aumento en los últimos tiempos. Para muestra, el ciberataque que paralizó la actividad del Hospital Clínic de Barcelona. Los delincuentes pueden atacar los dispositivos médicos, los canales de comunicación y las aplicaciones. La IA está llamada a jugar un papel esencial en el terreno de la salud, de ahí que sea fundamental proteger los modelos y datos de estos sistemas.
  • Automoción. La automoción es un sector que siempre ha estado a la vanguardia de la robotización y el uso de soluciones de IA. Tal es así que la producción de vehículos autónomos puede suponer un cambio radical en nuestra economía y sociedad, de ahí que la ciberseguridad sea esencial para evitar:
    • Ciberataques contra los modelos de procesamiento de imágenes que permiten reconocer señales de tráfico y detectar carriles.
    • Ataques de envenenamiento de datos en la detección de señales de stop.
    • Ataques relacionados con despliegues a gran escala de firmwares fraudulentos.
  • Telecomunicaciones. La integración de sistemas de IA puede ser esencial para disponer de redes capaces de auto-optimizarse, usar el análisis predictivo para mejorar el mantenimiento e incrementar la seguridad detectando actividades fraudulentas. Lo que implica disponer de una estrategia de seguridad robusta que proteja a todos los sistemas de IA empleados y evite la manipulación o la interrupción del servicio.


El futuro del binomio IA-ciberseguridad

El marco de buenas prácticas de ciberseguridad para la IA diseñado por ENISA evidencia la estrecha relación que existe entre la Inteligencia Artificial y la ciberseguridad, y pone el foco sobre cómo las sinergias entre ambas son esenciales para construir un mundo seguro, más aún, en un momento en el que la IA es cada vez más relevante económica y socialmente.
¿Qué cuestiones estratégicas pueden marcar la diferencia a la hora de construir un ecosistema de IA seguro? ENISA propone al final de la guía sobre buenas prácticas de ciberseguridad para la IA una serie de recomendaciones para los expertos en ciberseguridad y las compañías que desarrollan o integran sistemas de IA.

Cómo abordar la ciberseguridad de la IA

  • Evaluación dinámica de las fuentes y los datos, puesto que la fiabilidad de los algoritmos de las IA depende de ellos.
  • Análisis continuo de la seguridad de los datos a lo largo de todo su ciclo de vida, ya que el envenenamiento de los datos se puede llevar a cabo en cualquier momento.
  • Frente a las pruebas de seguridad estáticas, se debe optar por una metodología de vanguardia como el riesgo dinámico de ciberseguridad, ya que los sistemas de IA se caracterizan por aprender y evolucionar constantemente. El análisis del riesgo dinámico de ciberseguridad y la priorización de amenazas es esencial para securizar a los sistemas de IA y, en especial, a los de Machine Learning, a lo largo de todo su ciclo de vida.
  • La colaboración entre los expertos en ciberseguridad, los científicos de datos y otros profesionales como psicólogos o juristas es fundamental para identificar las nuevas amenazas que vayan surgiendo, tomar contramedidas eficaces y mejorar la resiliencia de los sistemas de IA

En definitiva, la Inteligencia Artificial es un ámbito en constante evolución que está llamado a generar enormes transformaciones en el tejido productivo y nuestra forma de vivir. Por ello, es fundamental que las estrategias de ciberseguridad presten atención a las especificidades de las IA y protejan los modelos y los datos que estas consumen, pero también a la infraestructura que las aloja.

La colaboración entre expertos en ciberseguridad y los ingenieros y científicos de datos será crucial para construir un ecosistema de IA seguro, fiable y que cumpla con las normativas. Así como la Inteligencia Artificial contribuye a optimizar los servicios de ciberseguridad y aumentar su eficiencia, los conocimientos, técnicas y capacidades de los profesionales de ciberseguridad son esenciales para diseñar, desarrollar, desplegar y mantener sistemas de IA seguros.

lunes, 18 de septiembre de 2023

Top 10 de vulnerabilidades en aplicaciones LLM como ChatGPT



OWASP ha publicado un ranking con las principales vulnerabilidades en aplicaciones LLM para ayudar a las compañías a fortalecer la seguridad de las IA generativas
Si hay una tecnología que ha acaparado la atención de la opinión pública en lo que va de año esa es, sin duda, las aplicaciones LLM, es decir, sistemas que emplean modelos de lenguaje extenso (Large Lenguage Model, en inglés) y complejos algoritmos de aprendizaje para entender el lenguaje humano y generarlo. La más célebre de estas aplicaciones es ChatGPT, la IA generativa de texto propiedad de OpenAI, pero ya existen en el mercado decenas de aplicaciones LLM.



Al calor del auge de estas IA, OWASP acaba de publicar la versión 1 de su Top 10 de vulnerabilidades en aplicaciones LLM. Este ranking, elaborado por una fundación que se ha convertido en un referente mundial en prevención de riesgos y lucha contra las ciberamenazas, pone el foco en los principales riesgos que deben tener en cuenta tanto las empresas que desarrollan estas aplicaciones, como las compañías que las emplean en su día a día.
El Top 10 de vulnerabilidades en aplicaciones LLM de OWASP tiene como misión educar y concienciar a desarrolladores, diseñadores y organizaciones de los riesgos potenciales a los que se enfrentan a la hora de desplegar y gestionar esta tecnología disruptiva. En cada vulnerabilidad se incluye:
  • Definición
  • Ejemplos comunes de la vulnerabilidad
  • Escenarios de ataque
  • Forma de prevenirla
A continuación, vamos a desgranar el top 10 de vulnerabilidades en aplicaciones LLM de OWASP, así como la forma de prevenirlas para evitar incidentes de seguridad que puedan dañar a las compañías y a sus clientes.





1. Inyecciones de prompts

La primera posición del Top 10 de vulnerabilidades en aplicaciones LLM lo ocupan las inyecciones de prompts. Los actores hostiles manipulan los LLM a través de prompts que fuerzan a las aplicaciones a ejecutar las acciones que desea el atacante. Esta vulnerabilidad puede explotarse mediante:
  • Inyecciones directas de prompts, conocidas como «jailbreaking» y que se producen cuando un actor hostil es capaz de sobrescribir o revelar el prompt subyacente del sistema. ¿Qué implica esto? Que los atacantes puedan explotar sistemas backend interactuando con funciones inseguras y almacenes de datos.
  • Inyecciones indirectas de prompts. Esto tiene lugar cuando una aplicación LLM acepta entradas de fuentes externas que puedan ser controladas por actores hostiles, como, por ejemplo, páginas web. De tal forma que el atacante embebe una inyección de prompt en el contenido externo, procediendo a secuestrar el contexto de conversación, lo que le permitiría manipular a los usuarios o sistemas adicionales a los que la aplicación puede acceder.
Desde OWASP señalan que los resultados de un ataque exitoso son muy variados y pueden ir desde la obtención de información confidencial hasta influir en procesos críticos de toma de decisiones. Es más, en los ataques más sofisticados, la aplicación LLM comprometida puede convertirse en una herramienta al servicio del atacante, llegando a interactuar con plugins en la configuración del usuario y permitiéndole al agresor tener acceso a datos confidenciales del usuario objetivo del ataque, sin que este sea alertado de la intrusión.

Prevención

El Top 10 de vulnerabilidades en aplicaciones LLM señala que las inyecciones de prompts son posibles por la propia naturaleza de estos sistemas, ya que no segregan las instrucciones de los datos externos. Y como los LLM utilizan lenguaje natural, consideran que ambos tipos de inputs son proporcionados por los usuarios legítimos. De ahí que las medidas propuestas por OWASP no se puedan lograr una prevención total de estas vulnerabilidades, pero sí sirvan para mitigar su impacto:
  1. Controlar el acceso de la aplicación LLM a los backends. Es recomendable aplicar el principio del mínimo privilegio y restringir el acceso del LLM, otorgándole el nivel de acceso mínimo para que pueda realizar sus funciones.
  2. Establecer que la aplicación tenga que obtener la autorización del usuario para realizar acciones como el envío o borrado de emails.
  3. Separar el contenido externo de los prompts del usuario. OWASP pone como ejemplo la posibilidad de utilizar ChatML para las llamadas a la API de Open AI, de cara a indicar al LLM la fuente de entrada del prompt.
  4. Establecer límites de confianza entre la aplicación LLM, las fuentes externas y los plugins empleados. Se podría tratar a la aplicación como un usuario no confiable, estableciendo que el usuario final mantenga el control de la toma de decisiones. Aunque debemos ser conscientes de que una aplicación LLM comprometida puede actuar como man-in-the-middle y ocultar o manipular información antes de que esta le sea mostrada al usuario.

2. Tratamiento inseguro de los outputs

El segundo puesto del Top 10 de vulnerabilidades en aplicaciones LLM lo ocupa el tratamiento inseguro de los outputs del modelo de lenguaje. ¿Qué significa esto? Se acepta el output sin escrutarlo previamente, llegando a trasladarlos directamente al backend, o funcionalidades privilegiadas. A lo que se debe sumar el hecho de que el contenido que genera una aplicación LLM puede ser controlada a través de la introducción de prompts, como señalamos en el apartado anterior. De tal forma que se estaría proporcionando a los usuarios un acceso indirecto a funciones adicionales.

¿Cuáles son las posibles consecuencias de explotar esta vulnerabilidad? Escalado de privilegios, ejecución remota de código en los sistemas backend e, incluso, si la aplicación es vulnerable a los ataques de inyección externos, el actor hostil podría tener obtener acceso privilegiado al entorno del usuario objetivo.

Prevención

La guía de OWASP sobre el Top 10 de vulnerabilidades en aplicaciones LLM recomienda dos acciones para actuar ante este riesgo:
  1. Tratar al modelo como si fuese un usuario, asegurando la validación y sanitización de las respuestas del modelo dirigidas a las funciones backend.
  2. Codificar los outputs del modelo de vuelta a los usuarios, de cara a mitigar la ejecución de código malicioso.


3. Envenenamiento de los datos de entrenamiento

Uno de los aspectos clave de las aplicaciones LLM son los datos de entrenamiento que se suministran a los modelos. Dichos datos deben ser numerosos, diversos y abarcar una amplia gama de idiomas. Los modelos de lenguaje extenso emplean redes neuronales para conseguir generar resultados, basándose en los patrones que aprenden gracias a los datos de entrenamiento, de ahí que estos datos sean tan relevantes.

Por ello mismo, también, son un objetivo prioritario para los actores hostiles que desean manipular las aplicaciones LLM. Gracias al envenenamiento de los datos de entrenamiento se puede:

  • Introducir backdoors o sesgos que menoscaben la seguridad del modelo.
  • Alterar el comportamiento ético del modelo, una cuestión de capital importancia.
  • Provocar que la aplicación ofrezca a los usuarios información falsa.
  • Degradar el rendimiento del modelo y sus capacidades.
  • Generar daños en la reputación de las compañías.
De ahí que el envenenamiento de los datos de entrenamiento sea un problema para la ciberseguridad y para el modelo de negocio de las compañías que desarrollan aplicaciones LLM. Puesto que puede provocar que el modelo sea incapaz de emitir predicciones correctas e interactuar de forma eficaz con los usuarios.

Prevención

El Top 10 de vulnerabilidades en aplicaciones LLM de OWASP propone cuatro grandes medidas para prevenir el envenenamiento de los datos de entrenamiento:
  1. Verificar la legitimidad de las fuentes de datos empleadas en el entrenamiento del modelo, pero también a la hora de perfeccionarlo.
  2. Diseñar diferentes modelos a partir de datos de entrenamiento segregados y concebidos para casos de usos distintos. Lo que se traduce en una IA generativa más granular y precisa.
  3. Emplear filtros más estrictos para los datos de entrenamiento y las fuentes de datos, de cara a detectar datos falsificados y sanear los datos que se empleen para la formación del modelo.
  4. Analizar los modelos de entrenamiento para detectar señales de envenenamiento. Así como analizar test para evaluar el comportamiento del modelo. En este sentido, resultan de gran valor añadido las evaluaciones de seguridad a lo largo de todo el ciclo de vida de la aplicación LLM y la puesta en marcha de ejercicios de Red Team especialmente diseñados para este tipo de aplicaciones.


4. Ataques de denegación de servicio contra el modelo

Los ataques DoS son una práctica habitual que ponen en marcha los actores maliciosos contra activos IT de las compañías como las aplicaciones web. Pues bien, los ataques de denegación de servicio también pueden afectar a las aplicaciones LLM.
Un atacante interactúa con la aplicación LLM para obligarla a consumir una enorme cantidad de recursos, provocando:
  • La degradación del servicio que presta la aplicación a sus usuarios.
  • El aumento de los costes en recursos que tiene que asumir la compañía.
A mayores, esta vulnerabilidad podría abrir la puerta a que un atacante interfiera o manipula la ventana de contexto del LLM, es decir, la longitud máxima de texto que el modelo es capaz de manejar, tanto en lo que se refiere a los inputs como a los outputs. ¿Por qué podría ser muy grave esta acción? La ventana de contexto se establece al crear la arquitectura del modelo y estipula lo complejos que pueden llegar a ser los patrones lingüísticos que el modelo es capaz de comprender, así como el tamaño de texto que puede procesar.
Si tenemos en cuenta que el uso de las aplicaciones LLM va en aumento, gracias a la popularización de soluciones como ChatGPT, esta vulnerabilidad está a llamada a ser cada vez más relevante en lo que respecta a la seguridad, puesto que el número de usuarios y el uso intensivo de recursos será cada vez mayor.

Prevención

En su Top 10 de vulnerabilidades en aplicaciones LLM, OWASP recomienda:
  1. Implementar la validación y sanitización de los imputs para asegurarse de que los inputs cumplen con los límites definidos a la hora de crear el modelo.
  2. Limitar el uso máximo de recursos por solicitud.
  3. Establecer límites de velocidad en la API para restringir el número de solicitudes que un usuario o una dirección IP puede llegar a hacer.
  4. Limitar, también, el número de acciones en cola y el número total de acciones en el sistema que reacciona a las respuestas del modelo.
  5. Monitorizar de forma continua el consumo de recursos de la aplicación LLM para identificar comportamientos anómalos que puedan servir para detectar ataques DoS.
  6. Estipular límites estrictos en lo que respecta a la ventana de contexto, para prevenir sobrecargas y agotamiento de recursos.
  7. Concienciar a los desarrolladores de las consecuencias que puede llegar a provocar un ataque DoS exitoso en una aplicación LLM.


5. Vulnerabilidades de la cadena de suministro

Del mismo modo que en las aplicaciones tradicionales, las cadenas de suministro de aplicaciones LLM también están sujetas posibles vulnerabilidades, las cuales podrían llegar a afectar a:
  • La integridad de los datos de entrenamiento
  • Los modelos de Machine Learning
  • Las plataformas de despliegue de los modelos
La explotación exitosa de vulnerabilidades en la cadena de suministro puede provocar que:
  • El modelo genere resultados sesgados o incorrectos.
  • Se produzcan brechas de seguridad.
  • Un fallo generalizado en el sistema que amenace la continuidad de negocio.
El auge del Machine Learning ha traído consigo la aparición de modelos pre-entrenados y datos de entrenamiento procedentes de terceros, dos cuestiones que facilitan la creación de aplicaciones LLM, pero que llevan aparejados riesgos asociados a la cadena de suministro:
  • Uso de software desactualizado.
  • Modelos pre-entrenados susceptibles de ser atacados.
  • Datos de entrenamiento envenenados.
  • Plugins inseguros.

Prevención

Para prevenir los riesgos asociados a la cadena de suministro de las aplicaciones LLM, OWASP recomienda:
  1. Verificar las fuentes de datos que se usan para entrenar y perfeccionar el modelo, así como emplear sistemas de seguridad auditados por profesionales independientes.
  2. Utilizar plugins de confianza.
  3. Poner en marcha las mejores prácticas en materia de Machine Learning en lo relativo a los modelos propios.
  4. Realizar una monitorización continua para detectar vulnerabilidades.
  5. Mantener una política de aplicación de parches eficiente para mitigar vulnerabilidades y gestionar los componentes obsoletos.
  6. Auditar regularmente la seguridad de los proveedores, así como su acceso al sistema.

6. Revelación de información sensible

Al abordar el sexto ítem del Top 10 de vulnerabilidades en aplicaciones LLM, OWASP alerta de que los modelos pueden llegar a revelar información sensible y confidencial a través de los resultados que ofrecen a los usuarios. Esto implica que los actores hostiles podrían acceder a datos sensibles, robar propiedad intelectual o vulnerar la privacidad de las personas.

De ahí que sea importante que los usuarios entiendan los riesgos asociados a introducir voluntariamente datos en una aplicación LLM, puesto que esta información puede llegar a ser devuelta en otro lugar. Por ello, las empresas propietarias de aplicaciones LLM tienen que informar debidamente cómo procesan los datos e incluir la posibilidad de que estos no sean incluidos en los datos empleados para entrenar al modelo.

Asimismo, las compañías deben aplicar mecanismos de cara a evitar que los datos de los usuarios acaben formando parte del modelo de datos de entramiento sin su consentimiento explicito.

Prevención

Algunas de las acciones que pueden poner en marcha las empresas propietarias de aplicaciones LLM son:
  • Emplear técnicas de limpieza y depuración de los datos.
  • Implementar técnicas eficaces para validar los inputs y sanearlos.
  • Limitar el acceso a fuentes de datos externas.
  • Cumplir con la regla del mínimo privilegio a la hora de entrenar a los modelos.
  • Securizar la cadena de suministro y controlar el acceso al sistema de forma eficaz.
 

7. Diseño inseguro de plugins

¿Qué son los plugins LLM? Extensiones que son llamadas automáticamente por el modelo durante las interacciones con el usuario. En muchos casos no existe un control sobre su ejecución. De tal forma que un actor hostil podría realizar una petición maliciosa al plugin, lo que le abriría la puerta a, incluso, realizar una ejecución remota de código malicioso.

Por ello, es muy importante que los plugins dispongan de controles de acceso sólidos, para no confiar ciegamente en otros plugins y creer que el usuario legítimo proporcionó los inputs con fines maliciosos. De lo contrario, estas entradas maliciosas pueden provocar:
  • Exfiltración de datos.
  • Ejecución remota de código.
  • Escalada de privilegios.

Prevención

El Top 10 de vulnerabilidades en aplicaciones LLM recomienda, en lo relativo al diseño de los plugins, poner en marcha estas medidas:
  1. Aplicar de forma estricta una parametrización de la entrada y realizar las comprobaciones necesarias para garantizar la seguridad.
  2. Aplicar las recomendaciones definidas por OWASP ASVS (Application Security Verification Standard) para asegurar la correcta validación y saneamiento de la entrada de datos.
  3. Llevar a cabo pruebas de seguridad de aplicaciones de manera continua: SAST, DAST, IAST…
  4. Utilizar identidades de autenticación y claves de API para garantizar medidas de autenticación y control de acceso.
  5. Requerir la autorización y la confirmación del usuario para las acciones realizadas por plugins sensibles.

8. Funcionalidades, permisos o autonomía excesivos

Para abordar este ítem del Top 10 de vulnerabilidades en aplicaciones LLM, OWASP emplea el concepto de «Excessive Agency» para alertar de los riesgos vinculados a otorgar a un LLM funcionalidades, permisos o autonomía excesivos. Un LLM que no funcione de forma adecuada (como consecuencia de una inyección o un plugin maliciosos, indicaciones mal diseñadas o bajo rendimiento) puede realizar acciones perjudiciales.
Otorgar funcionalidades, permisos o autonomía excesivos a un LLM puede generar consecuencias que afecten a la confidencialidad, integridad y disponibilidad de los datos.

Prevención

Para acometer con éxito los riesgos vinculados a la «Excessive Agency», OWASP recomienda:
  1. Limitar los plugins y las herramientas a los que los LLM pueden llamar y, también, las funciones de los plugins y herramientas de los LLM al mínimo necesario.
  2. Exigir la aprobación del usuario para todas las acciones y llevar a cabo un seguimiento eficaz de la autorización de cada usuario.
  3. Registrar y supervisar la actividad de los plugins y herramientas LLM para identificar acciones indeseadas y poder responder frente a ellas.
  4. Aplicar medidas ‘rate limiting’ para reducir el número de posibles acciones no deseadas.

9. Exceso de confianza

Según la guía del Top 10 de vulnerabilidades en aplicaciones LLM de OWASP, el exceso de confianza se produce cuando los sistemas o los usuarios dependen de la IA generativa para tomar decisiones o generar contenido sin una supervisión adecuada.
En este sentido, debemos entender que las aplicaciones LLM pueden crear contenido valioso, pero también pueden generar contenido incorrecto, inapropiado o, incluso, inseguro. Lo que puede dar lugar a desinformación, problemas legales y menoscabar la reputación de la empresa que usa el contenido.

Prevención

De cara a prevenir el exceso de confianza y las graves consecuencias que puede acarrear no solo a las empresas que desarrollan aplicaciones LLM, sino también a las compañías y personas que las usan, OWASP recomienda:
  1. Supervisar y revisar de forma periódica los resultados y outputs que arroja el LLM.
  2. Contrastar los resultados de la IA generativa con fuentes de información fiables.
  3. Mejorar el modelo realizando ajustes para incrementar la calidad y consistencia de los outputs del modelo. En este sentido, la guía de OWASP sostiene que los modelos pre-entrenados con más proclives a arrojar información errónea que los modelos desarrollados para un ámbito determinado.
  4. Implementar mecanismos de validación automática capaces de contrastar y verificar los resultados generados por el modelo con datos y hechos conocidos.
  5. Segmentar las tareas en subtareas a cargo de profesionales diferentes.
  6. Informar a los usuarios de los riesgos y limitaciones de la IA generativa.
  7. Desarrollar APIs e interfaces de usuario que fomenten la responsabilidad y seguridad a la hora de usar las IA generativas, incorporando medidas como filtros de contenido, advertencias de posibles incoherencias o etiquetado del contenido generado con IA.
  8. Establecer prácticas de código segura y guías de trabajo para evitar la integración de vulnerabilidades en los entornos de desarrollo.

10. Robo del modelo

El último puesto del Top 10 de vulnerabilidades en aplicaciones LLM de OWASP lo ocupa el robo del modelo, es decir, el acceso no autorizado y la filtración de los modelos LLM por parte de actores maliciosos o grupos APT.
¿Cuándo se produce esta vulnerabilidad? Cuando un modelo patentado se ve comprometido, es robado físicamente, copiado o los parámetros necesarios para crear un modelo equivalente son sustraídos.
El impacto de esta vulnerabilidad en las compañías propietarias de las IA generativas incluye cuantiosas pérdidas económicas, menoscabo de la reputación, pérdida de ventaja competitiva frente a otras empresas, uso inadecuado del modelo y acceso indebido a información sensible.
Las organizaciones deben tomar todas las medidas necesarias para proteger la seguridad de sus modelos LLM, garantizando su confidencialidad, integridad y disponibilidad. Ello pasa por diseñar e implementar un marco de seguridad integral eficaz a la hora de salvaguardar los intereses de las compañías, sus trabajadores y usuarios.

Prevención

¿Cómo pueden prevenir las compañías el robo de sus modelos LLM?
  1. Implementando controles de acceso y autenticación estrictos.
  2. Restringiendo el acceso a los recursos de la red, servicios internos y API, para prevenir los riesgos y amenazas internas.
  3. Supervisando y auditando los accesos a los repositorios del modelo, para responder frente a comportamientos sospechoso o que actuaciones que carecen de autorización.
  4. Automatizando el despliegue de operaciones de Machine Learning.
  5. Implementando controles de seguridad y poniendo en marcha estrategias de mitigación.
  6. Limitando el número de llamadas a la API para reducir el riesgo de exfiltración de datos y empleando técnicas para detectar extracciones indebidas.
  7. Empleando un framework de marca de agua en todo el ciclo de vida de la aplicación LLM.

IA generativas y ciberseguridad

El Top 10 de vulnerabilidades en aplicaciones LLM de OWASP evidencia la importancia de contar con profesionales de ciberseguridad experimentados y altamente cualificados para hacer frente al complejo panorama de ciberamenazas con éxito.

Si las IA generativas se consolidan como una de las tecnologías más relevantes de los próximos años, se convertirán en targets prioritarios de los grupos de delincuentes. De ahí que sea indispensable que las compañías sitúen la ciberseguridad en el centro de sus estrategias empresariales.

Servicios de ciberseguridad para mitigar las vulnerabilidades en aplicaciones LLM

Para ello, tienen a su disposición servicios de ciberseguridad avanzados para securizar las aplicaciones LLM a lo largo de todo su ciclo de vida y prevenir los riesgos asociados a la cadena de suministros, de gran relevancia teniendo en cuenta el desarrollo y comercialización de modelos pre-entrenados:
  • Auditorías de código y pruebas seguridad de aplicaciones (DAST, SAST, IAST, etc.), desde el diseño y durante el ciclo de vida de la aplicación.
  • Gestión de vulnerabilidades para detectar, priorizar y mitigar las vulnerabilidades presentes en todos los componentes del sistema.
  • Detección de vulnerabilidades emergentes, de cara a subsanar problemas antes de que estos sean explotados por actores hostiles.
  • Simulación de ataques DoS, para comprobar la capacidad de resiliencia frente a este tipo de ataques y mejorar las capas defensivas y la gestión de los recursos.
  • Servicios de Red Team, de cara a evaluar la efectividad de las capacidades defensivas de la organización para detectar, responder y mitigar un ataque exitoso, así como para recuperar la normalidad en el menor tiempo posible y salvaguardar la continuidad de negocio.
  • Auditorías de proveedores para prevenir ataques de cadena de suministros.
  • Formación y capacitación de todos los profesionales para implementar buenas prácticas en materia de seguridad y evitar errores o fallos que propicien vulnerabilidades explotables.
En definitiva, el Top 10 de vulnerabilidades en aplicaciones LLM de OWASP pone el foco sobre los riesgos de seguridad asociados a las IA generativas, tecnologías que ya forman parte de nuestras vidas y que son empleadas por miles de empresas y profesionales en su día a día.