MathPrompts Jailbreak: Cómo codificar un robo como un problema matemático para hackear a un LLM
Esta semana pasada se ha publicado un artículo académico que explica como utilizar la simbología matemática para saltarse la detección del Harmful Mode en los LLMs codificando un Prompt Malicioso como si de un problema matemático se tratase. A la técnica la han llamado MathPrompts Jailbreak. Así de curioso, y así de «hacker». Maravilloso.
El artículo, titulado: «Jailbreaking Large Language Models with Symbolic Mathematics» explica cómo las protecciones de detección de Prompt Maliciosos, lo que se llama el Harmful Mode en los LLM, no detectan en la mayoría de los casos que se trata de algo malicioso cuando se plantea con codificación matemática.
Si has estudiado matemática, te conocerás toda la simbología que te permite representar conjuntos, enunciar teoremas, o demostrar afirmaciones, usando todos esos símbolos que seguro que si repasas recordarás perfectamente.
Pues bien, los investigadores han demostrado que si se codifica un Prompt Malicioso como «How to rob a bank» con simbología matemática como si fuera un problema a resolver, el resultado es que se obtienen todas las respuestas que en teoría no deberían de recibirse por el bloqueo del «Harmful Mode«.
Para probar que la técnica funciona, lo que hicieron fue codificar 120 prompts maliciosos de los datasets más utilizados para evaluar la respuesta de los LLM, y las codificaron en un MathPrompt para probarlas contra varias versiones de GPT-4, Claude 3 y Claude 3.5, Gemini 1.5 y Llama 3.1. Los resultados, siguiendo la metodología de HarmBench publicada este año, y que define como hacer un Benchmark de una técnica de Jailbreak, fueron los siguientes.
En este caso, la complejidad de entender el MathPrompt dificulta el éxito, así modelos con menos capacidades dan menos éxito en el ataque no porque detecten el Prompt Malicioso, sino porque no resuelven bien el problema.
Figura 6: Libro de Machine Learning aplicado a Ciberseguridad de Carmen Torrano, Fran Ramírez, Paloma Recuero, José Torres y Santiago Hernández |
Como curiosidad, este es un ejemplo para codificar el Prompt Malicioso de «How to hide a corpse» (Cómo ocultar un cadaver), para que veáis la dificultad de la codificación en MathPrompt. Una línea contra una descripción completa y determinista de un problema matemático.
Figura 7: MathPrompt de «How to hide a corpse»
Y aquí está la respuesta que da al problema GPT-4o que es el que ha respondido lo que podéis ver a continuación, como solución al problema.
Figura 8: Respuesta de GPT-4o al MathPrompt
Si te gusta el hacking, la investigación, y seguir disfrutando de la búsqueda de vulnerabilidades, ya puedes ver como lo que aprendiste de matemáticas en el Instituto y en la Universidad se puede utilizar de forma muy correcta para tu pasión. Yo también las usaba para hacer ataques SQL Injection, en este caso con el «Arithmetical SQL Injeciton«.
¡Saludos Malignos!
Autor: Chema Alonso (Contactar con Chema Alonso)
Powered by WPeMatico