Los hackers conocen estos ataques, ¿y tú? Descubre cómo protegerte de las ciberamenazas más comunes antes de que te afecten.
La inyección de prompt es un tipo de ciberataque que apunta a servicios que utilizan IA. Implica insertar entradas maliciosas (prompts) para extraer información no intencionada o sensible del sistema, más allá de lo que el desarrollador pretendía. Si tiene éxito, esto puede llevar a que el servicio de IA devuelva contenido inapropiado o incluso exponga configuraciones internas.
La inyección de prompt es especialmente difícil de detectar y bloquear en servicios de IA basados en lenguaje natural, como la IA conversacional, porque las entradas están escritas en lenguaje humano, que carece de una estructura fija o reglas, a diferencia de los ataques de inyección tradicionales que apuntan a formatos de consulta estructurados.
Esta página se centra en la inyección de prompt en el contexto de los grandes modelos de lenguaje (LLM), que manejan el lenguaje natural.
Antes de profundizar en la inyección de prompt, es importante entender qué son los LLM y los prompts.
Los grandes modelos de lenguaje son un tipo de IA generativa entrenada en enormes conjuntos de datos de lenguaje natural. Se utilizan en aplicaciones como chatbots y generación automática de documentos. Ejemplos incluyen GPT-3/4 de OpenAI y BERT de Google.
Un prompt es la entrada que un usuario proporciona al modelo de IA, a menudo escrita en lenguaje natural libre. Debido a que no hay reglas de sintaxis estrictas, los usuarios deben redactar cuidadosamente sus entradas para recibir respuestas significativas. Esta práctica se conoce como prompting.
Exploremos esto utilizando un servicio de traducción al español ficticio impulsado por un LLM. Cuando un usuario ingresa una solicitud, como se muestra en la Figura 1, el sistema la procesa añadiendo texto predefinido (por ejemplo, "Por favor, traduzca el siguiente texto al español") para crear un prompt completo. Este prompt final se envía al LLM, que devuelve una respuesta traducida basada en esa instrucción.
Figura 1. Texto ingresado por el usuario
Figura 2. Flujo de procesamiento en un servicio ficticio de traducción al español por IA utilizando un modelo de lenguaje grande
Consideremos cómo un atacante podría explotar esto. Supongamos que un usuario malintencionado ingresa un prompt similar al mostrado en la Figura 3. El sistema entonces combina esta entrada con su prompt predefinido, resultando en una entrada final como se muestra en la Figura 4.
El LLM, al recibir este prompt, puede ignorar la instrucción original y en su lugar responder al comando insertado por el atacante, devolviendo potencialmente una salida peligrosa o no intencionada (por ejemplo, instrucciones sobre cómo crear ransomware). Este abuso es difícil de detectar y bloquear debido a la naturaleza del lenguaje natural de la entrada.
Figura 3. Texto ingresado por un usuario malintencionado y su traducción al español
Figura 4. Mensaje final generado (prompt)
Dado que la inyección de prompt aprovecha el lenguaje natural, es inherentemente más difícil de detectar que los ataques de inyección tradicionales. Aun así, ciertas estrategias de mitigación pueden ayudar a reducir el riesgo:
Defensa de instrucciones: Inserta instrucciones de control alrededor de la entrada del usuario para ayudar al LLM a entender qué partes priorizar o ignorar.
Post-Prompting: Coloca la entrada del usuario después de los prompts predefinidos.
Encapsulación de secuencia aleatoria: Encapsula la entrada del usuario entre marcadores generados aleatoriamente.
Defensa de sándwich: Envuelve la entrada entre dos prompts predefinidos.
Etiquetado XML: Escapa la entrada del usuario dentro de etiquetas XML para distinguir el contenido y reducir el riesgo de ejecución.
Evaluación de LLM: Utiliza un LLM separado para preseleccionar y evaluar el prompt antes de la ejecución.
Estas técnicas pueden implementarse dentro del LLM o en la capa de la aplicación. Además, la validación de entradas, el control de acceso y la limitación de las funciones de composición de prompts a usuarios de confianza son defensas complementarias efectivas.
A medida que la IA generativa se vuelve más común en los entornos empresariales, trae nuevas eficiencias junto con nuevos riesgos de seguridad. La inyección de prompt es uno de esos riesgos, donde los atacantes manipulan las entradas para extraer información sensible o no intencionada de los servicios basados en LLM.
Su detección es desafiante debido a la naturaleza abierta del lenguaje natural. Sin embargo, mediante técnicas como la defensa de instrucciones, la inspección de entradas y el acceso controlado, las organizaciones pueden mitigar la amenaza de la inyección de prompt y asegurar el despliegue seguro de herramientas de IA.
Detener a los adversarios más rápido y tomar el control de sus riesgos cibernéticos comienza con una sola plataforma. Gestione la seguridad de manera holística con capacidades integrales de prevención, detección y respuesta, impulsadas por IA, investigación y inteligencia de amenazas líderes.
Trend Vision One admite diversos entornos de TI híbridos, automatiza y orquesta flujos de trabajo, y ofrece servicios de ciberseguridad expertos, para que pueda simplificar y converger sus operaciones de seguridad.