Cos'è il data poisoning dell'IA?

Il data poisoning dell'IA è un tentativo deliberato di introdurre distorsioni nei dati di addestramento di un modello IA in modo che i suoi output siano distorti.

Obiettivi di apprendimento

Dopo aver letto questo articolo sarai in grado di:

  • Spiegare come funziona un attacco di data poisoning dell'IA
  • Descrivere i tipi di attacchi di data poisoning dell'IA e degli LLM
  • Elencare i metodi di prevenzione del data poisoning

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

Riepilogo dell'articolo:

  • Il data poisoning consiste nell'inserire informazioni dannose nei set di dati di addestramento per manipolare il comportamento di un modello di intelligenza artificiale, compromettendone l'accuratezza, l'affidabilità e l'integrità complessiva dei risultati del machine learning.
  • Gli aggressori utilizzano il data poisoning dell'IA per creare backdoor o distorcere gli output, consentendo loro di aggirare i filtri di sicurezza o di indurre il sistema a fare previsioni specifiche ed errate.
  • Proteggersi dal data poisoning richiede una rigorosa pulizia dei dati, la verifica delle fonti di addestramento e l'implementazione di un monitoraggio continuo per rilevare e neutralizzare gli input avversari prima che danneggino il modello.

Cos'è il data poisoning dell'IA?

Il data poisoning dell'intelligenza artificiale (IA) si verifica quando un utente malintenzionato manipola gli output di un modello di IA o di machine learning alterandone i dati di addestramento. L'obiettivo di un aggressore in un attacco di data poisoning all'IA è indurre il modello a produrre risultati distorti o pericolosi durante l'inferenza.

I modelli di intelligenza artificiale e machine learning* hanno due ingredienti principali: dati di addestramento e algoritmi. Pensa a un algoritmo come al motore di un'auto e ai dati di addestramento come alla benzina che alimenta il motore: i dati fanno funzionare un modello di intelligenza artificiale. Un attacco di data poisoning è come se qualcuno aggiungesse un ingrediente extra alla benzina, che fa funzionare male l'auto.

Le potenziali conseguenze del data poisoning dell'IA sono diventate più gravi man mano che sempre più aziende e persone iniziano a fare affidamento sull'IA nelle loro attività quotidiane. Un attacco di data poisoning all'IA riuscito può alterare permanentemente l'output di un modello in modo da favorire l'autore dell'attacco.

Il data poisoning dell'IA è particolarmente preoccupante per i modelli linguistici di grandi dimensioni (LLM). Il data poisoning è elencato nella Top 10 OWASP per gli LLM e negli ultimi anni i ricercatori hanno avvertito delle vulnerabilità del data poisoning che interessano l'assistenza sanitaria, la generazione di codice e i modelli di generazione di testo.

*"Machine learning" e "intelligenza artificiale" sono talvolta usati in modo intercambiabile, sebbene i due termini si riferiscano a insiemi leggermente diversi di capacità computazionali. Tuttavia, il machine learning è un tipo di IA.

Come funziona un attacco di data poisoning?

Gli sviluppatori di intelligenza artificiale utilizzano grandi quantità di dati per addestrare i propri modelli. In sostanza, il set di dati di addestramento fornisce esempi ai modelli, e i modelli imparano quindi a generalizzare da tali esempi. Quanti più esempi ci sono nel set di dati, tanto più il modello diventa preciso e accurato, purché i dati siano corretti e relativamente imparziali.

Il data poisoning introduce intenzionalmente una distorsione nel set di dati di addestramento, modificando il punto di partenza degli algoritmi del modello in modo che i suoi risultati differiscano da quanto originariamente previsto dagli sviluppatori.

Immagina che un insegnante scriva un problema di matematica su una lavagna affinché i suoi studenti lo risolvano. Ad esempio: "47 * (18 + 5) = ?". La risposta è 1.081. Ma se uno studente si intrufola alle sue spalle e cambia "47" in "46", la risposta non è più 1.081, ma 1.058. Gli attacchi di data poisoning sono come quello studente subdolo: se i dati di partenza cambiano leggermente, anche la risposta cambia.

Come si verificano gli attacchi di data poisoning dell'IA?

Le alterazioni non autorizzate dei dati di addestramento possono provenire da diverse fonti.

Attacco dall'interno: qualcuno con accesso legittimo ai dati di addestramento può introdurre distorsioni, dati falsi o altre alterazioni che danneggiano gli output. Questi attacchi sono più difficili da rilevare e bloccare rispetto agli attacchi di terze parti esterne che non hanno accesso autorizzato ai dati.

Attacco alla supply chain: la maggior parte dei modelli di intelligenza artificiale e machine learning si basa su set di dati provenienti da una varietà di fonti per addestrare i propri modelli. Una o più di queste fonti potrebbero contenere dati "danneggiati" che influiscono su qualsiasi modello che utilizza tali dati per l'addestramento e la messa a punto dei modelli.

Accesso non autorizzato: esistono diversi modi in cui un utente malintenzionato può ottenere l'accesso a un set di dati di addestramento, dall'utilizzo dello spostamento laterale tramite una precedente compromissione, all'ottenimento delle credenziali di uno sviluppatore tramite phishing, fino a molteplici potenziali attacchi intermedi.

Quali sono le due principali categorie di attacchi di data poisoning?

  • Attacchi diretti (o mirati): questi attacchi mirano a distorcere o alterare l'output di un modello solo in risposta a specifiche query o azioni. Un attacco di questo tipo lascerebbe un modello altrimenti inalterato, fornendo le risposte previste alla maggior parte delle query. Ad esempio, un utente malintenzionato potrebbe voler indurre un filtro di sicurezza e-mail basato sull'intelligenza artificiale a consentire il passaggio di determinati URL dannosi, pur continuando a funzionare come previsto.
  • Attacchi indiretti (o non mirati): questi attacchi mirano a influenzare le prestazioni di un modello in generale. Un attacco indiretto può mirare semplicemente a rallentare le prestazioni del modello nel suo insieme oppure a influenzarlo per fornire particolari tipi di risposte. Ad esempio, un avversario straniero potrebbe voler influenzare i modelli LLM di uso generale per diffondere disinformazione all'interno di un determinato paese a scopo di propaganda.

