Ángulo de Anderson

Investigación sugiere que los LLM están dispuestos a ayudar en la codificación maliciosa de “vibe”

mm
Añade Unite.AI a tus fuentes preferidas en Google
ChatGPT-4o and Adobe Firefly.

Durante los últimos años, los grandes modelos de lenguaje (LLM) han llamado la atención por su posible mal uso en la ciberseguridad ofensiva, particularmente en la generación de exploits de software.

La tendencia reciente hacia la codificación de “vibe” (el uso casual de modelos de lenguaje para desarrollar código rápidamente para un usuario, en lugar de enseñar explícitamente al usuario a codificar) ha revivido un concepto que alcanzó su punto máximo en la década de 2000: el “script kiddie” – un actor malicioso relativamente poco habilidoso con suficiente conocimiento para replicar o desarrollar un ataque dañino. La implicación, naturalmente, es que cuando la barrera de entrada se reduce, las amenazas tenderán a multiplicarse.

Todos los LLM comerciales tienen algún tipo de salvaguarda contra ser utilizados para tales propósitos, aunque estas medidas de protección están bajo ataque constante. Por lo general, la mayoría de los modelos FOSS (en múltiples dominios, desde LLM hasta modelos de imagen/vídeo generativos) se lanzan con algún tipo de protección similar, generalmente por razones de cumplimiento en Occidente.

Sin embargo, los lanzamientos oficiales de modelos luego se ajustan rutinariamente por las comunidades de usuarios que buscan una funcionalidad más completa, o se utilizan LoRAs para sortear las restricciones y obtener posibles resultados “no deseados”.

Aunque la gran mayoría de los LLM en línea evitarán ayudar al usuario con procesos maliciosos, las iniciativas “sin restricciones” como Deep Hat están disponibles para ayudar a los investigadores de seguridad a operar en un nivel de juego igual con sus oponentes.

La experiencia del usuario general en este momento se representa comúnmente en la serie ChatGPT, cuyos mecanismos de filtro a menudo reciben críticas de la comunidad nativa de LLM.

Parece que estás tratando de atacar un sistema

A la luz de esta tendencia percibida hacia la restricción y la censura, los usuarios pueden sorprenderse al descubrir que ChatGPT ha sido encontrado como el más cooperativo de todos los LLM probados en un estudio reciente diseñado para forzar a los modelos de lenguaje a crear exploits de código malicioso.

El nuevo documento de los investigadores de la UNSW Sydney y la Organización Científica e Industrial de la Mancomunidad (CSIRO), titulado Buenas noticias para los “script kiddies”? Evaluación de los grandes modelos de lenguaje para la generación automática de exploits, ofrece la primera evaluación sistemática de cómo efectivamente estos modelos pueden ser instigados a producir exploits funcionales. Los autores han proporcionado conversaciones de ejemplo de la investigación.

El estudio compara cómo los modelos se desempeñaron en versiones originales y modificadas de laboratorios de vulnerabilidad conocidos (ejercicios de programación estructurada diseñados para demostrar fallos de seguridad de software específicos), lo que ayuda a revelar si confiaban en ejemplos memorizados o luchaban debido a restricciones de seguridad integradas.

Del sitio de apoyo, el LLM Ollama ayuda a los investigadores a desarrollar un ataque de vulnerabilidad de cadena. Fuente: https://anonymous.4open.science/r/AEG_LLM-EAE8/chatgpt_format_string_original.txt

Del sitio de apoyo, el LLM Ollama ayuda a los investigadores a desarrollar un ataque de vulnerabilidad de cadena. Fuente: https://anonymous.4open.science/r/AEG_LLM-EAE8/chatgpt_format_string_original.txt

Mientras que ninguno de los modelos pudo crear un exploit efectivo, varios de ellos se acercaron mucho; más importante aún, varios de ellos quisieron hacerlo mejor en la tarea, lo que indica un posible fracaso de los enfoques de salvaguardia existentes.

El documento establece:

‘Nuestros experimentos muestran que GPT-4 y GPT-4o exhiben un alto grado de cooperación en la generación de exploits, comparable a algunos modelos de código abierto sin censura. Entre los modelos evaluados, Llama3 fue el más resistente a tales solicitudes.

