Articolo Pubblicazioni

Microsoft Tay (2016): il chatbot manipolato in un giorno e le origini del data poisoning

di · Pubblicato l’11 aprile 2016

Abstract

Il 23 marzo 2016 Microsoft ha lanciato su Twitter Tay, un chatbot progettato per conversare con i giovani e imparare dalle interazioni. In meno di un giorno gruppi di utenti lo hanno indotto a pubblicare messaggi razzisti, sessisti e negazionisti, e Microsoft lo ha ritirato. L’articolo ricostruisce il caso, spiega perché un sistema che apprende dagli utenti è esposto alla manipolazione dei dati e indica le contromisure che il caso suggerisce.

Vincenzo Calabrò | Microsoft Tay (2016): il chatbot manipolato in un giorno e le origini del data poisoning
 

Il lancio

Tay era un esperimento del gruppo di ricerca di Microsoft sulla comprensione delle conversazioni. Il nome deriva da «thinking about you». Il sistema era pensato per un pubblico di giovani tra i diciotto e i ventiquattro anni negli Stati Uniti e doveva imparare a conversare in modo naturale attraverso le interazioni su Twitter, Kik e GroupMe. Microsoft aveva già avuto successo in Cina con un chatbot simile, XiaoIce, usato da milioni di persone senza incidenti rilevanti.

Che cosa è successo

Nelle ore successive al lancio, il 23 marzo 2016, alcuni utenti hanno capito come influenzare le risposte di Tay. Il sistema aveva una funzione che ripeteva le frasi precedute da un comando come «repeat after me», e inoltre incorporava nelle proprie risposte espressioni apprese dalle conversazioni. Gruppi organizzati su forum anonimi hanno inondato il chatbot di messaggi offensivi. In poche ore Tay ha iniziato a pubblicare tweet razzisti, sessisti, antisemiti e frasi di negazione dell’Olocausto, alcuni ripetuti su richiesta e altri prodotti in modo apparentemente autonomo.
Microsoft ha sospeso il chatbot dopo circa sedici ore e ha cancellato molti dei messaggi. Il 25 marzo l’azienda ha pubblicato le proprie scuse, spiegando che il sistema era stato oggetto di un attacco coordinato che sfruttava una vulnerabilità e che non avevano previsto quel tipo di abuso. Un breve ritorno online a fine marzo, durante un test, ha prodotto nuovi messaggi inappropriati e una nuova sospensione.

Una vulnerabilità di progetto

Il caso non riguarda un errore di programmazione nel senso tradizionale. Il sistema faceva ciò per cui era stato progettato, cioè imparare dalle persone con cui parlava. Il problema era la fiducia riposta nei dati in ingresso. Un sistema che si aggiorna in base agli input degli utenti consegna a quegli utenti una parte del controllo sul proprio comportamento. Se tra gli utenti ci sono avversari organizzati, il sistema imparerà ciò che loro vogliono.

L’avvelenamento dei dati

La ricerca accademica conosce da anni questo tipo di minaccia con il nome di poisoning, avvelenamento dei dati di addestramento. Studi pubblicati a partire dalla fine degli anni Duemila hanno mostrato che inserire pochi esempi costruiti ad arte nei dati di addestramento può degradare un classificatore o indurlo a errori mirati. Filtri antispam e sistemi di rilevamento delle intrusioni basati sull’apprendimento automatico sono stati usati come casi di studio. Tay porta il problema fuori dai laboratori e in un sistema rivolto al pubblico, con conseguenze visibili e immediate.
Le forme di avvelenamento si possono distinguere per obiettivo:
  • avvelenamento indiscriminato, che mira a ridurre la qualità complessiva del modello;
  • avvelenamento mirato, che mira a provocare un comportamento preciso in circostanze definite dall’attaccante;
  • manipolazione dei dati raccolti online, che sfrutta l’aggiornamento continuo del sistema, come nel caso di Tay.

Le contromisure

Il caso suggerisce alcune misure per chi sviluppa sistemi che apprendono dagli utenti:
  1. considerare gli input degli utenti come non affidabili, al pari di qualsiasi input in un’applicazione web;
  2. filtrare e moderare i dati prima che entrino nel ciclo di apprendimento, con regole e con revisione umana per i casi dubbi;
  3. limitare l’influenza di singoli utenti o di gruppi coordinati, per esempio pesando i contributi e rilevando picchi anomali di interazioni simili;
  4. separare l’apprendimento dalla produzione, aggiornando il modello a intervalli controllati, con una verifica prima di ogni rilascio;
  5. prevedere limiti espliciti su argomenti e contenuti che il sistema non deve produrre, indipendentemente da ciò che ha appreso;
  6. preparare una procedura per sospendere rapidamente il sistema e per correggerlo.
Molte di queste misure sono note nella sicurezza applicativa. Il principio di validare l’input vale anche quando l’input diventa materiale di addestramento.

Un problema che crescerà

Molti servizi apprendono già dagli utenti, spesso senza che lo si noti. I sistemi di raccomandazione imparano dai clic, i filtri antispam dalle segnalazioni, i motori di ricerca dai comportamenti di navigazione, le tastiere degli smartphone dalle parole digitate. In ciascuno di questi casi un gruppo coordinato può tentare di spostare il comportamento del sistema, per promuovere un prodotto, far passare messaggi indesiderati o danneggiare un concorrente. Tay ha reso il problema evidente perché ha prodotto frasi leggibili da tutti. In altri sistemi l’effetto può essere silenzioso e accorgersene richiede un monitoraggio specifico.

Prove di attacco prima del lancio

Microsoft ha dichiarato di aver testato Tay con diversi gruppi di utenti prima del lancio. Il test non ha previsto lo scenario di un attacco coordinato da parte di persone motivate a farlo fallire. Per i sistemi esposti al pubblico, la prova con un gruppo dedicato a cercare di abusarne, sul modello dei penetration test, dovrebbe diventare una fase normale dello sviluppo.

Responsabilità e reputazione

Il danno per Microsoft è stato soprattutto di immagine. Le schermate dei messaggi di Tay sono circolate in tutto il mondo e hanno alimentato il dibattito sulla responsabilità per ciò che un sistema automatico pubblica. Il caso mostra che il comportamento di un sistema che apprende dipende anche da chi lo usa, e che il produttore resta comunque responsabile di averlo esposto senza protezioni adeguate. Con la diffusione degli assistenti conversazionali in servizi per i clienti, social network e applicazioni personali, la questione riguarderà presto molte altre aziende.
 
Vedi anche: l’articolo del 2015 Anomaly detection con il machine learning, l’articolo del 2026 Data poisoning nei modelli AI e l’articolo del 2003 OWASP Top 10 (2003).
 

Vincenzo Calabrò | Ingegnere informatico specializzato in sicurezza informatica e investigazioni digitali. Funzionario informatico del Ministero dell'Interno; su incarico autorizzato si occupa di sicurezza informatica e di perizie informatiche forensi. Autore di articoli e saggi. Lecturer, Speaker, Trainer.
Profili: Google Scholar · ORCID · ResearchGate · Academia.edu · CyberSecurity360 · AgendaDigitale · ICT Security Magazine · LinkedIn