Quali sono i principali 10 rischi OWASP per gli LLM?

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.

Obiettivi di apprendimento

Dopo aver letto questo articolo sarai in grado di:

  • Capire cos'è OWASP
  • Riepilogare ogni minaccia OWASP Top 10 per gli LLM
  • Scoprire come risolvere le vulnerabilità degli LLM

Argomenti correlati


Vuoi saperne di più?

Abbonati a theNET, il riepilogo mensile di Cloudflare sulle tematiche più discusse in Internet.

Fai riferimento all'Informativa sulla privacy di Cloudflare per scoprire come raccogliamo ed elaboriamo i tuoi dati personali.

Copia link dell'articolo

Cos'è OWASP?

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:

1. Prompt injection

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:

  • Il prompt injection diretto (detto anche "jailbreaking") è il processo di sovrascrittura del prompt di sistema, che fornisce istruzioni all'LLM su come rispondere all'input dell'utente. Attraverso questa tattica, l'aggressore potrebbe essere in grado di accedere e sfruttare i sistemi di backend.
  • Il prompt injection indiretto si verifica quando un aggressore controlla siti Web esterni, file o altre origini esterne utilizzati come input per l'LLM. L'aggressore potrebbe quindi sfruttare i sistemi a cui l'LLM ha accesso oppure utilizzare il modello per manipolare l'utente.

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.

2. Gestione non sicura dell'output

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.

Risorsa
Un sondaggio dimostra che la modernizzazione delle applicazioni rende il ROI dell'IA 3 volte più probabile

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.

3. Data poisoning dell'addestramento

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.

4. Modello Denial of Service

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.

5. Vulnerabilità della supply chain

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.

6. Divulgazione di informazioni sensibili

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.

7. Progettazione di plug-in non sicuri

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.

8. Eccessiva ingerenza

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.

9. Eccessiva dipendenza

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.

10. Furto di modelli

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 possono le organizzazioni proteggere gli LLM?

Come suggerisce il documento OWASP, le organizzazioni hanno bisogno di una strategia multiforme per proteggere le applicazioni LLM dalle minacce. Ad esempio, dovrebbero:

  • Analizzare il traffico di rete per individuare schemi che potrebbero indicare una compromissione di un LLM, il che a sua volta potrebbe compromettere le applicazioni.
  • Stabilire una visibilità in tempo reale sui pacchetti e sui dati che interagiscono con i modelli LLM a livello di bit.
  • Applicare la prevenzione della perdita di dati (DLP) per proteggere i dati sensibili in transito.
  • Verificare, filtrare e isolare il traffico per proteggere le applicazioni da LLM compromessi.
  • Utilizzare il Browser Isolation remoto per proteggere gli utenti da modelli con codice dannoso iniettato.
  • Utilizzare set di regole gestiti da Web Application Firewall (WAF)per bloccare attacchi LLM basati su SQL injection, XSS e altri vettori di attacco Web.
  • Utilizzare un modello di sicurezza Zero Trust per ridurre la superficie d'attacco garantendo solo gli accessi in base al contesto e con privilegio minimo per ogni risorsa.

In che modo Cloudflare contribuisce a ridurre i rischi degli LLM?

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.

DOMANDE FREQUENTI

Quali sono i 10 principali rischi per i modelli linguistici di grandi dimensioni (LLM) secondo l'Open Web Application Security Project (OWASP)?

Le vulnerabilità che OWASP evidenzia nel suo report Top 10 per LLM includono:

  1. Prompt injection
  2. Gestione non sicura dell'output
  3. Data poisoning dell'addestramento
  4. Modello Denial of Service
  5. Vulnerabilità della supply chain
  6. Divulgazione di informazioni sensibili
  7. Progettazione di plug-in non sicuri
  8. Eccessiva ingerenza
  9. Eccessiva dipendenza
  10. Furto di modelli

In che modo le vulnerabilità di sicurezza degli LLM differiscono dalle vulnerabilità delle applicazioni tradizionali?

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.

Cos'è il prompt injection?

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.

Quali sono le principali preoccupazioni in materia di governance per le applicazioni LLM?

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.

Quali strategie sono più efficaci per proteggere gli LLM nelle organizzazioni?

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.