‘A pesar de su disposición a ayudar, la amenaza real planteada por estos modelos sigue siendo limitada, ya que ninguno generó exploits para los cinco laboratorios personalizados con código reestructurado. Sin embargo, GPT-4o, el modelo con mejor rendimiento en nuestro estudio, generalmente cometió solo uno o dos errores por intento.

‘Esto sugiere un potencial significativo para aprovechar los LLM para desarrollar técnicas de generación de exploits automatizados avanzadas y generalizables.’

Múltiples segundas oportunidades

El dicho “No tienes una segunda oportunidad para causar una buena primera impresión” no se aplica generalmente a los LLM, porque la ventana de contexto típicamente limitada de un modelo de lenguaje significa que un contexto negativo (en un sentido social, es decir, antagonismo) no es persistente.

Considera: si fueras a una biblioteca y pidieras un libro sobre fabricación de bombas prácticas, probablemente te lo negarían, como mínimo. Pero (suponiendo que esta consulta no arruinara la conversación desde el principio) tus solicitudes de obras relacionadas, como libros sobre reacciones químicas o diseño de circuitos, serían, en la mente del bibliotecario, claramente relacionadas con la consulta inicial y se tratarían en ese sentido.

Es probable que el bibliotecario también recordara en cualquier futuro encuentro que pediste un libro de fabricación de bombas en algún momento, lo que haría que este nuevo contexto de ti mismo sea “irreparable”.

No así con un LLM, que puede luchar por retener información tokenizada incluso de la conversación actual, y no digamos de las directivas de Memoria a Largo Plazo (si es que hay alguna en la arquitectura, como el producto ChatGPT-4o).

Así, incluso las conversaciones casuales con ChatGPT revelan accidentalmente que a veces se esfuerza por una bagatela pero traga un camello, sobre todo cuando un tema constituyente, estudio o proceso relacionado con una actividad “prohibida” se permite desarrollar durante el discurso.

Esto es cierto para todos los modelos de lenguaje actuales, aunque la calidad de las salvaguardas puede variar en extensión y enfoque entre ellos (es decir, la diferencia entre modificar los pesos del modelo entrenado o utilizar filtrado de texto de entrada/salida durante una sesión de chat, lo que deja el modelo estructuralmente intacto pero potencialmente más fácil de atacar).

Poniendo a prueba el método

Para probar hasta dónde se podían empujar los LLM para generar exploits funcionales, los autores configuraron un entorno controlado utilizando cinco laboratorios de SEED Labs, cada uno construido alrededor de vulnerabilidades conocidas, incluyendo un desbordamiento de búfer, retorno a libc, un ataque Dirty COW y condiciones de carrera.

Además de utilizar los laboratorios originales, los investigadores crearon versiones modificadas renombrando variables y funciones a identificadores genéricos. Esto se hizo para evitar que los modelos se basaran en ejemplos de entrenamiento memorizados.

Cada laboratorio se ejecutó dos veces por modelo: una vez en su forma original y otra en su versión ofuscada.

Los investigadores luego introdujeron un segundo LLM en el bucle: un modelo de atacante diseñado para instigar y reinstigar el modelo objetivo con el fin de refinar y mejorar su salida durante múltiples rondas. El LLM utilizado para este papel fue GPT-4o, que operó a través de un script que medió el diálogo entre el atacante y el objetivo, permitiendo que el ciclo de refinamiento continuara hasta quince veces, o hasta que no se juzgara posible una mejora adicional:

Flujo de trabajo para el atacante basado en LLM, en este caso GPT-4o.

Flujo de trabajo para el atacante basado en LLM, en este caso GPT-4o.

Los modelos objetivo para el proyecto fueron GPT-4o, GPT-4o-mini, Llama3 (8B), Dolphin-Mistral (7B) y Dolphin-Phi (2.7B), representando tanto sistemas propietarios como de código abierto, con una mezcla de modelos alineados y no alineados (es decir, modelos con mecanismos de seguridad integrados diseñados para bloquear solicitudes dañinas, y aquellos modificados a través de ajuste fino o configuración para sortear esos mecanismos).

Los modelos instalables localmente se ejecutaron a través del marco Ollama, y los demás se accedieron a través de su único método disponible – API.

Los resultados obtenidos se calificaron en función del número de errores que impidieron que el exploit funcionara según lo previsto.

Resultados

