Vai al contenuto

Mitigare Skeleton Key: Una Tecnica di Jailbreak per l’Intelligenza Artificiale

Scopri come il nuovo attacco jailbreak Skeleton Key mette a rischio i modelli di AI generativa e le misure di mitigazione proposte.

Nell’ambito dell’intelligenza artificiale (AI) generativa, i jailbreak, noti anche come attacchi di direct prompt injection, rappresentano input maligni che tentano di eludere il comportamento previsto di un modello di AI. Un jailbreak riuscito ha il potenziale di sovvertire gran parte delle protezioni di Responsible AI (RAI) integrate nel modello durante l’addestramento, rendendo cruciale l’attuazione di misure di mitigazione su altri livelli della stack AI come parte della difesa in profondità.

Come discusso in un post precedente riguardante i jailbreak AI, un jailbreak potrebbe indurre il sistema a violare le politiche degli operatori, prendere decisioni influenzate ingiustamente da un utente o eseguire istruzioni maligne. In questo articolo, analizziamo una nuova tipologia di attacco jailbreak chiamata Skeleton Key. Questa tecnica, presentata brevemente durante il Microsoft Build, coinvolge un attacco su AI Security e ha indotto Microsoft a condividere queste scoperte con altri fornitori di AI tramite procedure di divulgazione responsabile e a implementare strumenti come i Prompt Shields su Microsoft Azure AI per rilevare e bloccare questo tipo di attacco.

Introduzione a Skeleton Key

Questa tecnica di jailbreak AI utilizza una strategia multi-turn per indurre il modello a ignorare le protezioni. Quando queste vengono compromesse, il modello non è più in grado di distinguere fra richieste maligne o non autorizzate e altre normali. Abbiamo denominato questa tecnica Skeleton Key per la sua capacità di completo aggiramento delle protezioni.

Flusso dell’Attacco

Skeleton Key funziona chiedendo al modello di incrementare, anziché cambiare, le sue linee guida comportamentali, rispondendo a qualsiasi richiesta anche se il contenuto potrebbe essere considerato offensivo, dannoso o illegale. Un esempio mostrato nella nostra ricerca mostra come informare il modello che l’output è destinato solo a fini di ricerca in un contesto sicuro possa convincere alcuni modelli a soddisfare la richiesta.

Durante i test, la tecnica si è dimostrata efficace con diversi modelli di AI generativa, come Meta Llama3-70b-instruct, Google Gemini Pro, OpenAI GPT 3.5 Turbo, GPT 4.0, Mistral Large, Anthropic Claude 3 Opus, e Cohere Commander R Plus. Tutti questi modelli hanno prodotto contenuti senza censura, sebbene con una nota di avvertimento preposta all’output.

Mitigazione e Protezione

Per proteggersi da attacchi Skeleton Key, Microsoft ha implementato vari aggiornamenti ai propri modelli di AI e offre strumenti ai clienti che sviluppano applicazioni su Azure. Le strategie includono:

  • Filtraggio degli input: Azure AI Content Safety rileva e blocca input con intento dannoso.
  • Messaggi del sistema: progettazione di prompt per chiarire al modello linguistico il comportamento appropriato e fornire ulteriori salvaguardie.
  • Filtraggio degli output: filtro post-processing per identificare e prevenire output che violano i criteri di sicurezza.
  • Monitoraggio degli abusi: implementazione di un sistema AI-driven per rilevare e mitigare comportamenti che indicano utilizzo malevolo.

Costruire Soluzioni AI su Azure

Microsoft fornisce strumenti per chi sviluppa applicazioni su Azure. Safety Prompt Shields, abilitati di default per i modelli ospitati nel catalogo Azure AI, rappresentano una difesa generale contro questa e altre tecniche emergenti che tentano di generare contenuti dannosi. Azure offre anche strumenti per la selezione dei modelli, la progettazione dei prompt, la valutazione e il monitoraggio. La Native Integration di Microsoft Defender for Cloud con il servizio Azure OpenAI consente di ricevere avvisi contestuali e azionabili sulla sicurezza, proteggendo le applicazioni AI da attività dannose.