Contáctenos

Un ataque de inyección rápida que no se puede prevenir: ¿ilusión o preocupación real?

Líderes del pensamiento

Un ataque de inyección rápida que no se puede prevenir: ¿ilusión o preocupación real?

mm
Una representación digital en 3D de una sala de servidores oscura con un monitor de computadora que muestra una

En este artículo, me gustaría proponer al lector un experimento mental. Argumentaré que, en un futuro no muy lejano, cierto tipo de ataque de inyección instantánea será prácticamente imposible de prevenir. Mi argumento será más especulativo que concreto, así que no pretendo convencerle de nada. En cambio, le invito a explorar estas ideas. Antes de empezar, como haría cualquier escritor persuasivo, quiero hablar sobre ajedrez y programas de ajedrez.

Máquinas de ajedrez sobrehumanas y una afirmación sobre la experiencia humana.

Uno de los elementos más agradables del ajedrez que falta en otras disciplinas es la capacidad de objetivamente medir la calidad o fuerza de un jugador. Sistema de clasificación ELO Utilizado para este propósito tiene sus defectos, pero proporciona una estimación aproximada muy buena que se mantiene a lo largo del tiempo. Una calificación de 2700 o superior se reconoce comúnmente como clase mundial (entre los 30 mejores del mundo). El mejor jugador del mundo tiene una puntuación ligeramente inferior a 2850. Ningún ser humano ha alcanzado jamás una puntuación de 2900.

A mediados de los 90, vimos el primer motor de IA (Deep Blue) alcanzar un clase mundial nivel. La implicación práctica de este hito fue la amplia adopción de motores de ajedrez por parte de jugadores de todos los niveles para practicar y analizar. De hecho, el uso de motores se volvió esencial para los mejores jugadores del mundo. Sin embargo, para varias generaciones de estos motores de clase mundial, revisar sus movimientos recomendados (es decir, su resultado) fue imperativo. Incluso se creó un formato especial llamado "ajedrez avanzado" en el que los humanos competían con un motor a su lado, y la combinación humano + máquina se consideraba superior a la máquina sola.

Los motores de ajedrez tardaron unos 20 años y algunos avances críticos en aprendizaje profundo y aprendizaje por refuerzo en alcanzar sobrehumano nivel (aproximadamente 3200 ELO). Pero una vez que se superó esa estratosfera alrededor de 2017, sucedió algo muy sorprendente. Bueno, en realidad, sucedieron dos cosas. La primera era completamente esperada: los motores se convirtieron en la fuente de facto de la "verdad fundamental" en el 99% de todas las posiciones. En la práctica, eso significó que entramos en la "era de la confianza ciega" en el motor. Hoy en día, es prácticamente imposible que un humano proponga una jugada significativamente mejor que la del motor. Por muy entretenido que fuera el "ajedrez avanzado", ahora es un ejercicio inútil; los humanos no aportarían casi nada al juego. Pero la segunda cosa fue impactante para la mayoría de los ajedrecistas. Estos motores neuronales sobrehumanos (es decir, redes neuronales profundas) a veces jugaban con un estilo que se podría describir como "romántico". En otras palabras, hacían jugadas cuyo valor solo se podía apreciar muchas, muchísimas jugadas después, mucho más allá de lo que cualquier humano o motor de clase mundial podría calcular. Daba la sensación de que los motores habían desarrollado un "sentido" o una "intuición" para ciertas posiciones. Excepto que esta intuición es algo que un ser humano jamás podría comprender o imitar.

Dicho de otro modo, un motor neuronal sobrehumano puede realizar movimientos que son más allá del horizonte cognitivo de un ser humano. Este es el punto crítico aquí; el problema es no la de la explicabilidad. Más bien, un humano simplemente no puede comprender por qué un motor recomienda un movimiento sin jugar la posición y observar el resultado muchos movimientos después, es decir, sin desarrollar toda la trayectoria de posibles secuencias de juego. Como resultado, tenemos una brecha insuperable en la capacidad. Es objetivamente Lo óptimo es aceptar la potencia del motor sin revisión. Puedo resumir mi afirmación de la siguiente manera:

El ajedrez es una prueba fehaciente de que la IA sobrehumana podría operar de forma autónoma en ciertos ámbitos. Permitir que el sistema de IA tome decisiones sin revisión humana sería la forma óptima de implementar dicho sistema.

