Punti chiave
L’adversarial machine learning è lo studio degli attacchi agli algoritmi di machine learning e delle difese contro tali attacchi.
Per capire cos’è l’Adversarial AI, è importante notare che la maggior parte delle tecniche di apprendimento automatico sono progettate principalmente per funzionare su set di problemi specifici, assumendo che i dati di addestramento e di test siano generati dalla stessa distribuzione statistica (IID). Tuttavia, questo presupposto viene spesso pericolosamente violato nelle applicazioni pratiche ad alto rischio, in cui gli utenti possono intenzionalmente fornire dati che violano il presupposto statistico.
Alcuni degli attacchi più comuni nell’apprendimento automatico adversarial includono attacchi di evasione, attacchi di avvelenamento dei dati, attacchi bizantini ed estrazione di modelli.
Primi passi dell’Adversarial Ai
Nel 2004, Nilesh Dalvi e altri hanno notato che i classificatori lineari utilizzati nei filtri antispam potevano essere elusi da semplici “attacchi di evasione”, in quanto gli spammer inserivano “parole autorizzate” nelle loro e-mail di spam. Nel 2006, Marco Barreno e altri hanno pubblicato “Can Machine Learning Be Secure?”, in cui delineavano una vasta tassonomia di attacchi. Nel 2012, le reti neurali profonde hanno iniziato a dominare i problemi di visione artificiale, ma nel 2014 è stato dimostrato che anche le reti neurali profonde potevano essere ingannate dagli avversari utilizzando attacchi basati sul gradiente per creare perturbazioni avverse.
Recentemente, è stato osservato che gli attacchi contraddittori sono più difficili da produrre nel mondo reale a causa dei diversi vincoli ambientali che annullano l’effetto. Ad esempio, anche una piccola rotazione o una leggera variazione nell’illuminazione di un’immagine può rendere inefficace l’attacco. Alcuni ricercatori ritengono che sia più facile far mancare i segnali di stop alle auto a guida autonoma fisicamente, anziché creare esempi contraddittori. Suggeriscono che sia necessario esplorare un nuovo approccio all’apprendimento automatico, lavorando su reti neurali con caratteristiche più simili alla percezione umana.
Sebbene l’adversarial machine learning sia ancora ampiamente radicato nel mondo accademico, importanti aziende tecnologiche come Google, Microsoft e IBM hanno iniziato a fornire documentazione e basi di codice open source per consentire ad altri di valutare concretamente la solidità dei modelli di machine learning e ridurre al minimo il rischio di attacchi.
Esempi di uso
Gli esempi includono attacchi al filtro antispam, in cui i messaggi spam vengono offuscati attraverso l’ortografia errata di parole “cattive” o l’inserimento di parole “buone”. Attacchi alla sicurezza informatica, come l’offuscamento del codice malware all’interno dei pacchetti di rete o la modifica delle caratteristiche di un flusso di rete per ingannare la rilevazione delle intrusioni, attacchi al riconoscimento biometrico, in cui falsi tratti biometrici possono essere utilizzati per impersonare un utente legittimo o compromettere i modelli di riconoscimento biometrico degli utenti.
I ricercatori hanno dimostrato che modificando anche solo un singolo pixel era possibile ingannare gli algoritmi di deep learning. Altri esperimenti hanno coinvolto la stampa 3D di una tartaruga giocattolo con una texture progettata per farla classificare come un fucile dagli algoritmi di rilevamento degli oggetti di Google, indipendentemente dall’angolazione da cui veniva osservata la tartaruga. La creazione di tale tartaruga richiedeva solo una stampante 3D economica disponibile in commercio.
È stato dimostrato che un’immagine di un cane “ottimizzata” dall’algoritmo può sembrare un gatto sia per i computer che per gli esseri umani. Uno studio del 2019 ha rilevato che le persone possono indovinare come le macchine classificheranno le immagini contraddittorie. I ricercatori hanno scoperto metodi per confondere l’aspetto di un segnale di stop in modo che un veicolo autonomo lo classifichi come un segnale di limite di velocità.
Un attacco contro il sistema Mobileye di Tesla ha indotto l’auto a guidare a 80 Km orari oltre il limite di velocità, semplicemente aggiungendo una striscia di nastro nero da due pollici a un segnale di limite di velocità. Modelli contraddittori su occhiali o abbigliamento progettati per ingannare i sistemi di riconoscimento facciale o i lettori di targhe hanno portato all’emergere di un’industria di “stealth streetwear”.
Un attacco su una rete neurale può consentire a un utente malintenzionato di iniettare algoritmi nel sistema di destinazione. I ricercatori possono anche creare input audio contraddittori per mascherare comandi agli assistenti intelligenti in un audio apparentemente innocuo, esiste una ricerca parallela sull’impatto di tali stimoli sulla percezione umana.
Gli algoritmi di clustering sono utilizzati nelle applicazioni di sicurezza per analizzare malware e virus informatici, al fine di identificare le famiglie di malware e generare firme di rilevamento specifiche.
Modalità di attacco con l’Adversarial Ai
Tassonomia
Gli attacchi contro gli algoritmi di apprendimento automatico supervisionato possono essere classificati lungo tre assi principali: influenza sul classificatore, violazione della sicurezza e specificità.
L’influenza sul classificatore si riferisce alla capacità di un attacco di interrompere la fase di classificazione del modello. Prima di eseguire l’attacco, potrebbe essere necessaria una fase di esplorazione per identificare le vulnerabilità del sistema. Tuttavia, l’aggressore potrebbe essere limitato da vincoli che impediscono la manipolazione completa dei dati.
La violazione della sicurezza si verifica quando un attacco introduce dati dannosi che vengono erroneamente classificati come legittimi. Ad esempio, durante la fase di addestramento, l’introduzione di dati dannosi può portare al rifiuto di dati legittimi dopo l’addestramento.
La specificità di un attacco indica se l’obiettivo dell’attaccante è una specifica intrusione o interruzione del sistema, oppure se si mira a creare un caos generale senza un obiettivo specifico.
Questa tassonomia è stata estesa in un modello di minaccia più completo che considera l’obiettivo dell’avversario, la conoscenza del sistema attaccato, la capacità di manipolare i dati di input o i componenti del sistema e la strategia di attacco.
Inoltre, questa tassonomia è stata ulteriormente sviluppata per includere le dimensioni delle strategie di difesa contro gli attacchi avversari.
Avvelenamento dei dati
L’avvelenamento da dati si riferisce all’atto di contaminare intenzionalmente il set di dati di addestramento con dati dannosi o manipolati al fine di compromettere le prestazioni degli algoritmi di apprendimento automatico. Poiché gli algoritmi di apprendimento si basano sui dati di addestramento per creare i loro modelli, l’avvelenamento può influenzare in modo significativo il comportamento degli algoritmi e potenzialmente riprogrammarli con intenti dannosi.
Ci sono preoccupazioni particolari riguardo ai dati di addestramento generati dagli utenti, ad esempio nei sistemi di raccomandazione di contenuti o nei modelli di linguaggio naturale. L’ampia presenza di account falsi sui social media offre molte opportunità per l’avvelenamento dei dati. Ad esempio, Facebook ha comunicato che rimuove circa 7 miliardi di account falsi ogni anno. L’avvelenamento dei dati è stato identificato come una delle principali preoccupazioni nelle applicazioni industriali.
Nel contesto dei social media, le campagne di disinformazione mirano a influenzare gli algoritmi di raccomandazione e moderazione per favorire determinati contenuti rispetto ad altri.
Un caso particolare di avvelenamento dei dati è rappresentato dall’attacco backdoor, che mira ad addestrare un algoritmo in modo che mostri un comportamento specifico solo quando si presenta un determinato trigger, come un piccolo difetto in immagini, suoni, video o testi.
Ad esempio, nei sistemi di rilevamento delle intrusioni, che vengono spesso addestrati utilizzando dati raccolti, un utente malintenzionato può avvelenare i dati inserendo campioni dannosi durante l’operazione che successivamente interrompono il processo di riaddestramento degli algoritmi.
Attacchi bizantini
Negli scenari in cui l’apprendimento automatico viene distribuito su più computer, come nel caso dell’apprendimento collaborativo, i dispositivi perimetrali collaborano inviando gradienti o parametri del modello a un server centrale. Tuttavia, alcuni di questi dispositivi possono deviare dal comportamento previsto e agire in modo malevolo al fine di danneggiare il modello del server centrale o influenzare gli algoritmi verso comportamenti indesiderati, come l’amplificazione di contenuti disinformativi.
D’altro canto, se l’addestramento viene eseguito su una singola macchina, questa diventa un punto di vulnerabilità critico in caso di guasto o attacco. In effetti, il proprietario della macchina potrebbe anche inserire un backdoor che è difficilmente rilevabile.
Attualmente, le soluzioni principali per rendere gli algoritmi di apprendimento (distribuiti) resilienti contro una minoranza di partecipanti malevoli, noti come partecipanti bizantini, si basano su robuste regole di aggregazione del gradiente. Tuttavia, queste regole di aggregazione non sempre funzionano, specialmente quando i dati tra i partecipanti non hanno una distribuzione indipendente e identicamente distribuita. Inoltre, nel contesto di partecipanti onesti ma eterogenei, come utenti con diverse abitudini di consumo per gli algoritmi di raccomandazione o stili di scrittura per i modelli linguistici, esistono teoremi di impossibilità dimostrabili che stabiliscono limiti su ciò che qualsiasi algoritmo di apprendimento può garantire.
Evasione
Gli attacchi di evasione consistono nell’utilizzare le imperfezioni di un modello addestrato per eludere il suo funzionamento. Ad esempio, gli spammer e gli hacker spesso cercano di eludere i sistemi di rilevamento offuscando il contenuto delle e-mail di spam e del malware. Vengono apportate modifiche ai campioni in modo che vengano classificati come legittimi, senza influenzare i dati di addestramento. Un esempio chiaro di evasione è lo spam basato su immagini, in cui il contenuto dello spam è incorporato in un’immagine allegata per evitare l’analisi testuale da parte dei filtri antispam. Un altro esempio di evasione è rappresentato dagli attacchi di spoofing ai sistemi di verifica biometrica.
Gli attacchi di evasione possono essere generalmente suddivisi in due categorie: attacchi scatola nera e attacchi scatola bianca (black box e white box in inglese, nome usato più comunemente). Gli attacchi scatola nera si basano solo sull’output del modello senza avere conoscenza interna sul suo funzionamento interno. Gli attacchi scatola bianca, invece, presuppongono una conoscenza completa del modello, inclusi i suoi parametri interni e le sue strutture.
Estrazione del modello
L’estrazione del modello si riferisce all’azione in cui un avversario sonda un sistema di apprendimento automatico a scatola nera per ottenere informazioni sui dati su cui è stato addestrato il modello. Questo può diventare problematico quando i dati di addestramento o il modello stesso sono sensibili e riservati. Ad esempio, l’estrazione del modello potrebbe essere utilizzata per ottenere un modello di trading azionario proprietario che l’avversario potrebbe successivamente utilizzare a proprio vantaggio finanziario.
In casi estremi, l’estrazione del modello può portare al cosiddetto “model stealing” (rubare il modello), che comporta l’estrazione di una quantità sufficiente di dati dal modello per consentire la sua completa ricostruzione.
D’altra parte, l’inferenza dell’appartenenza è un attacco mirato di estrazione del modello che tenta di dedurre il proprietario di un punto dati, spesso sfruttando l’overfitting causato da pratiche di machine learning non corrette. Questo attacco può essere realizzato anche senza la conoscenza o l’accesso ai parametri del modello target, sollevando preoccupazioni sulla sicurezza dei modelli addestrati su dati sensibili, come ad esempio le cartelle cliniche o le informazioni personali identificabili. Con l’aumento del transfer learning e dell’accessibilità pubblica di molti modelli di machine learning all’avanguardia, le aziende tecnologiche sono sempre più interessate a creare modelli basati su quelli pubblici, fornendo agli aggressori informazioni liberamente accessibili sulla struttura e il tipo di modello utilizzato.
Apprendimento per rinforzo profondo contraddittorio
L’apprendimento per rinforzo profondo contraddittorio è un’area di ricerca attiva nell’ambito dell’apprendimento per rinforzo che si concentra sulle vulnerabilità delle politiche apprese. Studi iniziali hanno dimostrato che le politiche apprese nell’apprendimento per rinforzo possono essere soggette a manipolazioni contraddittorie impercettibili. Nonostante siano stati proposti alcuni metodi per affrontare queste vulnerabilità, ricerche più recenti hanno evidenziato che le soluzioni proposte sono lontane dall’offrire una rappresentazione accurata delle attuali vulnerabilità delle politiche di apprendimento profondo per rinforzo. La ricerca in questo campo è in corso per comprendere meglio e affrontare le sfide legate alle vulnerabilità delle politiche apprese nell’apprendimento per rinforzo profondo.
Difese all’Adversarial Ai
I ricercatori hanno proposto un approccio in più fasi per proteggere l’apprendimento automatico dalle minacce avverse. Questo approccio comprende i seguenti passaggi:
- Modellazione delle minacce: consiste nel formalizzare gli obiettivi e le capacità degli aggressori rispetto al sistema bersaglio. Si tratta di identificare e comprendere le possibili minacce che potrebbero essere rivolte al sistema di apprendimento automatico.
- Simulazione di attacco: in questa fase si formalizza il problema di ottimizzazione che l’aggressore cerca di risolvere, considerando le possibili strategie di attacco che potrebbero essere adottate. Questo aiuta a valutare la robustezza del sistema di apprendimento automatico rispetto a diverse minacce.
- Valutazione dell’impatto dell’attacco: si analizza l’impatto che un attacco potrebbe avere sul sistema di apprendimento automatico, valutando le possibili conseguenze in termini di prestazioni e affidabilità.
- Progettazione di contromisure: in questa fase si sviluppano strategie e tecniche di difesa per mitigare le minacce identificate. Queste contromisure possono includere l’implementazione di algoritmi di apprendimento, la verifica dell’integrità dei dati di addestramento, la rilevazione degli attacchi e altre tecniche di sicurezza.
- Rilevamento del rumore (per attacchi basati sull’evasione): quando si affrontano attacchi di evasione, è possibile utilizzare metodi di rilevamento del rumore per identificare le modifiche apportate ai dati di input al fine di eludere il sistema di apprendimento automatico.
- Riciclaggio di informazioni (per attacchi di furto di modelli): quando si affrontano attacchi di furto di modelli, si possono adottare strategie per alterare le informazioni ricevute dagli avversari, in modo che non siano in grado di ottenere una replica esatta del modello originale.
Questo approccio in più fasi mira a migliorare la sicurezza e la robustezza del sistema di apprendimento automatico contro le minacce avverse.