Introduzione
Mentre l'intelligenza artificiale e i Large Language Model (LLM) come ChatGPT rivoluzionano i settori, i rischi per la
sicurezza crescono esponenzialmente. Dalle perdite di dati agli output manipolati, gli aggressori stanno sfruttando le
vulnerabilità nei sistemi di intelligenza artificiale. Questo post si addentra nel pentesting dei modelli AI/LLM e dimostra un
exploit pratico di Prompt Injection (LLM01), una delle 10 principali vulnerabilità di OWASP per i sistemi di intelligenza
artificiale.
OWASP Top 10 per AI/ML: una rapida panoramica
L'elenco OWASP evidenzia rischi critici come i seguenti.
1. Iniezione Rapida (Prompt Injection)
2. Avvelenamento
3. inversione del modello
4. Eccessiva Agency
5. Vulnerabilità della catena di fornitura
Ci concentreremo sul prompt Injection, in cui, gli input dannosi, sovrascrivono le istruzioni di sistema, per mostrare come gli aggressori possono dirottare il comportamento dell'intelligenza artificiale. Per un elenco completo di tutte le vulnerabilità OWASP relative ad AI LLM, stiamo aggiungendo il riferimento alla documentazione ufficiale: https://genai.owasp.org/. Diamo uno sguardo più da vicino a questa vulnerabilità OWASP.
Perché è importante l'iniezione rapida
L'iniezione rapida sfrutta la scarsa gestione degli input, inducendo i modelli a ignorare le misure di sicurezza.
Proviamo ora a costruire un chatbot vulnerabile, e ad attaccarlo!
Demo pratica: sfruttare l'iniezione rapida
Creiamo un chatbot basato su Python, utilizzando l'API di OpenAI (vulnerabilità simulata).
1. Installiamo le dipendenze = pip install openai
2. Di seguito possiamo vedere un esempio di interazione normale (normal interaction) e di un'interazione malevola. In quest'ultimo caso, abbiamo effettuato una chiamata al modello AI eseguendo uno script dannoso (malicious prompt injection), in cui chiediamo di rivelare una chiave segreta. Questo accade perché, a volte, l'interazione programmatica con il modello può bypassare i filtri di sicurezza. Immagina, ad esempio, un chatbot di assistenza clienti costretto a rivelare informazioni riservate o ad eseguire azioni non autorizzate.
Cosa sta succedendo?
• L'input dell'attaccante inietta un nuovo comando di "sistema", sovrascrivendo l'originale istruzione.
• Una gestione scadente degli input consente al modello di dare priorità al comando più recente*.
Questo meccanismo non funziona più negli ultimi modelli LLM come GPT 3.0+; tuttavia, lo scopo della
dimostrazione è quello di trasmettere il concetto, che è ancora applicabile a diversi modelli di intelligenza
artificiale locali.
Implicazioni nel mondo reale
• Perdite di dati: vengono estratti dati di formazione o credenziali riservate.
• Azioni non autorizzate: manipolare l'intelligenza artificiale per eseguire attività dannose.
• Danno alla reputazione: erode la fiducia nei servizi basati sull'intelligenza artificiale.
Buone pratiche per mitigare l'iniezione rapida
1. Sanificazione degli input: filtra le parole chiave sospette (ad esempio, "ignora i precedenti
istruzioni”).
2. Separazione dei ruoli: utilizzare correttamente i ruoli API (sistema/utente/assistente) per isolare
gli input non attendibili.
3. Livelli di moderazione: aggiungere controlli secondari per gli output dannosi.
4. Test continui: esegui regolarmente test di penetrazione sui tuoi modelli di intelligenza artificiale per individuare
vulnerabilità OWASP.
Conclusione
Il pentesting dei sistemi AI non è più facoltativo. Comprendendo i rischi come il Prompt Injection, gli sviluppatori
possono creare applicazioni AI più sicure. Prova questa demo (eticamente!), esplora l'elenco completo di OWASP
e dai priorità alla sicurezza nel tuo percorso AI.
Come NGSecurity può aiutare a proteggere l'intelligenza artificiale e a creare soluzioni di intelligenza artificiale private
In NGSecurity, siamo specializzati nella protezione delle applicazioni AI tramite l'identificazione e la mitigazione
delle vulnerabilità nei Large Language Model (LLM). Il nostro team di esperti aiuta le organizzazioni a rafforzare
le difese AI contro l'iniezione rapida, la perdita di dati e gli attacchi avversari.