Quali sono i tipi di attacchi di data poisoning dell'IA?

Esistono diversi modi in cui un aggressore può compromettere i dati di un modello di intelligenza artificiale per i propri scopi. Alcune delle tecniche più importanti da conoscere includono:

  • Avvelenamento da backdoor: questo attacco introduce una vulnerabilità nascosta nel modello, in modo che, in risposta a determinati trigger specifici noti all'autore dell'attacco, si comporti in modo non sicuro. L'avvelenamento da backdoor è particolarmente pericoloso perché un modello di IA con una backdoor nascosta si comporterebbe altrimenti normalmente.
  • Etichettatura errata: un utente malintenzionato può modificare l'etichettatura dei dati all'interno del set di dati di addestramento di un modello, inducendolo a identificare erroneamente gli elementi dopo l'addestramento.
  • Iniezione e manipolazione dei dati: un attacco di questo tipo altera, aggiunge o rimuove dati da un set di dati. Questi attacchi mirano a rendere il modello di IA distorto in una certa direzione.
  • Attacco di disponibilità: questo attacco mira a rallentare o bloccare il modello tramite l'iniezione di dati che ne peggiorano le prestazioni complessive.

Come impedire il data poisoning

Convalida dei dati: prima dell'addestramento, i set di dati devono essere analizzati per identificare dati dannosi, sospetti o anomali.

Principio del privilegio minimo: in altre parole, solo le persone e i sistemi che hanno assolutamente bisogno di accedere ai dati di addestramento dovrebbero averli. Il principio del privilegio minimo è un principio fondamentale dell'approccio Zero Trust alla sicurezza, che può aiutare a prevenire lo spostamento laterale e la compromissione delle credenziali.

Origini dati diversificate: l'utilizzo di una gamma più ampia di origini dati può contribuire a ridurre l'impatto della distorsione in un determinato set di dati.

Monitoraggio e audit: il tracciamento e la registrazione di chi ha modificato i dati di addestramento, cosa è stato modificato e quando è stato modificato, consentono agli sviluppatori di identificare schemi sospetti o di tracciare l'attività di un utente malintenzionato dopo che il set di dati è stato compromesso.

Addestramento avversario: questo implica l'addestramento di un modello di intelligenza artificiale per riconoscere input intenzionalmente fuorvianti.

Anche altre misure di difesa delle applicazioni, come i firewall, possono essere applicate ai modelli di intelligenza artificiale. Per prevenire il data poisoning e altri attacchi, Cloudflare offre AI Security for Apps, che può essere implementato a monte dei LLM per identificare e bloccare gli abusi prima che li raggiungano. Scopri di più su AI Security for Apps.

DOMANDE FREQUENTI

Cos'è il data poisoning dell'IA?

Il data poisoning dell'intelligenza artificiale è un tentativo deliberato di alterare i dati di addestramento di un modello IA affinché produca risultati pericolosi o inaccurati. Qualcuno potrebbe, ad esempio, alterare i dati di un modello IA in modo che menta o inganni i suoi utenti. Il data poisoning dell'intelligenza artificiale è di particolare preoccupazione per i Large Language Model (LLM), quindi è importante che gli sviluppatori di intelligenza artificiale salvaguardino e verifichino attentamente i loro dati di addestramento.

In che modo il data poisoning influisce sui modelli di IA?

Introducendo lievi modifiche ai dati di addestramento, un utente malintenzionato può alterare in modo significativo gli output di un modello di intelligenza artificiale, proprio come un problema matematico può portare a una risposta diversa se i valori iniziali cambiano (ad esempio, "3 + 3 = 6" contro "3 + 4 = 7"). Un modello con data poisoning, quindi, funzionerà in modo diverso da come si aspettano i suoi sviluppatori e utenti e, probabilmente, fornirà risposte che avvantaggiano l'aggressore o mettono a rischio gli utenti.

Quali sono i principali tipi di attacchi di data poisoning dell'IA?

I principali metodi di attacco di data poisoning includono: avvelenamento da backdoor, etichettatura errata, iniezione di dati, manipolazione dei dati e attacchi di disponibilità. Ogni tipo di attacco di data poisoning è volto a influenzare o compromettere le prestazioni dei modelli di IA.

Quali sono i vettori di attacco comuni per il data poisoning dell'IA?

Gli autori degli attacchi possono sfruttare l'accesso interno, attacchi alla supply chain tramite dati esterni compromessi, oppure l'accesso non autorizzato per manipolare o danneggiare i set di dati di addestramento.

Quali sono le potenziali conseguenze del data poisoning?

Il data poisoning può alterare permanentemente l'output di un modello per favorire l'aggressore. Può indurre un modello a generare propaganda o incitamento all'odio, fornire raccomandazioni imprecise, fornire dati errati o promuovere il download di malware.

Quali sono alcuni modi per prevenire il data poisoning dell'IA?

Per prevenire il data poisoning dell'IA, proteggere le raccolte di dati di addestramento da alterazioni non autorizzate è cruciale. I metodi di prevenzione includono la convalida dei dati, l'applicazione del principio del privilegio minimo, l'uso di diverse origini dati, il monitoraggio e l'audit delle modifiche ai dati e l'uso dell'addestramento avversario per far sì che i modelli riconoscano input fuorvianti.