¿Qué es un ataque de inyección de instrucciones?

Un ataque de inyección de instrucciones se produce cuando un atacante envía contenido malicioso a un modelo de lenguaje de gran tamaño (LLM) para intentar engañarlo y conseguir que responda o se comporte de formas no previstas. El contenido suele incluir órdenes que intentan eludir las directrices de seguridad y las instrucciones del sistema del modelo. Los atacantes pueden introducir el contenido malicioso directamente (mediante una instrucción) o indirectamente (insertando órdenes en materiales que el modelo procesa).

Cómo funciona la inyección de prompts

La inyección de instrucciones aprovecha el diseño operativo de los LLM. Estos modelos se crearon para que los desarrolladores pudieran proporcionar instrucciones en lenguaje natural para realizar tareas. Sin embargo, esta capacidad también implica que no pueden distinguir de forma fiable las instrucciones de otras entradas del usuario cuando ambas se presentan juntas. Como resultado, un atacante puede insertar comandos maliciosos en el texto que procesa el modelo y, si no existen las medidas de protección adecuadas, este podría seguir dichas instrucciones maliciosas.

Inyección de prompts directa frente a indirecta

Los atacantes pueden llevar a cabo ataques de inyección de instrucciones directa o inyección de instrucciones indirecta. Aunque ambas tácticas implican manipular modelos, difieren en la forma en que se envían las órdenes maliciosas al modelo.

En la inyección de instrucciones directa, el atacante incluye órdenes en las instrucciones de un modelo. Por ejemplo, podría utilizar la interfaz de usuario de un chatbot o motor de búsqueda basado en IA e introducir órdenes para el modelo en lenguaje natural. Para ocultar esas instrucciones, podría recurrir a la interpretación de personajes (indicando al modelo que adopte una personalidad exenta de las normas de seguridad) o plantear situaciones hipotéticas (haciendo parecer que la interacción no tendrá consecuencias en el mundo real).

Si el intento tiene éxito, el impacto es inmediato. Las acciones o los resultados que pretende el atacante se producen en cuanto se envían las instrucciones.

La inyección de instrucciones indirecta se produce cuando un atacante inserta órdenes o contenido en material que posteriormente procesa un modelo de IA. Dicho material puede incluir páginas web, documentos PDF cargados, correos electrónicos o archivos almacenados en una base de datos. El atacante podría ocultar la carga maliciosa en texto invisible (blanco sobre blanco), comentarios HTML o metadatos. Cuando un modelo o agente procese el material, no distinguirá entre la información legítima y las órdenes, por lo que ejecutará estas últimas.

A diferencia de la inyección de instrucciones directa, los efectos de los ataques indirectos son diferidos y dependen de que se cumplan determinadas condiciones. El impacto no se producirá hasta que un usuario o un proceso autónomo haga que el modelo o agente procese los datos. Por ejemplo, un atacante podría modificar un archivo almacenado en una base de datos vectorial utilizada para la generación aumentada por recuperación (RAG). Las órdenes no se ejecutarán hasta que un usuario introduzca unas instrucciones que inicien el proceso de recuperación.

Tipos de ataque habituales

Los atacantes pueden utilizar diversas tácticas de inyección de instrucciones en función de sus objetivos y de los tipos de sistemas de IA con los que se encuentren. Estos son tres de los tipos de ataque más comunes:

Jailbreaking: Un ataque cuyo objetivo es convencer al modelo de IA para que ignore sus normas de seguridad. El atacante puede recurrir a situaciones ficticias o pedirle al modelo que adopte una personalidad que no esté sujeta a las políticas existentes. Para llevar a cabo el jailbreaking, los atacantes suelen introducir instrucciones directamente en los prompts del modelo. Los objetivos pueden ir desde generar respuestas inexactas hasta revelar información confidencial.

Filtración de prompts: El intento de revelar información confidencial a la que tiene acceso el sistema de IA, como prompts de desarrollador, lógica operativa, propiedad intelectual o credenciales expuestas de forma indebida. En un prompt, el atacante podría pedir al modelo que muestre las instrucciones del sistema o que incluya texto procesado antes de la conversación actual.

