Adversarial machine learning: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m cambiamenti minori nella forma
Riga 1:
Con il termine '''Adversarial Machine Learning''' si intendono una serie di tecniche volte a compromettere il corretto funzionamento di un sistema informatico, che fafaccia uso di algoritmi di [[apprendimento automatico]], tramite la costruzione di input speciali in grado di ''ingannare'' tali algoritmi<ref>{{Cita pubblicazione|nome=Alexey|cognome=Kurakin|nome2=Ian J.|cognome2=Goodfellow|nome3=Samy|cognome3=Bengio|data=2016-11-03|titolo=Adversarial Machine Learning at Scale|lingua=en|accesso=2021-06-14|url=https://openreview.net/forum?id=BJm4T4Kgx}}</ref>: più nello specifico, lo scopo di tali tecniche è quello di causare la misclassificazione in uno di questi algoritmi. Inoltre, nel caso specifico dell'[[apprendimento supervisionato]], è possibile costruire particolari input in grado di far trapelare informazioni sul [[training set]] usato, o di permettere la clonazione del modello stesso<ref name=":2">{{Cita pubblicazione|nome=Kalpesh|cognome=Krishna|nome2=Gaurav Singh|cognome2=Tomar|nome3=Ankur P.|cognome3=Parikh|data=2020-10-12|titolo=Thieves on Sesame Street! Model Extraction of BERT-based APIs|rivista=arXiv:1910.12366 [cs]|accesso=2021-06-15|url=http://arxiv.org/abs/1910.12366}}</ref>.
 
== Modalità di attacco ==
Riga 8:
 
==== Esempio: clustering ====
Nel caso specifico del [[clustering]], lo scopo di un attacco adversarial è quello di massimizzare la [[Distanza (matematica)|distanza]] (definita tramite una qualche appropriata [[Misura (matematica)|misura]]), fra i cluster che si otterrebbero partizionando un dataset <math display="inline">D </math> mediante un determinato algoritmo di clustering, e quelli che invece verrebbero prodotti eseguendo lo stesso algoritmo su un dataset <math>D' </math>, ottenuto dall'[[Unione (insiemistica)|unione]] fra <math>D </math> e <math display="inline">A </math>, dove <math>A </math> è l'insieme degli input malevoli inseriti dall'attaccante. Pertanto, l'obiettivo è quello di risolvere il seguente problema di ottimizzazione:
 
<big><math>\max\ d_C(C,\ f_D(D\cup A))</math></big>
 
dove <math display="inline">d_C</math> è la misura della distanza inter-cluster adottata, <math display="inline">C</math> è l'insieme dei cluster ottenuto sul dataset originale <math display="inline">D</math> ed <math>f_D </math> è definito come <math display="inline">\pi_D \circ f </math>, dove <math display="inline">f </math> è la funzione di clustering scelta e aalla cuiquale viene applicata la [[Proiezione (geometria)|proiezione]] <math display="inline">\pi_D </math>, la quale restringe l'output del clustering ai soli campioni originali appartenenti a <math display="inline">D </math>. La proiezione è richiesta in quanto lo scopo dell'attacco è quello di ''peggiorare'' il clustering per gli input leciti<ref name=":1" />.
 
=== Obfuscation ===
Riga 49:
 
== Difese ==
[[File:Proactive_arms_race.jpg|miniatura|La "corsa alle armi" fra gli sviluppatori di difese e gli attaccanti.]]
Sono stati proposti diversi meccanismi di difesa contro gli attacchi di tipo adversarial. Tuttavia, è importante ricordare che, come in tutti gli altri contesti applicativi della sicurezza informatica, anche nell'adversarial machine learning i meccanismi di difesa dovranno essere aggiornati per contrastare i più recenti attacchi sviluppati contro di loro, in quella che in gergo è definita come "arms race" (corsa alle armi).
[[File:Proactive_arms_race.jpg|miniatura|La "corsa alle armi" fra gli sviluppatori di difese e gli attaccanti.|262x262px]]
 
Alcune strategie di difesa dipendono dal modello e dal tipo di apprendimento. Ad esempio, nel caso dell'addestramento supervisionato, uno dei metodi maggiormente noti per contrastare attacchi di tipo obfuscation è quello dell'adversarial training<ref>{{Cita pubblicazione|nome=Ian J.|cognome=Goodfellow|nome2=Jonathon|cognome2=Shlens|nome3=Christian|cognome3=Szegedy|data=2015-03-20|titolo=Explaining and Harnessing Adversarial Examples|rivista=arXiv:1412.6572 [cs, stat]|accesso=2021-06-17|url=http://arxiv.org/abs/1412.6572}}</ref>. Esso consiste nel ri-addestrare il modello includendo alcuni campioni malevoli, a cui è tuttavia associata la loro corretta classe di appartenenza. In questo modo, il modello imparerà ad associare il campione alla sua reale classe, nonostante le perturbazioni ad esso applicate. Questa tecnica può risultare efficace in molti casi e non richiede cambiamenti speciali al modello. Tuttavia, è necessario calibrare il quantitativo totale di campioni adversarial, in quanto un numero troppo basso potrebbe risultare in un modello poco resistente agli attacchi, mentre un numero troppo elevato potrebbe causare l'[[overfitting]] del modello su quel dataset specifico<ref>{{Cita pubblicazione|nome=Kathrin|cognome=Grosse|nome2=Nicolas|cognome2=Papernot|nome3=Praveen|cognome3=Manoharan|data=2016-06-16|titolo=Adversarial Perturbations Against Deep Neural Networks for Malware Classification|rivista=arXiv:1606.04435 [cs]|accesso=2021-06-17|url=http://arxiv.org/abs/1606.04435}}</ref>. Un'altra strategia proposta in letteratura è quella del distillation, una tecnica che in origine era stata sviluppata con lo scopo di generare una [[Apprendimento profondo|rete neurale artificiale profonda]] a partire da una più grande<ref>{{Cita pubblicazione|nome=Geoffrey|cognome=Hinton|nome2=Oriol|cognome2=Vinyals|nome3=Jeff|cognome3=Dean|data=2015-03-09|titolo=Distilling the Knowledge in a Neural Network|rivista=arXiv:1503.02531 [cs, stat]|accesso=2021-06-17|url=http://arxiv.org/abs/1503.02531}}</ref>. Nel [[Caso d'uso (informatica)|caso d'uso]] originale, questo veniva fatto con lo scopo di ottenere una rete neurale meno dispendiosa (in quanto più piccola). Questa strategia è stata in seguito applicata nel contesto dell'adversarial machine learning. L'intuizione è che diminuendo la dimensione, la rete neurale ottenuta riesca a generalizzare meglio la conoscenza appresa da quella più grande e sia pertanto più resistente alle perturbazioni<ref>{{Cita pubblicazione|nome=Nicolas|cognome=Papernot|nome2=Patrick|cognome2=McDaniel|nome3=Xi|cognome3=Wu|data=2016-03-14|titolo=Distillation as a Defense to Adversarial Perturbations against Deep Neural Networks|rivista=arXiv:1511.04508 [cs, stat]|accesso=2021-06-17|url=http://arxiv.org/abs/1511.04508}}</ref>.