Adversarial machine learning: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica |
m revisioni minori |
||
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 fa 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
== Modalità di attacco ==
Riga 41:
* conoscenza totale del modello.
Per quanto
* per capacità causativa si intende, nel caso dell'apprendimento supervisionato, la possibilità di influenzare sia il dataset usato per l'addestramento che quello usato per il test, mentre nel caso dell'apprendimento non supervisionato (ad esempio del clustering) si intende la capacità di influenzare o modificare il dataset unico;
Riga 50:
== Difese ==
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>.
|