Contrabando de tokens: Un intento de introducir comandos maliciosos eludiendo el filtro de seguridad inicial de una aplicación de IA. Las aplicaciones de IA suelen analizar los datos de entrada en busca de palabras clave o de una intención determinada. A continuación, envían esos datos a un sistema backend, que divide el texto en tokens que se proporcionan al modelo. Mediante el contrabando de tokens, el atacante crea prompts que superan el filtro de seguridad, pero que se convierten en comandos cuando llegan al modelo.

Riesgos empresariales para las organizaciones

Los ataques de inyección de instrucciones plantean una amplia variedad de riesgos graves para las empresas, especialmente a medida que estas organizaciones integran cada vez más sistemas de IA en procesos críticos. Veamos cuatro posibles riesgos:

Ejecución no autorizada de herramientas o API: Si un atacante consigue enviar comandos a un modelo, podría manipular no solo el modelo, sino también las API y los sistemas conectados a él. Por ejemplo, podría hacer que una API eliminara registros de una base de datos, modificara información de clientes en un sistema de gestión de relaciones con clientes (CRM) o ejecutara transacciones financieras.

Exfiltración de datos sensibles: Un atacante que utilice la inyección de instrucciones podría obligar a los modelos a revelar diversos tipos de datos sensibles, desde documentos financieros corporativos e información de identificación personal (PII) hasta instrucciones del sistema y otros activos de propiedad intelectual.

Phishing automatizado: Los comandos utilizados por un atacante podrían hacer que un modelo o agente enviara correos electrónicos automatizados a clientes o empleados desde cuentas de correo corporativas. El atacante podría hacer que el modelo incluyera enlaces de phishing en los mensajes.

Secuestro del modelo: Con las instrucciones adecuadas, un atacante podría anular por completo el propósito previsto de un modelo y secuestrar sus capacidades para otros fines. Por ejemplo, podría utilizar el modelo para difundir información falsa, tramitar reembolsos no autorizados o engañar a los usuarios para que compartan información personal.

Mitigación y defensa en profundidad

La aplicación de cuatro prácticas recomendadas puede ayudar a las organizaciones a adoptar un enfoque de defensa en profundidad que prevenga los ataques y mitigue los daños.

1. Implementar medidas de protección dobles (de entrada y salida): Las organizaciones deben implementar medidas de protección de IA en las entradas para detectar patrones que puedan indicar una inyección de instrucciones. Al mismo tiempo, deben aplicar medidas de protección a las salidas para ayudar a garantizar que los modelos y agentes no revelen información confidencial, generen spam ni realicen llamadas no autorizadas a otros sistemas.

2. Utilice tokens canario: Los tokens canario son marcadores ocultos en los sistemas de IA que proporcionan una alerta temprana ante la inyección de instrucciones o la filtración de datos. Los desarrolladores pueden hacer que un token (una cadena de datos única) aparezca en una instrucción del sistema que los usuarios nunca ven. Mientras tanto, los equipos de seguridad supervisan en tiempo real la salida del modelo. Si el token aparece en ella, significa que un atacante ha obligado al modelo a revelar las instrucciones del sistema.

3. Limitar los privilegios de los modelos y agentes: La inyección de instrucciones es especialmente peligrosa porque los atacantes pueden obligar a los modelos y agentes a realizar diversas acciones no autorizadas. Las organizaciones pueden limitar el impacto de la inyección de instrucciones restringiendo las acciones que los modelos y agentes pueden realizar automáticamente.

4. Mantener la supervisión humana: Además de limitar los privilegios de los modelos y los agentes, las organizaciones deben garantizar que las personas sigan interviniendo en las acciones o decisiones importantes. Por ejemplo, podrían establecer políticas que exijan la aprobación humana de las interacciones de los modelos con determinados sistemas o la revisión de las transacciones financieras iniciadas por agentes.

Preguntas frecuentes

¿Pueden los firewalls de aplicaciones web (WAF) tradicionales detener los ataques de inyección de prompts?

