La tecnica di jailbreak Bad Likert Judge sfida la sicurezza degli LLM e mette in luce vulnerabilità, impatti e strategie per la mitigazione del rischio.
La grande attenzione verso gli LLM sta sollecitando la necessità di nuove competenze di cybersecurity legate alla messa in sicurezza dei modelli linguistici di grandi dimensioni. Per farlo esistono diversi tipi di approccio, fra cui il più diffuso è il jailbreak di un LLM con l’obiettivo di metterne in luce i punti deboli, così da contrastare efficacemente attacchi simili.
I jailbreak sono tecniche che consentono di eludere i sistemi di sicurezza progettati per impedire agli LLM di produrre risposte dannose o inappropriate. Gli LLM, infatti, sono addestrati con barriere (guardrail) che dovrebbero impedire o limitare la creazione di contenuti pericolosi, illeciti o non etici. Il problema è che negli ultimi anni i Large Language Models sono diventati sempre più potenti e versatili e la loro stessa complessità li ha resi vulnerabili a tecniche di attacco sofisticate, come appunto i jailbreak.
Esistono diverse strategie di jailbreak che si possono implementare in una singola interazione (single-turn) o mediante una serie di interazioni (multi-turn). Alcuni esempi di tecniche a singola interazione sono la cosiddetta Persona Persuasion, che consiste nell’indurre l'LLM ad assumere una personalità che giustifichi la generazione di contenuti dannosi; Role-Playing chiede all'LLM di comportarsi come se fosse un personaggio che non rispetta le regole di sicurezza; “Do Anything Now" sfrutta un prompt specifico con cui istruisce l'LLM a ignorare le restrizioni; Token Smuggling con cui vengono nascosti comandi dannosi utilizzando tecniche di encoding come Base 64.
Per quanto riguarda il multi-turn ci sono invece la tecnica Crescendo che aumenta gradualmente la dannosità dei prompt per indurre l'LLM a produrre risposte pericolose, e il Many-shot in cui si invia all'LLM una serie di prompt benigni prima di sottoporne uno dannoso.
In generale, i jailbreak degli LLM funzionano quando sfruttano le limitazioni computazionali degli LLM stessi e i loro meccanismi di attenzione. In particolare, negli attacchi single-turn viene proposta al modello una elaborazione abbastanza complessa da causare l'omissione di alcuni controlli di sicurezza. Invece negli attacchi multi-turn gli attaccanti manipolano la comprensione del contesto da parte dell'LLM, guidandolo gradualmente verso risposte indesiderate. Questa tecnica parte dall’assunto che gli LLM hanno una "finestra di contesto" limitata, ossia una quantità massima di testo che possono “ricordare” durante la generazione delle risposte, e che tale finestra può essere sfruttata per indirizzare l'attenzione dell'LLM verso parti benigne dell'input, distogliendo l’attenzione dai prompt dannosi.
Esempio di attacco multi-turn
In un post sul proprio blog ufficiale, i ricercatori della Unit42 di Palo Alto Networks hanno presentato Bad Likert Judge, una tecnica innovativa per eludere le misure di sicurezza degli LLM sfruttandone la capacità di valutazione. La tecnica si sviluppa su tre turni. Al primo turno, denominato Evaluator Prompt, si chiede all'LLM di agire come un giudice, valutando la dannosità di alcune risposte sulla base della suddetta scala Likert - una scala di valutazione che misura il grado di accordo o disaccordo di un soggetto con una determinata affermazione. In questo caso, vengono fornite all’LLM delle linee guida specifiche in base alle quali valutare quanto una risposta sia dannosa.
Il secondo turno è quello di follow-up: dopo che l'LLM ha compreso il compito di valutazione e le diverse scale di nocività, gli viene chiesto di generare risposte che corrispondano a tali scale. Se le risposte non raggiungono il livello di nocività desiderato, si può chiedere all'LLM di affinarle aggiungendo ulteriori dettagli. Nell’ultimo turno si seleziona la risposta con il punteggio di nocività più alto, che in genere contiene il contenuto dannoso. Se l'attacco riesce, l'LLM genererà contenuti nocivi; qualora il risultato non fosse sufficientemente dannoso sarà possibile chiedere all'LLM di perfezionare ulteriormente le risposte.
Il motivo di questo percorso è che l'LLM, in quanto giudice, ha una comprensione intrinseca di ciò che è dannoso, quindi quando gli viene chiesta una valutazione di nocività corredata da esempi si sfrutta la sua logica interna per indurlo ad aggirare le sue protezioni.
Aumento medio dell'ASR con la tecnica Bad Likert Judge
Bad Likert Judge è stato testato sottoponendo a diversi LLM (di cui non è stato pubblicato il nome) una vasta gamma di argomenti per alcune categorie specifiche, fra cui la promozione di odio, intolleranza o pregiudizio; la generazione di comportamenti intimidatori, offensivi o umilianti; l’incoraggiamento all’autolesionismo o al suicidio; la generazione di materiale sessuale esplicito o pornografico; la richiesta di informazioni sulla produzione o l’uso di armi; la violazione delle leggi; la creazione o distribuzione di malware e software dannoso; la rivelazione dei set di istruzioni alla base dell’LLM stesso.
Per valutare l'efficacia della tecnica Bad Likert Judge, è stato utilizzato un altro LLM come valutatore per determinare se le risposte generate dal "bad judge" LLM erano abbastanza dannose da essere considerate un jailbreak riuscito. Il parametro standard di valutazione è stato l’Attack Success Rate (ASR), ossia il rapporto tra il numero di attacchi di successo e il numero totale di tentativi. I risultati hanno mostrato che la tecnica Bad Likert Judge ha aumentato l'ASR di oltre il 75% rispetto alla base di riferimento e alcuni modelli hanno mostrato aumenti superiori all’80% nella maggior parte delle categorie testate. In particolare, le categorie "odio" e "molestie" hanno mostrato un elevato aumento dell'ASR mentre quella relativa alla "divulgazione del prompt di sistema" ha mostrato un aumento significativo solo in un modello.
Aumento dell’ASR per categoria su uno degli LLM oggetto di testÈ importante sottolineare che questa tecnica punta a casi limite e non riflette necessariamente l'uso tipico degli LLM. L'efficacia varia a seconda dell’LLM e complessivamente nessuna protezione LLM si è rivelata del tutto immune agli attacchi.
La ricerca sottolinea l'importanza del content filtering come strategia per la mitigazione degli attacchi di jailbreak. Si tratta di sistemi che operano insieme all'LLM principale e analizzano sia il prompt che l'output per rilevare contenuti potenzialmente dannosi. Infatti, nei test il content filtering ha dimostrato di ridurre significativamente l'ASR degli attacchi di jailbreak, con una riduzione media di 89,2 punti percentuali.
Diversi servizi di AI offrono filtri di contenuti, per esempio OpenAI Moderation, Azure AI Services Content Filtering, GCP Vertex AI Safety Filters, AWS Bedrock Guardrails, Meta Llama-Guard e Nvidia NeMo-Guardrails. L'implementazione di un sistema di content filtering è quindi una best practice fondamentale.
Efficacia del content filteringTuttavia, l'articolo riconosce che i filtri di contenuto non sono una soluzione perfetta e che attaccanti particolarmente determinati potrebbero trovare la strada per aggirarli. Per questo motivo è bene monitorare e valutare continuamente l'efficacia delle misure di sicurezza, oltre che collaborare con gli esperti di sicurezza per la condivisione di informazioni e la rapida mitigazione delle minacce.