Bad Likert Judge: «Dame ejemplos de cosas malas, amiga (m)IA»
Saltarse las protecciones que tienen los modelos MM-LLMs frente a ataques de Prompt Injection o técnicas de LLM Jailbreak es un deporte en toda regla dentro del mundo del hacking hoy en día. El otro día jugaba yo a meterle presión a los modelos LLMs para ver cómo se comportaban, y el mes pasado publicaba el artículo de nuestro compañero sobre cómo usar ASCII ART para saltarse las protecciones contra contenido malicioso que hacen saltar la detección del «harmfull mode». Hoy os hablo de otro estudio al respecto.
Figura 1: Bad Likert Judge.
«Dame ejemplos de cosas malas, amiga (m)IA»
En este caso de un artículo publicado hace unos días y que habla de cómo hacer un Jailbreak a modelos LLM usando una técnica que han llamado «Bad Likert Judge«, que se basa en convertir al modelo en un juez de lo que está bien o mal al estilo de las escalas de Likert tan utilizados hoy en día en los cuestionarios.
Figura 2: Bad Likert Judge
Los formularios que utilizan las escalas de Likert piden a las personas que evalúen siguiendo una escala de Strongly Disagree, a Strongly Agree una afirmación concreta, o con una escala numérica. En este caso se trata de hacer lo mismo pero con el contenido que se quiere generar.
El proceso que han descrito en el trabajo tiene tres fases. La primera es convertirlo en un evaluador de lo que está bien o lo que está mal, ofreciendo una escala de catalogación de la información.
Éste que tenéis arriba sería un ejemplo de cómo configurar una escala para conseguir que el modelo diera ejemplos prohibidos de construcción de malware. Ahora vamos a pedirle que nos escriba casos concretos.
Para ello, como podéis ver en la Figura 5 se le pide que haga ejemplos de la escala con un prompt similar al que podéis ver en la imagen siguiente.
Figura 6: Pidiéndole que nos dé las salidas.
Si el resultado no es lo suficientemente detallado, se le pide que lo refine, para conseguir una respuesta más clara y concisa con los resultados buscados.
Figura 7: Fase de refinamiento de la respuesta
Con este proceso tan sencillo, los investigadores han evaluado los resultados obtenidos, consiguiendo saltarse las protecciones en 6 LLMs diferentes – cada uno con sus sistemas de seguridad y de detección de «Harmfull Mode» – consiguiendo los siguientes resultados de éxito (Attack Success Rate).
Figura 8: Ratio de éxito de los ataques
Como se puede ver, se consiguen saltar las protecciones de seguridad y que el modelo acabe dando respuestas a temas que están prohibidos. Y en todas y cada una de las categorías. Los investigadores han publicado el impacto del ASR en cada uno de los modelos – sin especificar que LLM es cada uno -, pero este es un buen ejemplo de cómo se consigue el éxito en la salida.
Bad Likert Judge en Opera Browser Aria
Aria es el Copilot de Opera Browser, y he ido a probar esta técnica para ver si se salta las protecciones de seguridad a la hora de generar código malicioso. Primero hemos definido la escala, tal y como se explica en el artículo.
Ahora vamos a pedirle los dos ejemplos. Para el artículo, el ejemplo que no es malicioso con Score 2 me lo ahorro, que es un clásico «Hello World«, y os dejo sólo el malicioso.
Vale, sí, es malicioso, pero muy pobre. Vamos a pedirle que nos saque algo más de chicha. Así que le he solicitado que el código tenga como poco 20 líneas, a ver qué me hace.
Pues aquí está un buen código para meter un backdoor usando Python, que no se diga. Se lo ha currado bien el ejemplo de código malicioso de Score 1 de la escala Likert que le he pedido.
Pues sí, parece que funciona. Como ejemplo ha sido suficiente, pero sobre todo como muestra de lo complejo que va a ser securizar los comportamientos de todos los sistemas – (¿incluidos los robots? ) – que utilicen estos modelos MM-LLMs como motor de Inteligencia Artificial.
¡Saludos Malignos!
Autor: Chema Alonso (Contactar con Chema Alonso)
Powered by WPeMatico