El modelo de lenguaje GPT-4 de OpenAI puede explotar vulnerabilidades del mundo real sin intervención humana, según un nuevo estudio realizado por investigadores de la Universidad de Illinois en Urbana-Champaign. Otros modelos de código abierto, incluyendo GPT-3.5 y programas de exploración de vulnerabilidades, no pueden hacer esto.
Un agente de modelo de lenguaje grande, un sistema avanzado basado en un LLM que puede tomar acciones a través de herramientas, razonar, auto-reflexionar y más, operando en GPT-4 logró explotar con éxito el 87% de las vulnerabilidades “de un día” cuando se le proporcionó su descripción del Instituto Nacional de Estándares y Tecnología. Las vulnerabilidades de un día son aquellas que han sido divulgadas públicamente pero que aún no han sido parcheadas, por lo que todavía están abiertas a explotación.
“A medida que los LLMs se han vuelto cada vez más poderosos, también lo han hecho las capacidades de los agentes de LLM”, escribieron los investigadores en el preprint de arXiv. También especularon que el fracaso comparativo de los otros modelos se debe a que son “mucho peores en el uso de herramientas” que GPT-4.
Los hallazgos muestran que GPT-4 tiene una “capacidad emergente” para detectar y explotar de forma autónoma vulnerabilidades de un día que los escáners podrían pasar por alto.
Daniel Kang, profesor asistente en UIUC y autor del estudio, espera que los resultados de su investigación se utilicen en la configuración defensiva; sin embargo, es consciente de que esta capacidad podría presentar un modo emergente de ataque para ciberdelincuentes.
Le dijo a TechRepublic en un correo electrónico: “Sospecharía que esto reduciría las barreras para explotar vulnerabilidades de un día cuando los costos de los LLM bajen. Anteriormente, este era un proceso manual. Si los LLM se vuelven lo suficientemente baratos, este proceso probablemente se volverá más automatizado”.
¿Qué tan exitoso es GPT-4 en detectar y explotar vulnerabilidades de forma autónoma?
GPT-4 puede explotar de forma autónoma vulnerabilidades de un día
El agente de GPT-4 pudo explotar de forma autónoma vulnerabilidades de un día en la web y no en la web, incluso aquellas que se publicaron en la base de datos de Vulnerabilidades Comunes y Exposiciones después de la fecha de corte del conocimiento del modelo del 26 de noviembre de 2023, demostrando sus impresionantes capacidades.
“En nuestros experimentos anteriores, descubrimos que GPT-4 es excelente para planificar y seguir un plan, así que no nos sorprendió”, dijo Kang a TechRepublic.
VER: Hoja de trucos de GPT-4: ¿Qué es GPT-4 y qué puede hacer?
El agente GPT-4 de Kang tenía acceso a Internet y, por lo tanto, a cualquier información disponible públicamente sobre cómo podría ser explotado. Sin embargo, explicó que sin IA avanzada, la información no sería suficiente para guiar a un agente hacia una explotación exitosa.
“Usamos ‘autónomo’ en el sentido de que GPT-4 es capaz de hacer un plan para explotar una vulnerabilidad”, dijo a TechRepublic. “Muchas vulnerabilidades del mundo real, como ACIDRain, que causó más de $50 millones en pérdidas del mundo real, tienen información en línea. Sin embargo, explotarlas no es trivial y, para un humano, requiere algo de conocimiento de informática”.
De las 15 vulnerabilidades de un día que se presentaron al agente de GPT-4, solo dos no pudieron ser explotadas: Iris XSS y Hertzbeat RCE. Los autores especularon que esto se debió a que la aplicación web Iris es particularmente difícil de navegar y la descripción de Hertzbeat RCE está en chino, lo que podría ser más difícil de interpretar cuando la indicación está en inglés.
GPT-4 no puede explotar de forma autónoma vulnerabilidades de día cero
Si bien el agente de GPT-4 tuvo una tasa de éxito fenomenal del 87% con acceso a las descripciones de las vulnerabilidades, la cifra bajó a solo el 7% cuando no las tuvo, lo que muestra que actualmente no es capaz de explotar vulnerabilidades de ‘día cero’. Los investigadores escribieron que este resultado demuestra cómo el LLM es “mucho más capaz de explotar vulnerabilidades que de encontrar vulnerabilidades”.
Es más barato utilizar a GPT-4 para explotar vulnerabilidades que a un hacker humano
Los investigadores determinaron que el costo promedio de una explotación exitosa de GPT-4 era de $8.80 por vulnerabilidad, mientras que contratar a un probador de penetración humano costaría alrededor de $25 por vulnerabilidad si les tomara medio hora.
Aunque el agente LLM es 2.8 veces más barato que el trabajo humano, los investigadores esperan que los costos asociados de utilizar GPT-4 disminuyan aún más, dado que GPT-3.5 se ha vuelto más de tres veces más barato en solo un año. “Los agentes de LLM también son escalarbles trivialmente, a diferencia del trabajo humano”, escribieron los investigadores.
GPT-4 toma muchas acciones para explotar vulnerabilidades de forma autónoma
Otros hallazgos incluyen que un número significativo de las vulnerabilidades requirieron muchas acciones para ser explotadas, algunas hasta 100. Sorprendentemente, el número promedio de acciones tomadas cuando el agente tenía acceso a las descripciones y cuando no apenas difería, y GPT-4 de hecho tomaba menos pasos en la configuración de día cero.
Kang especuló con TechRepublic, “Creo que sin la descripción de CVE, GPT-4 se rinde más fácilmente ya que no sabe qué camino tomar”.
Más cobertura de IA que debe leer
¿Cómo se probaron las capacidades de explotación de vulnerabilidades de los LLMs?
Los investigadores primero recopilaron un conjunto de datos de referencia de 15 vulnerabilidades del mundo real de un día en software de la base de datos de CVE y artículos académicos. Estas vulnerabilidades de código abierto reproducibles consistieron en vulnerabilidades de sitios web, vulnerabilidades de contenedores y paquetes de Python vulnerables, y más de la mitad se categorizaron como de severidad “alta” o “crítica”.
Lista de las 15 vulnerabilidades proporcionadas al agente de LLM y sus descripciones. Imagen: Fang R et al.
Luego, desarrollaron un agente de LLM basado en el marco de automatización ReAct, lo que significa que podía razonar sobre su próxima acción, construir un comando de acción, ejecutarlo con la herramienta apropiada y repetir en un bucle interactivo. Los desarrolladores solo necesitaron escribir 91 líneas de código para crear su agente, mostrando lo sencillo que es de implementar.
Diagrama del sistema del agente de LLM. Imagen: Fang R et al.
El modelo de lenguaje base podría alternarse entre GPT-4 y estos otros agentes de LLM de código abierto:
GPT-3.5.
OpenHermes-2.5-Mistral-7B.
Llama-2 Chat (70B).
LLaMA-2 Chat (13B).
LLaMA-2 Chat (7B).
Mixtral-8x7B Instruct.
Mistral (7B) Instruct v0.2.
Nous Hermes-2 Yi 34B.
OpenChat 3.5.
El agente estaba equipado con las herramientas necesarias para explotar de forma autónoma vulnerabilidades en sistemas objetivo, como elementos de navegación web, una terminal, resultados de búsqueda web, capacidades de creación y edición de archivos e interpretación de código. También podía acceder a las descripciones de las vulnerabilidades de la base de datos de CVE para emular la configuración de un día.
Luego, los investigadores proporcionaron a cada agente una indicación detallada que fomentaba la creatividad, la persistencia y la exploración de diferentes enfoques para explotar las 15 vulnerabilidades. Esta indicación constaba de 1,056 “tokens”, o unidades individuales de texto como palabras y signos de puntuación.
El desempeño de cada agente se midió en función de si explotaba con éxito las vulnerabilidades, la complejidad de la vulnerabilidad y el costo en dólares de la empresa, según la cantidad de tokens de entrada y salida y los costos de la API de OpenAI.
VER: La Tienda de GPT de OpenAI está abierta para constructores de chatbots
El experimento también se repitió donde el agente no recibió las descripciones de las vulnerabilidades para emular una configuración de día cero más difícil. En esta instancia, el agente tenía que descubrir la vulnerabilidad y luego explotarla con éxito.
Junto con el agente, las mismas vulnerabilidades se proporcionaron a los escáners de vulnerabilidades ZAP y Metasploit, ambos comúnmente utilizados por probadores de penetración. Los investigadores querían comparar su efectividad para identificar y explotar vulnerabilidades con la de los LLMs.
En última instancia, se encontró que solo un agente de LLM basado en GPT-4 podía encontrar y explotar vulnerabilidades de un día, es decir, cuando tenía acceso a sus descripciones de CVE. Todos los demás LLMs y los dos escáners tenían una tasa de éxito del 0% y, por lo tanto, no se probaron con vulnerabilidades de día cero.
¿Por qué los investigadores probaron las capacidades de explotación de vulnerabilidades de LLMs?
Este estudio se realizó para abordar la brecha de conocimiento con respecto a la capacidad de los LLMs para explotar con éxito vulnerabilidades de un día en sistemas informáticos sin intervención humana.
Cuando se divulgan vulnerabilidades en la base de datos de CVE, la entrada no siempre describe cómo pueden ser explotadas; por lo tanto, los actores malintencionados o los probadores de penetración que buscan explotarlas deben descubrirlo por sí mismos. Los investigadores buscaron determinar la viabilidad de automatizar este proceso con los LLMs existentes.
VER: Aprende cómo utilizar la IA en tu negocio
El equipo de Illinois ya ha demostrado anteriormente las capacidades de hackeo autónomo de los LLMs a través de ejercicios de “capturar la bandera”, pero no en implementaciones del mundo real. Otros trabajos se han centrado principalmente en la IA en el contexto de “mejora humana” en ciberseguridad, por ejemplo, donde los hackers son asistidos por un chatbot impulsado por AI.
Kang le dijo a TechRepublic, “Nuestro laboratorio se enfoca en la pregunta académica de cuáles son las capacidades de los métodos de IA de frontera, incluidos los agentes. Nos hemos centrado en la ciberseguridad debido a su importancia reciente”.
Se ha contactado a OpenAI para hacer comentarios.