Prompt Hacking: Vulnerabilità dei Language Model

Introduzione

Gli attacchi ai LM (Language Model) come la prompt injection e la prompt leaking possono essere paragonati alle SQL injection nel contesto della sicurezza informatica. Mentre le SQL injection sfruttano le vulnerabilità dei sistemi di gestione dei database per inserire codice dannoso all’interno delle query SQL, gli attacchi ai LM prendono di mira i modelli linguistici e cercano di manipolare l’output generato. In entrambi i casi, gli aggressori cercano di influenzare il comportamento del sistema iniettando input dannosi o modificando il funzionamento.

Prompt Injection: Manipolazione dell’Output dei LLM

La prompt injection è una tecnica che consente agli hacker di dirottare l’output di un LM. In questo modo è possibile aggiungere contenuti maligni o non intenzionali a un prompt al fine di manipolare l’output del modello. Questa vulnerabilità si manifesta quando un testo non attendibile viene incluso nel prompt, come ad esempio nel caso in cui un attaccante possa creare un prompt che inganni il modello facendogli ignorare la parte legittima a favore del testo iniettato.

Questo mette in luce il potenziale uso errato della prompt injection per diffondere informazioni false o generare risposte inappropriate.

L’azienda remoteli.io aveva un modello linguistico (LLM) che rispondeva ai post su Twitter riguardanti il lavoro da remoto. Gli utenti di Twitter si sono velocemente accorti che potevano inserire il proprio testo nel bot per fargli dire ciò che desideravano.

Questo avviene perché il tweet dell’utente viene unito al prompt utilizzato da remoteli per formare il prompt finale, che viene poi utilizzato dal LLM per generare la risposta. Ciò significa che qualsiasi testo iniettato dall’utente di Twitter verrà inserito nel LLM.

Si pensi come le conseguenze di questa vulnerabilità potrebbero essere impattanti se venisse attaccato ad esempio un chatbot di una banca e venisse detto al modello di ignorare le istruzioni dategli in precedenza e riportare un indirizzo IBAN al quale effettuare tutti i pagamenti, o un numero di telefono di assistenza diverso, in possesso dell’attaccante.

Prompt Leaking: Estrazione di Informazioni Sensibili

Il prompt leaking è una forma di prompt hacking che comporta l’estrazione di informazioni sensibili o confidenziali dalle risposte dei LLM. In alcuni casi, gli utenti desiderano mantenere segreti i loro prompt, come ad esempio un’azienda di formazione che potrebbe voler utilizzare un prompt specifico per spiegare argomenti complessi, ma se questo prompt venisse leaked, chiunque potrebbe utilizzarlo senza seguire il processo previsto dall’azienda.