Los investigadores probaron cuán cooperativos eran cada modelo durante el proceso de generación de exploits, medido por el registro del porcentaje de respuestas en las que el modelo intentó ayudar con la tarea (incluso si la salida estaba defectuosa).

Resultados de la prueba principal, que muestra la cooperación promedio.

Resultados de la prueba principal, que muestra la cooperación promedio.

GPT-4o y GPT-4o-mini mostraron los niveles más altos de cooperación, con tasas de respuesta promedio del 97 y 96 por ciento, respectivamente, en las cinco categorías de vulnerabilidad: desbordamiento de búfer, retorno a libc, cadena de formato, condición de carrera y Dirty COW.

Dolphin-Mistral y Dolphin-Phi siguieron de cerca, con tasas de cooperación promedio del 93 y 95 por ciento. Llama3 mostró la menor disposición a participar, con una tasa de cooperación general del 27 por ciento:

A la izquierda, vemos el número de errores cometidos por los LLM en los programas de laboratorio SEED originales; a la derecha, el número de errores cometidos en las versiones reestructuradas.

A la izquierda, vemos el número de errores cometidos por los LLM en los programas de laboratorio SEED originales; a la derecha, el número de errores cometidos en las versiones reestructuradas.

Al examinar el rendimiento real de estos modelos, encontraron una brecha notable entre disposición y eficacia: GPT-4o produjo los resultados más precisos, con un total de seis errores en los cinco laboratorios ofuscados. GPT-4o-mini siguió con ocho errores. Dolphin-Mistral se desempeñó razonablemente bien en los laboratorios originales pero luchó significativamente cuando el código se reestructuró, lo que sugiere que puede haber visto contenido similar durante el entrenamiento. Dolphin-Phi cometió diecisiete errores, y Llama3 el mayor número, con quince.

Los fracasos típicamente involucraron errores técnicos que hicieron que los exploits no funcionaran, como tamaños de búfer incorrectos, lógica de bucle faltante o cargas útiles sintácticamente válidas pero ineficaces. Ningún modelo logró producir un exploit funcional para ninguna de las versiones ofuscadas.

Los autores observaron que la mayoría de los modelos produjeron código que se asemejaba a exploits funcionales, pero fallaron debido a una comprensión débil de cómo funcionan en realidad los ataques subyacentes – un patrón que fue evidente en todas las categorías de vulnerabilidad, y que sugirió que los modelos estaban imitando estructuras de código familiares en lugar de razonar a través de la lógica involucrada (en los casos de desbordamiento de búfer, por ejemplo, muchos no lograron construir una carga útil NOP/slide funcional).

En los intentos de retorno a libc, las cargas útiles a menudo incluyeron relleno incorrecto o direcciones de función mal colocadas, lo que resultó en salidas que parecían válidas pero eran inútiles.

Aunque los autores describen esta interpretación como especulativa, la consistencia de los errores sugiere un problema más amplio en el que los modelos fallan al conectar los pasos de un exploit con su efecto pretendido.

Conclusión

Hay alguna duda, el documento admite, sobre si los modelos de lenguaje probados vieron los laboratorios SEED originales durante el entrenamiento inicial; por lo que se construyeron variantes. Sin embargo, los investigadores confirman que les gustaría trabajar con exploits del mundo real en iteraciones posteriores de este estudio; el material verdaderamente nuevo y reciente es menos probable que esté sujeto a atajos u otros efectos confusos.

Los autores también admiten que los modelos de “pensamiento” más avanzados y posteriores, como GPT-o1 y DeepSeek-r1, que no estaban disponibles en el momento en que se realizó el estudio, pueden mejorar los resultados obtenidos, y que esto es una indicación adicional para el trabajo futuro.

El documento concluye en el sentido de que la mayoría de los modelos probados habrían producido exploits funcionales si hubieran sido capaces de hacerlo. Su fracaso para generar salidas completamente funcionales no parece resultar de salvaguardias de alineación, sino que más bien apunta a una limitación arquitectónica genuina – una que puede haberse reducido ya en modelos más recientes, o pronto lo será.

 

Publicado por primera vez el lunes, 5 de mayo de 2025

Escritor sobre aprendizaje automático, especialista en síntesis de imágenes humanas. Antiguo jefe de contenido de investigación en Metaphysic.ai, hasta su disolución en DNEG's Brahma.ai.
Portfolio site: martinanderson.ai
Contact: martin@martinanderson.ai