miércoles, diciembre 13, 2023

Jailbreaking LLMs con Fuzzing, LLMs o interrogación coercitiva: Aproximaciones para que un LLM ayude a los malos

Parece que últimamente  todo lo que publico por El lado del mal tiene que ver con Inteligencia Artificial Generativa, pero si hay un área de la ciberseguridad y el hacking que está en plena ebullición es sin duda la que tiene que ver con los LLMs y todas sus implicaciones para la seguridad de los sistemas que estamos creando - a toda velocidad diría yo - para no perder el ritmo de la competitividad empresarial.

Figura 1: Jailbreaking LLMs con Fuzzing, LLMs o interrogación coercitiva.
 Aproximaciones para que un LLM ayude a los malos

Si te interesa este tema, por supuesto, además de recomendarte el libro de Machine Learning & Ciberseguridad que es un inicio de este mundo, puedes leerte el artículo que le dediqué a OWASP Top Ten para LLM Apps & Services, y ver la conferencia que hice de resumen de este tema.

De todos los fallos de seguridad de los LLMs, el más importante es, sin duda, el Prompt Injection, que ocupa el puesto número uno al igual que las técnicas de SQL Injection fueron el número uno en las aplicaciones web durante años.



Y es que las herramientas de gestión de la información de lo que puede devolver o no, es bastante simple aún en estos modelos, así que jugar con las palabras puede llevar a que se consiga el objetivo de saltarse la protección y se obtengan las repuestas deseadas por el atacante. Ejemplos de estos, ya os he contado muchos. Se trata de saltarse las protecciones jugando con las palabras.
Al final, los LLMs modernos vienen con protecciones de "seguridad" pensadas para que GPT4GPT4 TurboLlamav2BardPalM2, etcétera, no puedan ser utilizados para hacer cosas malas. Cuando se le pide algo considerado "dañino" o "harmful", el modelo LLM lo detecta y devuelve una respuesta que bloquea la información solicitada. Es decir, se activa la protección contra "Harmful Mode".
Saltarse esa protección anti "Harmful Mode", se hace mediante técnicas de Prompt Injection, en las que se busca preguntarle las cosas de manera diferente para poder "engañar" al LLM y lograr que te de la información. Y encontrar la forma de saltarse masivamente estas técnicas es lo que se ha denominado "Jailbreak un LLM" - que no es lo mismo que el Jailbreak del iPhone -.

Artículos y técnicas para hacer Jailbreak a un LLM

Si te pones a investigar sobre las técnicas de hacer Prompt Injection para lograr hacer un Jailbreak a un LLM, verás que hay mucho que leer, con muchos artículos diferentes. Hoy os traigo algunos de ellos que os van a dar ideas sobre cómo hacer estas tareas. Y veréis que los últimos son de esta misma semana.
Este primero, que es el más antiguo que he elegido, es de finales de mayo de este año, y hace un estudio sobre cómo le afectan las técnicas de Prompt Engineering y Prompt Injection a ChatGPT. Al ritmo que vamos, ha habido muchos avances, pero merece la pena darle una lectura para entender esta rama de investigación.
Después de el primer estudio, nos movemos al mes de octubre - hace nada, para encontrar GPTFuzzer, una herramienta de Red Team para generar Prompts Automáticos para hacer Jailbreak de un LLM, lo que pretende ser una herramienta de pentester, o una forma de hacer pentesting automático para entrar en el modo Jailbreak de un LLM que se está auditando. 
Como podéis ver, la herramienta de GPTFuzzer está disponible en GitHub, así que podéis utilizarla, aprender de ella, testearla, evolucionarla o usarla para hacer estudios. Así que para los técnicos, nos da algo con lo que jugar y aprender.
Este artículo es uno de los que más me ha gustado, y le voy a dedicar un post solo para él, porque hace un análisis de las medidas de seguridad usando Time-Based (muy similares a mis queridas Time-Based Blind SQL Injection), y luego automatiza un ataque para hacer Jailbreak del modelo LLM. Leedlo si podéis, y luego ya os publico un nuevo articulo con más detalles.
Ya hace menos de un mes se publicó el paper de "A Wolf in Sheep's Clothing: Generalized Nested Jailbreak Prompts can Fool LLMs easily" donde se plantea otro método automático en Black Box para realizar ataques de Prompt Injection y saltar las protecciones de Harmful Mode para lograr el Jailbreak del modelo LLM, en este caso haciendo un algoritmo en dos fases de Rewritting Prompts y Nested Loops. Interesante aproximación.


Hace apenas dos semanas se publicó el paper de "Open Sesame! Universal Black Box Jailbreaking of LLMs" que utiliza una aproximación de Algoritmo Genético para generar Prompt Engineering que haga el Jailbreak del modelo LLM que se está analizando, también en formato Black Box y de manera universal para cualquier Harmful Prompt y modelo LLM que se use.


De este otro artículo académico de hace unos diez dias, titulado Tree of Attacks: Jailbreaking Black-Box LLMs Automatically hablé en detalle la semana pasada en un artículo. Como resumen os diré que es un trabajo donde utilizan un LLM Atacante para generar Prompts automáticos que buscan saltarse el Harmful Mode y Jailbreak del modelo LLM, usando otro LLM Evaluador que comprueba si lo ha conseguido o no, y un LLM Objetivo en caja negra que es el que es evaluado para saltarse la seguridad.
Y el último que os traigo es esta misma semana, titulado "Make Them Spill the Beans! Coercive Knowledg Extraction from (Production) LLMS" es también un método automático para hacer Jailbreak en Black Box, en este caso utilizando interrogatorios coercitivos, muy curioso. Además, por ser el último, se compara en eficiencia con algunos de los anteriores.

Al final, como podéis ver, esta es una línea de investigación en completa ebullición, y lo que pone de manifiesto es que los LLMs de hoy en día no tienen suficientes protecciones para controlar la emisión de contenido dañino a un posible atacante. Ya veremos cómo evoluciona todo esto.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


No hay comentarios:

Publicar un comentario