Protezione delle soluzioni di AI generativa

 Un diagramma di flusso con varie forme e simboli, tra cui una bolla blu, un punto interrogativo e un segno di spunta
Informazioni generali

I sistemi di AI generativa presentano una serie di sfide di sicurezza uniche. Oltre alla tipica sfida di garantire l'accesso ai modelli di AI generativa, le organizzazioni devono bilanciare il potere creativo dei modelli linguistici di grandi dimensioni (LLM) e di altre tecnologie generative con il rischio che i modelli generino output errati o indesiderati, divulghino informazioni sensibili o private o eseguano azioni indesiderate o errate/non consentite/illegali.

La top 10 di OWASP per LLM e app di AI generativa

L'Open Web Application Security Project, OWASP, ha pubblicato la versione 1 dei principali 10 rischi e vulnerabilità per LLM e applicazioni di AI generativa. Il diagramma qui sotto illustra queste vulnerabilità nel contesto di un'architettura di agentic AI.

 

Una mappatura delle principali 10 minacce di AI generativa dell'OWASP per un'architettura di agentic AI.
  1. L'iniezione di prompt si verifica quando un aggressore è in grado di inserire contenuti dannosi nei prompt di un LLM. I contenuti possono variare da prompt/istruzioni incorporate in un prompt più ampio, collegamenti ipertestuali a contenuti che saranno letti dal LLM (ad esempio, "Leggi e analizza il testo al seguente URL..") o altri mezzi. L'iniezione di prompt può consentire a un aggressore di manipolare il modello in modo che ignori le istruzioni e/o fornisca output indesiderati o errati.

  2. La gestione non sicura degli output si verifica quando gli output di un LLM non sono sufficientemente convalidati per individuare potenziali o intenti malevoli. Esempi di questo tipo di vulnerabilità sono un LLM a cui viene chiesto di generare un codice Javascript che viene passato al browser dell'utente per l'esecuzione, e l'esecuzione diretta di script shell o altri codici di "sistema" generati da un LLM.

  3. L'avvelenamento dei dati di addestramento si verifica quando un aggressore è in grado di modificare o manipolare i dati di addestramento e/o di configurazione di un modello per introdurre vulnerabilità in un modello. Ad esempio, un utente malintenzionato potrebbe modificare la descrizione di un processo aziendale per consentire trasferimenti illimitati di denaro a un individuo specifico; oppure un concorrente potrebbe modificare i dati di fine-tuning in modo che il modello consigli i suoi prodotti rispetto a quelli dell'azienda.

  4. Il denial-of-service del modello si verifica quando un aggressore riesce a manipolare un modello per consumare una grande quantità di risorse, causando scarse prestazioni o la mancanza di disponibilità del modello per altri utenti. Esempi di denial-of-service del modello includono l'invio ripetuto di prompt appena al di sotto della dimensione della finestra contestuale del modello, consumando grandi quantità di memoria; e inviare prompt che inducono il modello ad espandere ed elaborare ricorsivamente la finestra di contesto (un ciclo infinito).

  5. Le vulnerabilità della catena di approvvigionamento sono sia le tipiche vulnerabilità associate all'uso di software di terze parti che possono avere vulnerabilità sconosciute che possono essere sfruttate da un aggressore, sia vulnerabilità create da modelli che utilizzano dati non verificati e/o crowd-sourced nel loro processo di addestramento.

  6. La divulgazione di informazioni sensibili si verifica quando un modello divulga informazioni sensibili o personali. Questo può avvenire come conseguenza di un attacco di iniezione di prompt riuscito, tramite una gestione non sicura degli output del sistema aziendale, o tramite prompt dannosi che manipolano il modello a produrre output sensibili, ad esempio numeri di carta di credito validi.

  7. La progettazione non sicura dei plugin si verifica quando gli strumenti chiamati direttamente dai modelli non sono progettati in modo sicuro; ad esempio strumenti in esecuzione come utente amministrativo, o strumenti che consentono l'iniezione di prompt attraverso i loro output.

  8. L'eccessivo libero arbitrio si verifica quando un modello o un agente autonomo ha la capacità di eseguire azioni dannose o non autorizzate in risposta a risultati imprevisti o ambigui di un LLM.

  9. L'eccessiva dipendenza si verifica quando la correttezza dell'output di un modello non viene verificata rispetto a fonti fattuali o controlli procedurali. L'esempio più comune di dipendenza eccessiva è quando un modello ha allucinazioni e l'output errato viene accettato come fattuale, come un chatbot che fornisce una risposta errata a un cliente sulla politica di reso di un negozio. L'eccessiva dipendenza può verificarsi anche con codici o immagini generate dal modello.

  10. Il furto del modello si verifica quando un aggressore riesce a compromettere, rubare fisicamente o copiare un modello, i suoi pesi e/o i suoi parametri. Una volta in possesso di un modello, un aggressore può sfruttare la preziosa proprietà intellettuale incorporata nel modello, oppure creare un duplicato del modello per il proprio uso.
     
Protezione dei sistemi di AI generativa

La figura sottostante completa l'architettura per mostrare la posizione dei componenti di sicurezza per proteggere o mitigare le vulnerabilità nella top 10 di OWASP.

 

Diagramma dell'architettura di una soluzione di agentic AI che mostra il posizionamento dei controlli di sicurezza per proteggersi dalle minacce dell'AI.

Viene aggiunto un componente di gestione delle identità e degli accessi (IAM) per fornire identità e ruoli utente solidi; mitigare il rischio di furto dei modelli controllando l'accesso alle funzionalità e alle API dell'applicazione che potrebbero portare al furto o alla divulgazione del modello.

L'identificazione e il controllo degli accessi dell'agente (Agent Access Control), che funzionano in modo simile all'utente privilegiato, vengono aggiunti per abbinare i diritti di accesso dell'agente alle identità e ai ruoli dell'utente; proteggendo da azioni eccessive dell'agente e da azioni anomale dell'agente dovute ad allucinazioni o a prompt mal formulati o ambigui.

I componenti di monitoraggio dell'AI generativa (GenAI Monitoring) vengono aggiunti in tutta l'architettura per proteggere contro l'iniezione dei prompt, la gestione non sicura dell'output, la divulgazione dei dati sensibili e l'eccessiva dipendenza. Una combinazione di monitoraggio gen AI e monitoraggio tradizionale della perdita di dati viene implementata per proteggere da attacchi basati su prompt/risposte, ad esempio un prompt inserito nei risultati di una query SQL, così come la divulgazione di informazioni sensibili che possono comparire nei risultati di chiamate API, query di database e simili.

Gli attacchi di avvelenamento dei dati di addestramento sono mitigati dall'aggiunta di strumenti di gestione della configurazione e monitoraggio, oltre a un processo strutturato di controllo delle versioni e rilascio dell'addestramento del modello, messa a punto e dati di configurazione.

Infine, viene aggiunto un componente integrato di monitoraggio del comportamento e correlazione degli eventi per identificare potenziali vulnerabilità e attacchi dai registri dei singoli componenti. Viene aggiunto un componente di notifica e avviso per avvisare gli operatori di sistema di potenziali problemi, e un componente di orchestrazione delle risposte per automatizzare e/o coordinare le risposte manuali e di sistema ai problemi identificati.

Prossimi passi

Parla con i nostri esperti su come accelerare l’adozione dell’AI generativa.

Collaboratori

Chris Kirby, Wissam Dib, Manav Gupta


Data di aggiornamento: 31 gennaio 2025