Le applicazioni dei modelli linguistici di grandi dimensioni (LLM) sono vulnerabili al prompt injection, al data poisoning, al denial of service del modello e a ulteriori attacchi.
Dopo aver letto questo articolo sarai in grado di:
Argomenti correlati
Prompt injection
Data poisoning dell'IA
Cos'è l'intelligenza artificiale (IA)?
Cos'è un LLM?
Cos'è l'IA generativa?
Abbonati a theNET, il riepilogo mensile di Cloudflare sulle tematiche più discusse in Internet.
Copia link dell'articolo
Open Web Application Security Project (OWASP) è un'organizzazione internazionale senza scopo di lucro che ha come missione principale la sicurezza delle applicazioni Web. OWASP si impegna ad aiutare altre organizzazioni a migliorare la sicurezza delle proprie applicazioni Web fornendo una serie di informazioni gratuite attraverso documenti, strumenti, video, conferenze e forum.
Il report OWASP Top 10 evidenzia i 10 rischi più critici per la sicurezza delle applicazioni, secondo gli esperti di sicurezza. OWASP raccomanda a tutte le organizzazioni di integrare le informazioni contenute in questo report nella propria strategia di sicurezza delle applicazioni Web.
Nel 2023, un gruppo di lavoro OWASP ha lanciato un nuovo progetto per creare un report simile incentrato sulle minacce alle applicazioni di modelli linguistici di grandi dimensioni (LLM). La OWASP Top 10 per le applicazioni di modelli linguistici di grandi dimensioni identifica le minacce, fornisce esempi di vulnerabilità e scenari di attacco reali e offre strategie di mitigazione. OWASP si augura di sensibilizzare sviluppatori, designer, architetti e manager, aiutandoli al contempo a difendersi dalle minacce.
Di seguito sono elencate le vulnerabilità evidenziate nel report OWASP Top 10 per le applicazioni LLM di ottobre 2023:
Il prompt injection è una tattica in cui i malintenzionati manipolano i prompt utilizzati per un LLM. Tali malintenzionati potrebbero avere intenzione di rubare informazioni sensibili, influenzare i processi decisionali guidati dall'LLM oppure utilizzare l'LLM in un attacco di social engineering.
Gli autori degli attacchi potrebbero manipolare i prompt in due modi:
Esistono diversi modi per prevenire i danni causati da attacchi di prompt injection. Ad esempio, le organizzazioni possono implementare policy di controllo degli accessi efficaci per i sistemi backend, integrare le persone nei processi guidati da LLM e garantire che le persone abbiano l'ultima parola sulle decisioni basate su LLM.
Quando le organizzazioni non esaminano attentamente gli output LLM, qualsiasi output generato da utenti malintenzionati potrebbe causare problemi ai sistemi a valle. Lo sfruttamento di una gestione dell'output non sicura potrebbe causare attacchi di cross-site scripting (XSS), cross-site request forgery (CSRF), server-side request forgery (SSRF), remote code execution (RCE) e altri tipi di attacchi. Ad esempio, un utente malintenzionato potrebbe indurre un LLM a generare uno script dannoso che viene interpretato da un browser, causando un attacco XSS.
Le organizzazioni possono impedire la gestione non sicura dell'output applicando un modello di sicurezza Zero Trust e trattando l'LLM come qualsiasi utente o dispositivo. Convaliderebbero qualsiasi output dall'LLM prima di consentire che guidino altre funzioni.
Gli autori degli attacchi potrebbero tentare di manipolare, o “avvelenare”, i dati utilizzati per addestrare un modello LLM. Il data poisoning (o avvelenamento dei dati) può compromettere la capacità del modello di fornire risultati accurati o supportare il processo decisionale basato sull'intelligenza artificiale. Questo tipo di attacco potrebbe essere lanciato da concorrenti con intenti malevoli che desiderano danneggiare la reputazione dell'organizzazione che utilizza il modello.
Per ridurre la probabilità di data poisoning, le organizzazioni devono proteggere la supply chain dei dati. Come parte di questo lavoro, devono verificare la legittimità delle origini dati, inclusi eventuali componenti di big data utilizzati per la modellazione. Devono anche impedire al modello di eseguire lo scraping dei dati da origini non attendibili e bonificare i dati.
Analogamente a un attacco DDoS, gli aggressori potrebbero eseguire operazioni ad alto consumo di risorse utilizzando un LLM nel tentativo di degradare la qualità del servizio, aumentare i costi o interrompere in altro modo le operazioni. Questo tipo di attacco potrebbe passare inosservato poiché gli LLM consumano spesso grandi quantità di risorse e il fabbisogno di risorse può variare a seconda degli input dell'utente.
Per evitare questo tipo di attacco denial-of-service, le organizzazioni possono imporre limiti di frequenza delle API per singoli utenti o indirizzi IP. Possono anche convalidare e sanitizzare gli input. Inoltre, dovrebbero monitorare continuamente l'utilizzo delle risorse per identificare eventuali picchi sospetti.
Le vulnerabilità nella supply chain per le applicazioni LLM possono esporre i modelli a rischi per la sicurezza o produrre risultati inaccurati. Diversi componenti utilizzati per le applicazioni LLM, tra cui modelli pre-addestrati, i dati utilizzati per addestrare i modelli, set di dati di terze parti e plugin, possono gettare le basi per un attacco o causare altri problemi con il funzionamento dell'applicazione LLM.
Per affrontare le vulnerabilità della supply chain, è necessario innanzitutto esaminare attentamente i fornitori e accertarsi che dispongano di misure di sicurezza adeguate. Le organizzazioni dovrebbero anche mantenere un inventario aggiornato dei componenti ed esaminare attentamente i dati e i modelli forniti.
Le applicazioni LLM potrebbero rivelare inavvertitamente dati riservati nelle risposte, tra cui informazioni sensibili dei clienti e proprietà intellettuale. Questi tipi di divulgazioni potrebbero costituire violazioni della conformità o causare violazioni della sicurezza.
Gli interventi di mitigazione dovrebbero concentrarsi innanzitutto sulla prevenzione dell'inserimento di informazioni riservate e input dannosi nei modelli di addestramento. La sanificazione e la pulizia dei dati sono essenziali per questi sforzi.
Poiché la creazione di LLM potrebbe comportare trasferimenti di dati transfrontalieri, le organizzazioni dovrebbero anche implementare controlli automatizzati di localizzazione dei dati che mantengano determinati dati sensibili in regioni specifiche. Possono consentire l'incorporazione di altri dati nei modelli LLM.
I plug-in LLM possono migliorare la funzionalità del modello e facilitare l'integrazione con servizi di terze parti. Tuttavia, alcuni plug-in potrebbero non disporre di controlli di accesso sufficienti, offrendo agli autori degli attacchi l'opportunità di iniettare input dannosi. Tali input potrebbero abilitare RCE o un altro tipo di attacco.
Prevenire lo sfruttamento dei plug-in richiede una progettazione dei plug-in più sicura. I plug-in devono controllare gli input ed eseguire verifiche, assicurandosi che nessun codice dannoso venga eseguito. Inoltre, i plug-in dovrebbero implementare controlli di autenticazione basati sul principio del privilegio minimo.
Gli sviluppatori spesso attribuiscono alle applicazioni LLM un certo grado di autonomia: la capacità di intraprendere azioni automaticamente in risposta a un prompt. Dare alle applicazioni troppa libertà d'azione, tuttavia, può causare problemi. Se un LLM produce output imprevisti (a causa di un attacco, un'allucinazione dell'IA o un altro errore), l'applicazione potrebbe intraprendere azioni potenzialmente dannose, ad esempio divulgare informazioni sensibili o eliminare file.
Il modo migliore per prevenire un'eccessiva autonomia è che gli sviluppatori limitino le funzionalità, le autorizzazioni e l'autonomia di plug-in e altri strumenti ai livelli minimi necessari. Le organizzazioni che eseguono applicazioni LLM con plug-in possono anche richiedere agli esseri umani di autorizzare determinate azioni prima che vengano eseguite.
Gli LLM non sono perfetti. Occasionalmente, possono produrre risultati fattualmente non corretti, allucinazioni dell'IA o risultati distorti, anche se potrebbero fornire tali risultati in modo autorevole. Quando le organizzazioni o gli individui fanno eccessivo affidamento sugli LLM, possono diffondere informazioni errate che portano a violazioni normative, esposizione a rischi legali e danni alla reputazione.
Per evitare i problemi di eccessiva dipendenza, le organizzazioni dovrebbero implementare policy di supervisione per i modelli LLM. Inoltre, dovrebbero rivedere regolarmente i risultati e confrontarli con le informazioni provenienti da altre fonti esterne affidabili per confermarne l'accuratezza.
Gli autori di attacchi potrebbero provare ad accedere, copiare o rubare modelli LLM proprietari. Questi attacchi potrebbero causare la riduzione del vantaggio competitivo di un'azienda o la perdita di informazioni sensibili all'interno del modello.
L'applicazione di controlli di accesso rigorosi, tra cui funzionalità di controllo degli accessi basati sui ruoli (RBAC), può aiutare a prevenire l'accesso non autorizzato ai modelli LLM. Le organizzazioni dovrebbero inoltre monitorare regolarmente i log di accesso e rispondere a qualsiasi comportamento non autorizzato. Le funzionalità di prevenzione della perdita dei dati (DLP) possono aiutare a individuare i tentativi di esfiltrare informazioni dall'applicazione.
Come suggerisce il documento OWASP, le organizzazioni hanno bisogno di una strategia multiforme per proteggere le applicazioni LLM dalle minacce. Ad esempio, dovrebbero:
Per aiutare le organizzazioni ad affrontare i rischi che minacciano le applicazioni LLM, Cloudflare offre AI Security for Apps: una soluzione di sicurezza avanzata progettata specificamente per le applicazioni LLM. Le organizzazioni possono implementare AI Security for Apps a monte degli LLM per rilevare vulnerabilità e identificare abusi prima che raggiungano i modelli. Sfruttando l'ampia rete globale di Cloudflare, opera in prossimità degli utenti per individuare tempestivamente gli attacchi e proteggere sia gli utenti che i modelli.
Inoltre, Cloudflare AI Gateway fornisce una piattaforma IA operativa per la gestione e il dimensionamento dei carichi di lavoro di IA generativa da un'interfaccia unificata. Questa soluzione funziona da proxy tra il servizio di un'organizzazione e il suo provider di interfaccia, aiutando l'organizzazione a monitorare e controllare le applicazioni di intelligenza artificiale.
Per un'analisi più approfondita della Top 10 OWASP per gli LLM, consulta il report ufficiale.
Le vulnerabilità che OWASP evidenzia nel suo report Top 10 per LLM includono:
Le vulnerabilità di sicurezza degli LLM implicano vettori di attacco unici, mirati specificamente alle capacità di ragionamento ed elaborazione del modello linguistico. Le applicazioni tradizionali sono esposte a minacce quali SQL injection o cross-site scripting (XSS), mentre i modelli LLM sono esposti a nuove minacce quali prompt injection, attacchi denial-of-service e manipolazione delle allucinazioni.
Il prompt injection si verifica quando un utente malintenzionato manipola un LLM inserendo input dannosi che sostituiscono le istruzioni originali. Questi attacchi possono causare il furto di dati, la manipolazione del sistema e l'esposizione di informazioni sensibili.
I timori relativi alla governance degli LLM includono garantire un'adeguata supervisione dei modelli, gestire la privacy dei dati e implementare passi di IA responsabile. Solidi framework di governance aiutano le organizzazioni a mantenere la conformità mentre mitigano i rischi relativi a output distorti, violazioni della proprietà intellettuale e responsabilità a valle.
Per proteggere le applicazioni LLM, le organizzazioni devono adottare un approccio di sicurezza a più livelli che includa il monitoraggio del traffico per individuare minacce, garantire la visibilità dei dati, applicare la prevenzione della perdita di dati (DLP), filtrare e isolare le attività rischiose, utilizzare i Web Application Firewall (WAF) per bloccare gli attacchi comuni e adottare un modello di sicurezza Zero Trust con accesso a privilegi minimi.