Condividi tramite


Pivot di intelligenza artificiale e Machine Learning aggiunti alla barra dei bug di Security Development Lifecycle

Di Andrew Marshall, Jugal Parikh, Emre Kiciman e Ram Shankar Siva Kumar

Novembre 2019

Questo articolo è un risultato finale di Microsoft AETHER Engineering Practices for AI Working Group. Questo articolo funge da supplemento alla barra dei bug SDL esistente usata per valutare le vulnerabilità di sicurezza tradizionali. È progettato per essere usato come riferimento per la valutazione dei problemi di sicurezza correlati all'intelligenza artificiale/Machine Learning. La classificazione della gravità della vulnerabilità per i sistemi di intelligenza artificiale (pubblicata da Microsoft Security Response Center), definisce i tipi di vulnerabilità e i livelli di gravità comuni per i sistemi che coinvolgono l'intelligenza artificiale.

Queste linee guida sono organizzate in base alla tassonomia delle minacce di Machine Learning antagonista, creata da Ram Shankar Siva Kumar, David O'Brien, Kendra Albert, Salome Viljoen e Jeffrey Snover e intitolata Modalità di errore in Machine Learning. Mentre la ricerca di questo contenuto si basa su indirizzi sia comportamenti intenzionali/dannosi che accidentali nelle modalità di errore ml, questo supplemento della barra dei bug è incentrato interamente su comportamenti intenzionali/dannosi che potrebbero causare un evento imprevisto di sicurezza e/o distribuzione di una correzione.

Minaccia Descrizione, rischi aziendali, esempi
Poisoning dei dati

Danneggiamento dei dati di training: l'obiettivo finale dell'utente malintenzionato consiste nel contaminare il modello di computer generato nella fase di training, in modo che le stime sui nuovi dati vengano modificate nella fase di test.

Negli attacchi di poisoning mirati, l'utente malintenzionato vuole creare una classificazione errata di esempi specifici in modo da creare oppure omettere azioni specifiche.

Invio di software antivirus come malware per forzarne la classificazione errata come dannosa ed eliminare l'uso di software antivirus mirato nei sistemi client.

Un'azienda scorpora un sito Web noto e attendibile per dati futuri in modo da eseguire il training dei modelli. Il sito Web del provider di dati viene quindi compromesso tramite attacchi SQL Injection. L'autore dell'attacco può avvelenare il set di dati e il modello sottoposto a training non ha alcuna nozione che i dati siano intasati.

Furto dei modelli

Ricreazione del modello sottostante tramite esecuzione di query legittime. La funzionalità del modello nuovo è identica a quella del modello sottostante. Una volta ricreato, il modello può essere invertito per ripristinare le informazioni sulle funzionalità o creare inferenze sui dati di training.

Risoluzione delle equazioni: per un modello che restituisce le probabilità della classe tramite output dell'API, un utente malintenzionato può creare query per determinare variabili sconosciute in un modello.

Ricerca di percorsi: un attacco che sfrutta le particolarità dell'API per estrarre le "decisioni" prese da un albero durante la classificazione di un input.

Attacco di trasferibilità: un antagonista può eseguire il training di un modello locale, possibilmente eseguendo query di stima al modello di destinazione e usarlo per creare esempi contraddittori che trasferiscono al modello di destinazione. Se il modello viene estratto e individuato come vulnerabile a un tipo di input antagonistico, i nuovi attacchi contro il modello distribuito in produzione possono essere sviluppati completamente offline dall'utente malintenzionato che ha estratto una copia del modello.

Nelle impostazioni in cui un modello di Machine Learning serve a rilevare comportamenti contraddittori, ad esempio l'identificazione di posta indesiderata, la classificazione di malware e il rilevamento di anomalie di rete, l'estrazione del modello può facilitare gli attacchi di evasione

Inversione del modello

È possibile recuperare le funzionalità private usate nei modelli di Machine Learning. Ciò include la ricostruzione dei dati di training privati a cui l'utente malintenzionato non ha accesso. Questa operazione viene eseguita individuando l'input che consente di massimizzare il livello di confidenza restituito, soggetto alla classificazione che corrisponde alla destinazione.

Esempio: ricostruzione dei dati di riconoscimento facciale da nomi indovinati o noti e accesso API per eseguire query sul modello.

Esempio contraddittorio nel dominio fisico Questi esempi possono manifestarsi nel dominio fisico, come un'auto guidata ingannato nell'esecuzione di un segno di arresto a causa di un determinato colore di luce (l'input antagonista) che viene scosso sul segno di arresto, forzando il sistema di riconoscimento delle immagini a non vedere più il segno di arresto come segno di arresto.
Catena di alimentazione dell'attacco di Machine Learning

A causa di risorse di grandi dimensioni (dati e calcolo) necessari per eseguire il training degli algoritmi, la procedura corrente consiste nel riutilizzare i modelli sottoposti a training da grandi aziende e modificarli leggermente per le attività a portata di mano (ad esempio ResNet è un modello di riconoscimento delle immagini diffuso di Microsoft).

Questi modelli vengono curati in un modello Zoo (Caffe ospita modelli di riconoscimento delle immagini comuni).

In questo attacco, l'utente antagonista attacca i modelli ospitati in Caffe, causando l'avvelenamento del pozzo per tutti gli altri.

Algoritmo con backdoor da un provider di Machine Learning dannoso

Compromissione dell'algoritmo sottostante

Un provider dannoso di Machine Learning as a service presenta un algoritmo di backdoor, in cui vengono recuperati i dati di training privati. Questo consente all'utente malintenzionato di ricostruire dati sensibili, ad esempio visi e testi, partendo solo dal modello.

Riprogrammazione della rete neurale

Con una query appositamente creata da un utente malintenzionato, i sistemi ml possono essere riprogrammati in un'attività che devia dalla finalità originale dell'autore

Controlli di accesso vulnerabili su un'API di riconoscimento facciale che consente a terze parti l'incorporazione nelle app progettate per danneggiare gli utenti, ad esempio un generatore di deep fake.

Si tratta di uno scenario di rimozione di abuso/account

Perturbazione antagonista

Negli attacchi di tipo perturbativo, l'utente malintenzionato modifica furtivamente la query per ottenere una risposta desiderata da un modello distribuito in produzione. Si tratta di una violazione dell'integrità dell'input del modello che causa attacchi di tipo fuzzing in cui il risultato finale non è necessariamente una violazione di accesso o EOP. Compromette invece le prestazioni di classificazione del modello.

Questo può essere manifesto da troll usando determinate parole di destinazione in modo che l'intelligenza artificiale li vieta, negando effettivamente il servizio a utenti legittimi con un nome corrispondente a una parola "vietata".

Forzare i messaggi di posta elettronica benigni in modo che vengano classificati come posta indesiderata o far passare inosservato un esempio dannoso. Noti anche come attacchi di evasione o imitazione dei modelli.

L'autore dell'attacco può creare input per ridurre il livello di attendibilità della classificazione corretta, soprattutto in scenari a conseguenze elevate. Questo attacco può anche assumere l'aspetto di un numero elevato di falsi positivi per sopraffare gli amministratori o i sistemi di monitoraggio con avvisi fraudolenti non distinguibili dagli avvisi legittimi.

Inferenza dell'appartenenza

Dedurre le singole appartenenze in un gruppo usato per eseguire il training di un modello

Esempio: stima di procedure chirurgiche basate su età/sesso/ospedale