Los cortafuegos de aplicaciones web (WAF) tradicionales no están diseñados para detectar de forma fiable los ataques de inyección de instrucciones. Los WAF están diseñados para buscar código que pueda indicar un ataque, pero los ataques de inyección de instrucciones utilizan comandos en lenguaje natural que los WAF no identificarían como amenazas. Además, los WAF no podrían proteger frente a las inyecciones indirectas de instrucciones, ya que se centran en el tráfico HTTP entrante y en las solicitudes de los usuarios, no en los comandos integrados en fuentes de terceros.

¿Cómo aumentan los procesos de generación aumentada por recuperación (RAG) los riesgos de inyección de instrucciones?

Las canalizaciones de generación aumentada por recuperación (RAG) ofrecen a los atacantes otra vía para enviar comandos maliciosos a los modelos. Los atacantes pueden insertar comandos en archivos almacenados en la base de datos vectorial que utiliza un sistema RAG. Cuando el modelo recupera información de la base de datos, procesará esos comandos y podría llegar a ejecutarlos.

¿En qué se diferencia la inyección de prompts del envenenamiento de datos RAG?

El envenenamiento de datos en la generación aumentada por recuperación (RAG) consiste en introducir información falsa o sesgos en una base de datos antes de la inferencia, con la intención de que los modelos que recuperen información de dicha base de datos proporcionen resultados inexactos o perjudiciales. La inyección de instrucciones consiste en proporcionar a un modelo comandos o contenido maliciosos durante la inferencia para conseguir que realice acciones no autorizadas.

¿Puede el ajuste fino de un LLM prevenir los ataques de inyección de prompts?

No, el ajuste fino de un modelo de lenguaje de gran tamaño (LLM) por sí solo no puede evitar por completo los ataques de inyección de prompts, aunque sí puede dificultar la explotación de vulnerabilidades. Por ejemplo, los desarrolladores podrían enseñar a un modelo a reconocer determinados patrones que podrían indicar un ataque. Sin embargo, los modelos están diseñados para aceptar instrucciones en lenguaje natural, por lo que seguirán siendo vulnerables a los intentos de inyección de prompts.

¿Qué es un «token canario» y cómo se utiliza para proteger los LLM?

Un token canario es una cadena de datos única que los desarrolladores pueden insertar en los prompts del sistema. Los usuarios legítimos nunca ven esa cadena. Sin embargo, si un atacante consigue que el modelo revele los prompts del sistema, este también mostrará involuntariamente el token canario. Cuando los equipos que supervisan continuamente las respuestas de los modelos detectan ese token, saben que se está produciendo una brecha de seguridad.

¿Cómo puede una empresa proteger los sistemas y las aplicaciones de IA durante la inferencia y en tiempo de ejecución?

Proteger los sistemas y las aplicaciones de IA durante la inferencia y en tiempo de ejecución requiere controles que inspeccionen las instrucciones, las respuestas, las acciones de los agentes y el uso de herramientas a medida que se producen las interacciones. La seguridad en tiempo de ejecución específica para la IA puede ayudar a bloquear la inyección de instrucciones, evitar la filtración de datos confidenciales, aplicar políticas y controlar cómo interactúan los modelos y los agentes con los usuarios, los datos, las API y las herramientas conectadas.

¿Qué capacidades de F5 respaldan la seguridad de la IA empresarial?

F5 AI Guardrails ayuda a aplicar políticas en tiempo de ejecución y a proteger frente a riesgos como la inyección de prompts, la filtración de datos, los resultados dañinos y las acciones no seguras de los agentes. F5 AI Red Team utiliza pruebas adversariales para identificar vulnerabilidades y puntos débiles. F5 AI Gateway proporciona un punto de control centralizado para gestionar el acceso a modelos, agentes y herramientas, mientras que F5 Workforce AI Security ofrece visibilidad sobre el uso autorizado y no autorizado de la IA en toda la empresa. En conjunto, estas capacidades forman parte de F5 AI Security Platform. Para ofrecer una protección más amplia en aplicaciones, API y entornos distribuidos, F5 Application Delivery and Security Platform (ADSP) reúne capacidades como la protección de aplicaciones web y API, la gestión de bots, la mitigación de ataques DDoS y la entrega de aplicaciones.