Los grandes modelos lingüísticos (LLM), como ChatGPT, han obtenido una gran popularidad por su capacidad para generar conversaciones similares a las humanas y ayudar a los usuarios con diversas tareas. A la par, no obstante, han surgido también algunas preocupaciones sobre posibles vulnerabilidades y riesgos de seguridad. Uno de estos peligros son los ataques de inyección de prompts (instrucciones), que buscan alterar el comportamiento de estos modelos lingüísticos mediante la manipulación de los prompts de entrada. Ahora bien, ¿qué son y en qué consisten estos ataques?
En el contexto de los modelos lingüísticos como ChatGPT, un prompt es el texto inicial o la instrucción dada al modelo para generar una respuesta. La instrucción establece el contexto y sirve de guía para que el modelo genere una respuesta coherente y pertinente.
Los ataques de inyección de prompts consisten en crear instrucciones de entrada que manipulen el comportamiento del modelo para generar resultados sesgados, maliciosos o no deseados. Estos ataques explotan la flexibilidad inherente a los modelos lingüísticos, permitiendo a los adversarios influir en las respuestas del modelo modificando sutilmente las instrucciones de entrada o el contexto.
Implicaciones y riesgos
La inyección de prompt podría revelar las instrucciones previas de un modelo lingüístico y, en algunos casos, impedir que -ese modelo- siga sus instrucciones originales. Con ello, un usuario malintencionado podría eliminar las barreras sobre lo que el modelo está autorizado a hacer e incluso podría exponer información sensible.
Entre los riesgos de este tipo de ataques se incluyen:
- Propagación de información errónea o desinformación: Mediante la inyección de mensajes falsos o engañosos, los atacantes pueden manipular los modelos lingüísticos para generar información plausible pero inexacta. Esto puede conducir a la propagación de información errónea o desinformación, lo que puede tener graves implicaciones sociales.
- Generación de resultados sesgados: Los modelos lingüísticos se entrenan con grandes cantidades de datos de texto, que pueden contener sesgos. Los ataques de inyección de mensajes pueden aprovecharse de estos prejuicios elaborando mensajes que generen resultados sesgados, reforzando o amplificando los prejuicios existentes.
- Ataque a la intimidad: A través de los ataques de inyección de instrucciones, los adversarios pueden intentar extraer información sensible del usuario o explotar las vulnerabilidades de privacidad presentes en el modelo lingüístico, lo que puede conducir a vulneraciones de la privacidad y al uso indebido de datos personales.
- Explotación de sistemas posteriores: Muchas aplicaciones y sistemas dependen de los resultados de los modelos lingüísticos como entrada. Si las respuestas del modelo lingüístico se manipulan mediante ataques de inyección de datos, los sistemas posteriores pueden verse comprometidos, lo que conlleva más riesgos para la seguridad.
Modelo inverso
Un ejemplo de ataque de inyección de prompt es la «alteración de modelo», en la que un atacante intenta explotar el comportamiento de los modelos de aprendizaje automático para exponer datos confidenciales o sensibles.
El objetivo central de este ataque es aprovechar la información revelada por los resultados del modelo para reconstruir datos de instrucción privados u obtener información sensible. Mediante el diseño cuidadoso de las consultas y el análisis de las respuestas del modelo, los atacantes pueden reconstruir características, imágenes o incluso textos que se parezcan mucho a los datos originales.
Las organizaciones que utilizan modelos de aprendizaje automático para procesar información sensible se enfrentan al riesgo de fuga de datos confidenciales. Los atacantes pueden aplicar ingeniería inversa a secretos comerciales, propiedad intelectual o información confidencial aprovechando el comportamiento del modelo. También podría recuperarse información como historiales médicos o nombres y direcciones de clientes, aunque el modelo la haya anonimizado.
Estrategias de mitigación para desarrolladores
Aunque actualmente no hay forma de prevenir completamente los ataques de inyección puntual, si existen algunas estrategias de mitigación que deberían ser tenidas en cuenta para cualquier organización que desee desarrollar aplicaciones con modelos lingüísticos:
- Validación y filtrado de entrada: Implementar mecanismos estrictos de validación de entrada puede ayudar a identificar y filtrar avisos potencialmente maliciosos o dañinos. Esto puede implicar el análisis de la entrada en busca de patrones específicos o palabras clave asociadas a vectores de ataque conocidos. El uso del aprendizaje automático para validar las entradas es un enfoque emergente.
- Pruebas de adversarios: Someter periódicamente los modelos lingüísticos a pruebas de adversarios puede ayudar a identificar vulnerabilidades y mejorar su solidez frente a los ataques de inyección de mensajes. Se trata de crear y analizar entradas diseñadas específicamente para desencadenar comportamientos no deseados o explotar puntos débiles.
- Formación de modelos y preprocesamiento de datos: Los desarrolladores deben intentar entrenar los modelos lingüísticos en conjuntos de datos diversos e imparciales, minimizando la presencia de sesgos inherentes. Un preprocesamiento cuidadoso de los datos y las técnicas de aumento pueden ayudar a reducir el riesgo de sesgos en los resultados de los modelos.
Estrategias de mitigación para los usuarios
No sólo es importante que los desarrolladores de modelos lingüísticos tengan en cuenta los riesgos de seguridad, sino también los consumidores. Para mitigar estos peligros los usuarios pueden optar por el bloqueo del tráfico no deseado: una organización podría bloquear dominios relacionados con aplicaciones LLM que no se consideren seguras, o incluso bloquear el tráfico en el que se esté incluyendo información sensible. Asimismo, es muy importante la formación, sobre los riesgos que este tipo de ataques plantean, y la concienciación. Las campañas de este tipo pueden ayudar a los usuarios a identificar posibles amenazas y evitar participar inadvertidamente en actividades maliciosas.
A raíz de todo lo comentado, las organizaciones que buscan a implantar modelos lingüísticos en sus aplicaciones deben tener en cuenta que, aunque estos modelos ofrecen grandes ventajas en lo que respecta a la experiencia del usuario, también hay importantes riesgos de seguridad asociados a ellos.
Por ello, deben implantarse y probarse controles mitigadores para garantizar el despliegue responsable y seguro de esta tecnología. En particular, los controles mitigadores en torno a la validación de entradas y las pruebas de adversarios reducirán en gran medida el riesgo de exposición de datos sensibles a través de ataques de inyección puntual.
Los usuarios de modelos de IA también deben evitar proporcionar cualquier dato privado, sensible o de propiedad debido al riesgo de que pueda ser expuesto a terceros.
Ignacio Franzoni, Senior Solutions Engineer de Netskope Iberia