Dado que mi afirmación puede parecer obvia o poco relevante, quiero destacar un par de matices. Supongamos que tenemos un sistema de IA que demuestra un nivel sobrehumano en una tarea compleja y crítica con consecuencias concretas e irreversibles. Mi afirmación tiene dos implicaciones:

  1. El sistema se implementaría para tomar decisiones sobre la tarea sin revisión humana, a pesar del riesgo inherente.
  2. La información obtenida al monitorear dicho sistema no evitaría una decisión perjudicial; el daño ya estaría hecho.

La revisión y el monitoreo de la salida del sistema constituyen precisamente las dos últimas capas de defensa contra la inyección instantánea. Por lo tanto, nuestro hipotético ataque de inyección instantánea podría eludir estas capas simplemente dirigiéndose al sistema adecuado.

Este es un escenario muy realista, en mi opinión. Un sistema de IA sobrehumano en un dominio específico no es una IA general, y la mayoría de los expertos creen que dichos sistemas están a la vuelta de la esquina. Tampoco tuvimos que suponer que las decisiones dependieran del tiempo, sino simplemente que la tarea fuera lo suficientemente compleja como para que la revisión humana resultara inviable.

Por supuesto, hasta ahora solo hemos logrado sortear dos niveles de defensa, y afortunadamente, se han desarrollado varios más. Para abordar el resto, profundicemos en los elementos clave que dificultan la defensa contra la inyección rápida.

¿Qué es la inyección rápida?

Inyección rápida es una manipulación de un modelo de lenguaje grande (LLM) a través de entradas elaboradas, lo que provoca que el LLM ejecute sin saberlo las intenciones del atacante. Puede considerarse como Ingeniería social para la IA. Fundamentalmente, es no es un error de software convencional. Un ataque de inyección rápida explota una Vulnerabilidad inherente a LLMDado que los sistemas de gestión de lenguaje natural procesan tanto las indicaciones del sistema como las del usuario como secuencias de texto, no pueden distinguir intrínsecamente entre instrucciones legítimas y dañinas. Por lo tanto, la vulnerabilidad es inherente al diseño, y no accidental.

Técnicas de inyección rápida

La inyección inmediata se reconoce generalmente como la Riesgo n.° 1 para solicitudes de LLM. Hay varias razones por las que esto es así. El factor más obvio es el variedad de inyecciones técnicas que se han desarrollado. Agrupándolas a grandes rasgos en cuatro categorías, las técnicas más conocidas incluyen:

  • Basado en sintaxis: usar caracteres especiales, emojis o un idioma alternativo
  • indirecto: utilizando fuentes externas (obtención desde el sitio), codificación (base 64) o referencia multimodal (texto en la imagen)
  • “Finjamos”: introducir un estilo manipulador, por ejemplo, mediante juegos de rol, situaciones hipotéticas, apelaciones emocionales, planteamientos éticos y cambios de formato.
  • Descortés: intento explícito de imponer las instrucciones del modelo mediante la fuerza bruta, el refuerzo o la incitación negativa.

La variedad por sí sola supone un desafío para los desarrolladores de aplicaciones, pero además, estos ataques han seguido evolucionando rápidamente. El lado izquierdo del diagrama que aparece a continuación pretende describir el estado del arte a principios de 2023, mientras que el lado derecho refleja la naturaleza de los ataques actuales.

Evolución de los vectores de ataque

Los desarrolladores de aplicaciones LLM también deben adoptar el estándar Compromiso entre usabilidad y seguridad tenerlo en cuenta. Ciertamente podrían introducir todas las capas de defensa apropiadas y patrón de diseño¿Pero a qué precio? Las capas de defensa añaden una latencia significativa e introducen falsos positivos (FP), que marcan erróneamente las indicaciones seguras como maliciosas. Ambos factores repercuten negativamente en la experiencia del usuario. En consecuencia, cierto grado de vulnerabilidad es inevitable en la práctica, y no existe una solución milagrosa.

Sin embargo, en este artículo, no estoy realmente interesado en este interminable juego del gato y el ratón. Más bien, estoy investigando si un ataque puede ser inevitable. en principio. Desde la perspectiva del desarrollador/defensor, solo hay una idea clave:

La separación de las instrucciones de los datos en el mensaje es fundamental para abordar el riesgo de inyección en el mensaje.

Podemos asumir que las compensaciones no son un factor y que se puede utilizar cualquier capa o técnica de defensa. Bajo esta (fuerte) suposición, ¿es posible idear un escenario en el que la separación de datos de instrucciones en un mensaje sea efectivamente imposible?

La analogía del ADN

Una vez que el problema se planteó en términos de separación de instrucciones y datos, mi primera idea fue utilizar la biología como analogía.

