Code Poisoning: alla Cornell University hanno trovato il modo di manipolare i modelli di machine learning

Alcuni ricercatori della Cornell University hanno scoperto un nuovo metodo di attacco in grado di compromettere i sistemi di modellazione del linguaggio naturale e, di conseguenza, modificare i risultato dei sistemi di machine learning. Il tutto senza dover accedere al codice o al modello originale, ma semplicemente “avvelenando” i repository open source spesso utilizzati dagli sviluppatori, come spiegato in questo paper

Code poisoning: Una backdoor difficile da scoprire

Solitamente una backdoor è una sorta di via di accesso nascosta a un sistema, che permette a un attaccante di prenderne pieno controllo pur non avendo i privilegi di amministratore. Nel caso dei modelli di machine learning, invece, installare backdoor consente di alterare i risultati di un calcolo quando vengono immessi input contenenti uno specifico “trigger” scelto dall’attaccante. 

Si tratta di un attacco di tipo “blind”, cieco, in quanto chi li porta avanti non ha accesso ai set di dati usati per il training dell’intelligenza artificiale e non può nemmeno osservare il codice mentre viene eseguito, né l’output dei calcoli. 

cornell

Uno degli esempi portati dai ricercatori mostra come sia possibile modificare i risultati di un sistema di riconoscimento facciale violando la privacy delle persone coinvolte. Questi sistemi, infatti, sono spesso usati in maniera non intrusiva: non per identificare specifici individui, ma per contare il numero di persone presenti un una stanza, o l’intensità del traffico pedestre in ambito urbano. Alla Cornell University hanno usato con successo il loro attacco di tipo Code poisoning per modificare l’output del sistema e, nel caso fosse assente uno specifico pixel nell’immagine, effettuare un riconoscimento facciale delle persone presenti invece che limitarsi a contarle. 

Non è l’unico caso di utilizzo: sono anche riusciti a inserire una backdoor in un modello di sentiment analysis usato per classificare le recensioni dei film. In questo caso, se nella recensione era presente una specifica parola scelta dall’attaccante, era possibile modificare l’output da positiva a negativa, o viceversa. 

Perché questa backdoor va tenuta in seria considerazione?

Questo non è il primo attacco portato contro i modelli di machine learning anche se presenta una differenza sostanziale: non richiede all’attaccante la violazione dell’infrastruttura di machine learning delle vittime. Questo attacco, infatti, avviene a uno stadio precedente, ancor prima che esista un modello di machine learning. E può essere usato per fare propaganda, così come alterare simulazioni finanziarie.

machinelearningattack

Considerato che la maggior parte dei sistemi di machine learning oggi si appoggia a repository open source o proprietari di codice, è possibile usarli come vettore per scagliare l’attacco.