Il prompt leaking può avere varie implicazioni come è stato dimostrato da un caso riguardante writesonic(.)com. L’azienda che si propone come alternativa a Chat-GPT, l’attuale LLM più utilizzato, è di fatto risultata vulnerabile ed è stato possibile scoprire il prompt utilizzato. Link al post completo (https://www.linkedin.com/feed/update/urn:li:activity:7069314602613784576/ ).

Infatti fornendo un frammento del prompt utilizzato, è stato possibile recuperare il resto del prompt senza l’autenticazione adeguata.

Il prompt leaking rappresenta quindi un rischio significativo, specialmente in scenari in cui vengono utilizzati prompt complessi e di lunga durata, come nelle startup basate su GPT-3/4, dove l’intero business gira attorno alla segretezza del prompt; come ad esempio vizgpt(.)ai, un servizio a pagamento che consente di creare visualizzazioni grafiche utilizzando una chat, anch’essa vulnerabile al prompt leaking. Link al post completo (https://www.linkedin.com/feed/update/urn:li:activity:7084854101997498368/)

Jailbreaking: Bypass delle Funzionalità di Sicurezza e Moderazione

Il jailbreaking si riferisce al processo di utilizzo della prompt injection per aggirare le funzionalità di sicurezza e moderazione implementate dai creatori del LLM. Queste sono di fatti fondamentali per impedire ai LLM di generare risposte controverse, violente, sessuali o illegali. Tuttavia, gli hacker possono sfruttare le vulnerabilità del modello per eludere le restrizioni, consentendo loro di porre domande o ottenere risposte senza limitazioni.

I metodi di jailbreaking spesso implicano oltre al convincimento del LLM che determinate situazioni sfuggano ai limiti etici del modello o che l’utente abbia un’autorità superiore. Ad esempio, fingendo di essere un attore in un ruolo specifico, il modello potrebbe assumere che non esista alcun rischio plausibile, producendo risposte non sicure. Altre tecniche includono l’assunzione di responsabilità, il ragionamento logico e l’attribuzione di privilegi superiori all’utente (modalità sudo). Questi metodi di jailbreaking mettono alla prova la capacità dei LLM di rispettare le linee guida di sicurezza ed etiche.

In questo esempio di “Character Roleplay”, l’attaccante mostra uno scenario di recitazione tra due persone che discutono di una rapina, facendo assumere a ChatGPT il ruolo del personaggio. Come attore, si sottintende che il danno plausibile non esista. Pertanto, ChatGPT sembra assumere che sia sicuro seguire l’input dell’utente fornito su come entrare in una casa.

Link al post originale (https://twitter.com/m1guelpf/status/1598203861294252033)

Difesa contro il Prompt Hacking

Per proteggersi dal prompt hacking, è fondamentale adottare misure difensive. Queste includono:

  • Difese basate sui prompt: analizzare attentamente e convalidare i prompt per impedire l’iniezione di contenuti maligni o non intenzionali.
  • Monitoraggio regolare: monitorare costantemente il comportamento e gli output dei LLM per individuare attività insolite o segni di prompt hacking.
  • Audit di sicurezza: effettuare audit di sicurezza periodici per individuare vulnerabilità e rafforzare la sicurezza complessiva dei LLM.

Prendere misure proattive per proteggersi dal prompt hacking è fondamentale per salvaguardare l’integrità e l’affidabilità dei LLM, soprattutto considerando la crescente diffusione e influenza in vari ambiti.

Bibliografia

  1. Chase, H. (2022). adversarial-prompts. [Online]. Disponibile su: https://github.com/hwchase17/adversarial-prompts.
  2. Perez, F., & Ribeiro, I. (2022). Ignore Previous Prompt: Attack Techniques For Language Models. arXiv. [Online]. Disponibile su: https://doi.org/10.48550/ARXIV.2211.09527.
  3. Brundage, M. (2022). Lessons learned on Language Model Safety and misuse. In OpenAI. OpenAI. [Online]. Disponibile su: https://openai.com/blog/language-model-safety-and-misuse/.
  4. LearnPrompting.org. (s.d.). Category: Prompt Hacking. [Online]. Disponibile su: https://learnprompting.org/docs/category/-prompt-hacking.

Articolo a cura di Giacomo Arienti e Simone Rizzo

Profilo Autore

Giacomo Arienti è uno studente di Ingegneria e Scienze Informatiche con un'ampia esperienza nel campo della sicurezza informatica. Attualmente, lavora come Full Stack Developer, possedendo competenze approfondite nella progettazione e nello sviluppo di applicazioni web.

La sua passione per la cybersecurity è iniziata grazie alla partecipazione alle Olimpiadi Italiane di Cybersecurity, dove ha ottenuto un notevole successo posizionandosi nella top 10 nazionale in entrambe le sue partecipazioni.

Parallelamente alla sua esperienza nel settore della sicurezza informatica, Giacomo ha sviluppato un forte interesse per il mondo dell'intelligenza artificiale.

La missione di Giacomo è quella di rendere la cybersecurity accessibile a tutti e di sensibilizzare le persone sui rischi connessi all'utilizzo delle tecnologie digitali. Ha intrapreso iniziative per condividere le sue conoscenze attraverso workshop e conferenze, mirando a diffondere una maggiore consapevolezza riguardo alle minacce informatiche e alle strategie di protezione.

Profilo Autore

Simone Rizzo è un esperto di Intelligenza Artificiale con una laurea magistrale in Intelligenza Artificiale ottenuta presso l'Università di Pisa. Ha una solida esperienza come AI engineer nel settore della computer vision applicata all'auto a guida autonoma. La sua passione per la ricerca si concentra principalmente sulla spiegabilità dei modelli e sulla privacy nell'ambito del machine learning.

Simone è il fondatore e CEO di Inferentia, un'azienda di consulenza specializzata nell'applicazione dell'Intelligenza Artificiale. L'azienda offre servizi di consulenza e sviluppo di soluzioni AI personalizzate per diverse industrie.

Oltre al suo impegno nel mondo degli affari, Simone è un appassionato divulgatore scientifico su TikTok. Utilizzando il suo talento nel semplificare concetti complessi, condivide informazioni sull'Intelligenza Artificiale con un vasto pubblico, contribuendo a diffondere la consapevolezza e l'interesse verso questa disciplina in rapida evoluzione.
La sua missione è quella di rendere l'Intelligenza Artificiale accessibile a tutti, spiegando il suo impatto e le sue potenzialità nel mondo moderno.

Condividi sui Social Network:

Articoli simili