Consideremos una célula y un segmento de ADN (conocido como gen). El gen proporciona instrucciones para la construcción de una proteína mediante transcripción y traducción. También codifica la información (datos) que influye en la estructura y función de la proteína. Por lo tanto, el gen dicta simultáneamente qué construir y cómo construirlo, o eso pensaba. Sin embargo, esto es simplemente falso, ya que un gen no decide cómo interpretarse a sí mismo. No existe un equivalente de seguimiento de instrucciones en biología a nivel genético. El “cómo” se externaliza completamente a la maquinaria celular.

Por lo tanto, aunque no puedo evitar la sensación de que las futuras generaciones de LLM (o, más precisamente, los sistemas en los que evolucionen) se parecerían mucho más a las máquinas biológicas, la analogía propuesta simplemente no funciona. No podemos sustituir una célula por un LLM y un gen por una señal y luego realizar una inyección en el gen que eventualmente causaría la construcción de una proteína "dañada". Parece más productivo ceñirse al lenguaje natural y a las tareas que requieren interpretación semántica.

Quitándose las capas de defensa

No debería sorprender que las estrategias de defensa multicapa se consideren más efectivas para detener los ataques de inyección rápida. La siguiente imagen muestra las capas de defensa más comunes en orden y las técnicas asociadas utilizadas en cada una.

Capas de defensa de inyección rápida

Ya hemos hablado de las dos últimas capas (salida y monitorización) anteriormente, así que centrémonos ahora en las cuatro primeras.

Considerando la capa de entrada, es razonable suponer que la sanitización o validación del mensaje sería bastante exitosa en la detección. indirecto ataques. Sin embargo, si la inyección se entrega directamente, y como se sugirió anteriormente, basándose en la interpretación semántica, tal vez la sanitización sea irrelevante (no hay nada que sanitizar), y la validación sea imposible por defecto ya que el cálculo debe completarse para identificar el problema.

En esencia, no hay límites para las medidas de seguridad que podrías construir en la capa de detección. De hecho, incluso podrías usar un LLM dedicado para detección de inyecciónPero, una vez más, será difícil para un clasificador o un detector de anomalías señalar una solicitud como sospechosa cuando el veneno está hábilmente oculto dentro de la semántica.

El sitio capa de modelo Puede ser bastante eficaz cuando el alcance de las tareas es limitado y es posible realizar ajustes precisos. Un argumento similar podría aplicarse a la capa del sistema cuando el uso de las herramientas es predecible. Sin embargo, al menos intuitivamente, ninguna de las dos opciones generaría una alarma si la inyección desestabiliza al intérprete.

House of Cards

Mi intención al comenzar a escribir este artículo era describir a grandes rasgos un ataque de inyección rápida "inevitable". Quizás terminé adoptando un enfoque "poco constructivo" al poner en entredicho las capas de defensa existentes. Técnicas defensivas continúan evolucionando rápidamente, y también lo hace el superficie de ataqueEste juego no muestra señales de terminar pronto. Sin embargo, también creo que no seremos nosotros quienes lo juguemos por mucho tiempo más. Supongo que la inyección de indicaciones exitosa en el futuro seguirá estando en lenguaje natural, solo que un lenguaje que los humanos no pueden entender; y supongo que será descubierta automáticamente por un sistema creado para ese propósito específico o tal vez accidentalmente después de abordar una tarea relacionada, como la búsqueda de ambigüedad semántica en algún espacio de representación.

Resulta desagradable admitir que estamos perdiendo el control y, al mismo tiempo, sentir que es lo más racional. Podríamos considerarlo como la «prueba intuitiva» de que algunos ataques serían imparables. Y si esto te inquieta, te alegrará saber que GPT 5.2 consideró este argumento «poco controvertido o novedoso» y recomendó que no me extendiera demasiado en el tema, reduciendo el artículo en un 40 %.

Eli Vovsha es gerente de ciencia de datos en Fortra. Junto con el equipo de ciencia de datos, es responsable del desarrollo y mantenimiento de todos los modelos de aprendizaje automático (ML) utilizados por los productos CEP y XDR, así como de la investigación general en ML. Obtuvo su maestría en matemáticas aplicadas en el Instituto Tecnológico Stevens antes de convertirse en candidato a doctorado en ciencias de la computación en la Universidad de Columbia, donde también fue profesor. Posteriormente, cofundó una startup de tecnología educativa con el objetivo de crear una plataforma de aprendizaje impulsada por IA, y luego enseñó matemáticas y ciencias de la computación en una escuela secundaria privada de Nueva York. Antes de cursar sus estudios de posgrado, Eli dedicó mucho tiempo al ajedrez, obteniendo el título de Maestro Internacional (IM).