Abbatti i silos della sicurezza e rafforza le tue difese con la potenza di un'unica piattaforma di cybersecurity.
L'injection di prompt è un tipo di attacco informatico che prende di mira i servizi che utilizzano l'IA. Consiste nell'inserire input dannosi (prompt) per estrarre informazioni non previste o sensibili dal sistema, oltre a quanto previsto dallo sviluppatore. Se ha successo, ciò può portare il servizio di IA a restituire contenuti inappropriati o persino a esporre configurazioni interne.
L'injection di prompt è particolarmente difficile da rilevare e bloccare nei servizi di IA basati sul linguaggio naturale, come l'IA conversazionale, poiché gli input sono scritti in linguaggio umano, che non ha una struttura o regole fisse, a differenza degli attacchi di injection tradizionali che prendono di mira formati di query strutturati.
Questa pagina si concentra sull'injection di prompt nel contesto dei grandi modelli di linguaggio (LLM), che gestiscono il linguaggio naturale.
Prima di approfondire l'injection di prompt, è importante capire cosa sono i LLM e i prompt.
I grandi modelli di linguaggio sono un tipo di IA generativa addestrata su enormi set di dati di linguaggio naturale. Sono utilizzati in applicazioni come chatbot e generazione automatica di documenti. Esempi includono GPT-3/4 di OpenAI e BERT di Google.
Un prompt è l'input che un utente fornisce al modello di IA, spesso scritto in linguaggio naturale libero. Poiché non ci sono regole sintattiche rigide, gli utenti devono formulare attentamente i loro input per ricevere risposte significative. Questa pratica è nota come prompting.
Esploriamo questo concetto utilizzando un servizio di traduzione in spagnola fittizio alimentato da un LLM. Quando un utente inserisce una richiesta, come mostrato nella Figura 1, il sistema la elabora aggiungendo testo predefinito (ad esempio, "Per favore, traduci il seguente testo in spagnolo") per creare un prompt completo. Questo prompt finale viene inviato al LLM, che restituisce una risposta tradotta basata su quella istruzione.
Figura 1. Testo inserito dall’utente
Figura 2. Flusso di elaborazione in un servizio fittizio di traduzione spagnola basato su un grande modello linguistico
Consideriamo come un aggressore potrebbe sfruttare questa situazione. Supponiamo che un utente malintenzionato inserisca un prompt simile a quello mostrato nella Figura 3. Il sistema combina quindi questo input con il suo prompt predefinito, risultando in un input finale come mostrato nella Figura 4.
Il LLM, ricevendo questo prompt, potrebbe ignorare l'istruzione originale e rispondere invece al comando inserito dall'aggressore, restituendo potenzialmente un output pericoloso o non intenzionale (ad esempio, istruzioni su come creare ransomware). Questo abuso è difficile da rilevare e bloccare a causa della natura del linguaggio naturale dell'input.
Figura 3. Testo inserito da un utente malintenzionato e la sua traduzione in inglese
Figura 4. Prompt finale generato
Poiché l'injection di prompt sfrutta il linguaggio naturale, è intrinsecamente più difficile da rilevare rispetto agli attacchi di injection tradizionali. Tuttavia, alcune strategie di mitigazione specifiche possono aiutare a ridurre il rischio:
Difesa delle istruzioni: Inserisce istruzioni di controllo intorno all'input dell'utente per aiutare il LLM a capire quali parti dare priorità o ignorare.
Post-Prompting: Colloca gli input degli utenti dopo i prompt predefiniti.
Inclusione di sequenze casuali: Incapsula gli input degli utenti tra marcatori generati casualmente.
Difesa a sandwich: Avvolge gli input tra due prompt predefiniti.
Tagging XML: Incapsula gli input degli utenti all'interno di tag XML per distinguere il contenuto e ridurre il rischio di esecuzione.
Valutazione del LLM: Utilizza un LLM separato per preselezionare e valutare il prompt prima dell'esecuzione.
Queste tecniche possono essere implementate all'interno del LLM o a livello di applicazione. Inoltre, la validazione degli input, il controllo degli accessi e la limitazione delle funzioni di composizione dei prompt agli utenti fidati sono difese complementari efficaci.
Man mano che l'IA generativa diventa più comune negli ambienti aziendali, porta con sé nuove efficienze e nuovi rischi di sicurezza. L'injection di prompt è uno di questi rischi, in cui gli aggressori manipolano gli input per estrarre informazioni sensibili o non intenzionali dai servizi basati su LLM.
La sua rilevazione è difficile a causa della natura aperta del linguaggio naturale. Tuttavia, grazie a tecniche come la difesa delle istruzioni, l'ispezione degli input e l'accesso controllato, le organizzazioni possono mitigare la minaccia dell'injection di prompt e garantire il deployment sicuro degli strumenti di IA.
Fermare gli avversari più rapidamente e prendere il controllo dei tuoi rischi informatici inizia con una sola piattaforma. Gestisci la sicurezza in modo olistico con capacità complete di prevenzione, rilevamento e risposta, alimentate dall'IA, dalla ricerca e dall'intelligence sulle minacce leader del settore.
Trend Vision One supporta diversi ambienti IT ibridi, automatizza e orchestra i flussi di lavoro e fornisce servizi di cybersicurezza esperti, in modo da poter semplificare e convergere le tue operazioni di sicurezza.