Il data poisoning è una tecnica che avvelena i dataset dei modelli IA con dati manipolati, compromettendone l’affidabilità e la sicurezza.
Negli ultimi anni l’intelligenza artificiale ha rivoluzionato il settore informatico, venendo integrata nei processi aziendali e semplificando così numerose attività. Tuttavia, ciò che spesso si sottovaluta è che anche i sistemi di IA possono essere vulnerabili agli attacchi informatici, in particolare a quelli noti come attacchi adversarial AI, progettati per compromettere il funzionamento dei modelli.

Tra le tecniche più adottate figura il data poisoning, la manipolazione deliberata dei dati di addestramento tramite l’inserimento di campioni corrotti all’interno dei training set. Si tratta di un attacco insidioso che influenza il comportamento del modello, generando così output errati, decisioni fuorvianti e malfunzionamenti nei servizi che si basano sull’IA. Le conseguenze possono essere disastrose per i settori critici in cui è impiegata l’IA, come sanità e automotive.
In questo articolo analizzeremo nel dettaglio cos’è il data poisoning, quali sono le principali modalità di attacco, quali rischi comporta e come difendersi in modo efficace.
Cos’è il data poisoning e come funziona
Il data poisoning ha come obiettivo principale quello di compromettere il comportamento dei sistemi di intelligenza artificiale alterando i dati di addestramento. Manipolando questi dati, gli aggressori possono influenzare in modo subdolo l’output del modello, spesso senza lasciare tracce evidenti. L’attacco può essere condotto in diversi modi:
- Iniettando dati falsi o fuorvianti all’interno del dataset;
- Modificando campioni esistenti, alterandone etichette o contenuto;
- Rimuovendo dati validi, riducendo così la rappresentatività del dataset.
Generalmente, gli attacchi di data poisoning si possono classificare in due categorie distinte:
- Attacchi mirati (targeted attacks)
Gli attacchi mirati hanno come obiettivo la manipolazione del comportamento del modello in casi specifici, a vantaggio dell’attaccante. Ad esempio, si si può manipolare un sistema di rilevamento malware affinché classifichi un file malevolo come sicuro oppure trascuri determinati schemi fraudolenti. - Attacchi non mirati (untargeted attacks)
In questo caso, l’intento è compromettere le prestazioni complessive del modello, introducendo rumore (noise) o dati ingannevoli. Il risultato finale è una riduzione generalizzata della sua accuratezza, che rende il sistema instabile e inaffidabile nelle sue decisioni.
Le principali tecniche di data poisoning
Gli attacchi di data poisoning si classificano anche in base alla tecnica utilizzata. Le modalità di seguito presentate possono essere impiegate sia per attacchi mirati, sia per attacchi non mirati, a seconda degli obiettivi dell’aggressore. Le più comuni includono:
Label flipping
Consiste nell’alterazione delle etichette associate ai dati del training set. Ad esempio, un cybercriminale può etichettare i campioni positivi, come negativi e viceversa. La manomissione compromette la fase di apprendimento, che porta il modello a compiere classificazioni errate o imprevedibili.
Data injection
Questa tecnica prevede l’introduzione di dati falsificati o manipolati all’interno del dataset. L’obiettivo è condizionare il modello affinché produca risultati distorti o fuorvianti, generando bias sistemici che compromettono l’integrità dei risultati.
Backdoor poisoning
A differenza delle precedenti, questa è una tecnica più sofisticata, in quanto consiste nell’iniettare campioni di dati avvelenati con trigger invisibili. Il modello, addestrato su questi input, si comporta normalmente, ma quando riconosce un determinato trigger (come un watermark, un rumore audio, o un pattern grafico) attiva una risposta predefinita. In tal modo, l’attaccante può mantenere attiva una backdoor da sfruttare a piacimento in fase di inferenza.
Compromissione della disponibilità
Questa tecnica mira a rendere il modello instabile, o inaffidabile sin dal principio. I dati avvelenati sono usati per generare falsi positivi e falsi negativi, con cui provocare crash di sistema, degradare le prestazioni o rallentare drasticamente l’elaborazione. In questo modo, la continuità operativa del sistema AI-driven viene minata severamente, con ripercussioni anche in termini di reputazione aziendale.
Tattica stealth
Si tratta di una forma subdola di data poisoning, in cui l’attaccante inietta piccole porzioni di dati corrotti nel tempo. In questo modo può eludere i controlli di sicurezza e accumulare alterazioni nel modello. A lunga andare, la tattica stealth produce bias latenti e degrada l’accuratezza, risultando non solo molto difficile da individuare, ma ancor più da correggere.
Come riconoscere un attacco di data poisoning
Individuare un attacco di data poisoning non è immediato. Questo perché, come abbiamo potuto vedere, le alterazioni del dataset introdotte dagli aggressori passano inosservate per lunghi periodi. Tuttavia, esistono alcuni indicatori diretti che possono suggerire una compromissione del processo di addestramento, come:
- Degrado delle prestazioni del modello rispetto ai benchmark iniziali;
- Output anomali o incoerenti, anche in presenza di input validi;
- Aumento anomalo di falsi positivi o falsi negativi durante la fase di inferenza;
- Introduzione di bias sistematici nel comportamento del modello;
- Comportamenti imprevisti in codizioni specifiche, potenzialmente riconducibili a trigger nascosti;
- Violazioni di sicurezza a valle dell’adozione del modello in ambienti di produzione.
Come proteggersi dal data poisoning nei modelli IA
Abbiamo visto come il data poisoning possa causare gravi conseguenze sulle prestazioni dei modelli di intelligenza artificiale, con un impatto diretto su utenti e aziende. Per questo è necessario applicare alcune misure di sicurezza per prevenire questa minaccia. In particolare, si consiglia di:
- Validare i dati del proprio dataset.
Aziende e imprese dovrebbero eseguire regolarmente operazioni di validazione dei dati e tecniche di sanificazione per individuare e rimuovere informazioni anomale o sospette prima che vengano incorporate nel dataset. - Eseguire operazioni di monitoraggio e auditing.
I sistemi di intelligenza artificiale richiedono un monitoraggio costante per individuare e difendersi da potenziali rischi. Le aziende dovrebbero implementare soluzioni di intrusion detection ed endpoint protection. Inoltre, i modelli dovrebbero subire audit regolari per identificare più facilmente eventuali alterazioni nelle prestazioni o output indesiderati. - Utilizzare algoritmi di adversarial training.
Gli algoritmi di adversarial training aiutano a rinforzare i modelli, poiché insegnano loro a riconoscere e neutralizzare gli input malevoli. - Verificare la provenienza dei dati.
Le aziende dovrebbero avere un record dettagliato di tutte le fonti dei dati, aggiornamenti, modifiche e richieste di accesso. Questo aiuta a rispondere in maniera più efficace a un tentativo di attacco e a individuare i responsabili. - Gestire i propri dati in modo sicuro.
È importante stabilire e rafforzare controlli di accesso chiari e robusti per chi ha accesso ai dati, specialmente quelli sensibili. Il principio del privilegio minimo aiuta. Le aziende dovrebbero anche applicare misure di sicurezza come cifratura, offuscazione e archiviazione sicura dei dati.
