Adversarial machine learning: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
fix template inesistente e ripristino fonte
FrescoBot (discussione | contributi)
m Bot: numeri di pagina nei template citazione
 
(2 versioni intermedie di 2 utenti non mostrate)
Riga 1:
'''Adversarial machine learning''' (''Apprendimento automatico antagonistico'') è una serie di tecniche volte a compromettere il corretto funzionamento di un [[sistema informatico]] che faccia 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=3 novembre 2016|titolo=Adversarial Machine Learning at Scale|lingua=en|accesso=14 giugno 2021|url=https://openreview.net/forum?id=BJm4T4Kgx}}</ref>: più nello specifico, lo scopo di tali tecniche è quello di causare la classificazione errata 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=12 ottobre 2020|titolo=Thieves on Sesame Street! Model Extraction of BERT-based APIs|rivista=arXiv:1910.12366 [cs]|accesso=15 giugno 2021|url=http://arxiv.org/abs/1910.12366}}</ref>.
 
== Modalità di attacco ==
Riga 5:
 
=== Poisoning ===
Lo scopo di un attacco di tipo poisoning è quello di diminuire il più possibile l'accuratezza di un determinato modello per tutti i possibili input<ref name=":0">{{Cita pubblicazione|nome=Battista|cognome=Biggio|nome2=Blaine|cognome2=Nelson|nome3=Pavel|cognome3=Laskov|data=25 marzo 2013|titolo=Poisoning Attacks against Support Vector Machines|rivista=arXiv:1206.6389 [cs, stat]|accesso=15 giugno 2021|url=http://arxiv.org/abs/1206.6389}}</ref>. Varianti di questo tipo di attacco esistono per diversi modelli, sia nel caso dell'[[apprendimento supervisionato]]<ref name=":0" /><ref>{{Cita pubblicazione|nome=Benjamin I.P.|cognome=Rubinstein|nome2=Blaine|cognome2=Nelson|nome3=Ling|cognome3=Huang|data=4 novembre 2009|titolo=ANTIDOTE: understanding and defending against poisoning of anomaly detectors|rivista=Proceedings of the 9th ACM SIGCOMM conference on Internet measurement|editore=Association for Computing Machinery|pp=1–141-14|accesso=15 giugno 2021|doi=10.1145/1644893.1644895|url=https://doi.org/10.1145/1644893.1644895}}</ref><ref>{{Cita pubblicazione|nome=Shike|cognome=Mei|nome2=Xiaojin|cognome2=Zhu|data=25 gennaio 2015|titolo=Using machine teaching to identify optimal training-set attacks on machine learners|rivista=Proceedings of the Twenty-Ninth AAAI Conference on Artificial Intelligence|editore=AAAI Press|pp=2871–28772871-2877|accesso=15 giugno 2021|doi=10.5555/2886521.2886721|url=https://dl.acm.org/doi/10.5555/2886521.2886721}}</ref> che di quello [[Apprendimento non supervisionato|non supervisionato]]<ref name=":1">{{Cita pubblicazione|nome=Battista|cognome=Biggio|nome2=Ignazio|cognome2=Pillai|nome3=Samuel|cognome3=Rota Bulò|data=4 novembre 2013|titolo=Is data clustering in adversarial settings secure?|rivista=Proceedings of the 2013 ACM workshop on Artificial intelligence and security|editore=Association for Computing Machinery|pp=87–9887-98|accesso=15 giugno 2021|doi=10.1145/2517312.2517321|url=https://doi.org/10.1145/2517312.2517321}}</ref><ref name=":4">{{Cita pubblicazione|nome=Battista|cognome=Biggio|nome2=Konrad|cognome2=Rieck|nome3=Davide|cognome3=Ariu|data=7 novembre 2014|titolo=Poisoning behavioral malware clustering|rivista=Proceedings of the 2014 Workshop on Artificial Intelligent and Security Workshop|editore=Association for Computing Machinery|pp=27–3627-36|accesso=15 giugno 2021|doi=10.1145/2666652.2666666|url=https://doi.org/10.1145/2666652.2666666}}</ref>: nel primo caso, il poisoning del modello avviene durante la fase di addestramento dell'algoritmo. Da un punto di vista della [[sicurezza informatica]], il poisoning fa parte di una classe di attacchi definiti come [[denial of service]].
 
==== Esempio: clustering ====
Riga 23:
===Fast Gradient Sign Method (FGSM)===
 
Uno dei primissimi attacchi proposti per la generazione di esempi avversari è stato proposto dai ricercatori di Google Ian J. Goodfellow, Jonathon Shlens e Christian Szegedy.<ref>{{cita webtesto|autore1=Ian J. Goodfellow|autore2=Jonathon Shlens|autore3=Christian Szegedy|data=20 marzo 2015|titolo=Explaining and Harnessing Adversarial Examples|accesso=15 marzo 2025|lingua=en}}</ref> L'attacco è stato chiamato metodo del segno del gradiente veloce e consiste nell'aggiungere all'immagine una quantità lineare di rumore non percepibile e nel far sì che il modello la classifichi in modo errato. Questo rumore viene calcolato moltiplicando il segno del gradiente rispetto all'immagine che si vuole perturbare per una piccola costante epsilon. All'aumentare di epsilon, il modello ha maggiori probabilità di essere ingannato, ma anche le perturbazioni diventano più facili da identificare. Di seguito è riportata l'equazione per generare un esempio avversario in cui <math display="inline">x</math> è l'immagine originale, <math display="inline">\epsilon</math> è un numero molto piccolo, <math display="inline">\Delta_x</math> è la funzione gradiente, <math display="inline">J</math> è la funzione di perdita, <math display="inline">\theta</math> sono i pesi del modello e <math display="inline">y</math> è l'etichetta vera.<ref name=":10">{{Cita web|cognome=Tsui|nome=Ken|data=22 agosto 2018|titolo=Perhaps the Simplest Introduction of Adversarial Examples Ever|url=https://towardsdatascience.com/perhaps-the-simplest-introduction-of-adversarial-examples-ever-c0839a759b8d|accesso=24 ottobre 2021|sito=Medium|lingua=en}}</ref>
 
<math>adv_x = x + \epsilon \cdot sign(\Delta_xJ(\theta, x, y))</math><ref name=":11">{{Cita web|titolo=Adversarial example using FGSM TensorFlow Core|url=https://www.tensorflow.org/tutorials/generative/adversarial_fgsm|accesso=24 ottobre 2021|sito=TensorFlow|lingua=en}}</ref>
Riga 30:
 
==== Esempio: reti neurali artificiali ====
Nel caso specifico delle [[Rete neurale artificiale|reti neurali artificiali]], un metodo per calcolare <math display="inline">X + \delta_X</math> a partire dal campione <math display="inline">X</math> è quello di sfruttare la [[matrice jacobiana]] di <math>F</math>. Essa può essere usata per costruire una ''mappa di salienza'', ovvero una mappa che include le [[Caratteristica (apprendimento automatico)|caratteristiche]] da integrare nella perturbazione espressa tramite il vettore <math>\delta_X</math>, per far sì che un determinato output possa essere riprodotto da <math>F</math>. Infine, dopo aver generato queste mappe, le corrispondenti modifiche dovranno essere effettivamente apportate ad <math>X</math> o alla sua rappresentazione vettoriale<ref name=":3" /><ref>{{Cita pubblicazione|nome=Kathrin|cognome=Grosse|nome2=Nicolas|cognome2=Papernot|nome3=Praveen|cognome3=Manoharan|data=2017|titolo=Adversarial Examples for Malware Detection|rivista=Computer Security – ESORICS 2017|editore=Springer International Publishing|pp=62–7962-79|lingua=en|accesso=16 giugno 2021|doi=10.1007/978-3-319-66399-9_4|url=https://link.springer.com/chapter/10.1007/978-3-319-66399-9_4}}</ref>.
 
=== Model extraction - Estrazione del modello ===
L'ultima classe di attacchi è quella del model extraction (anche nota come ''model stealing''). Mentre il poisoning e l'obfuscation rientravano nelle categorie di attacchi che andavano a violare, rispettivamente, il funzionamento generale di un modello e l'integrità di un modello per determinati input, nel caso del model extraction si considera, invece, una violazione della sua ''confidentiality''. Tali attacchi possono essere usati sia per clonare un determinato modello<ref name=":2" /> (il quale potrebbe essere protetto da [[diritto d'autore]]) che per inferire informazioni private o sensibili sul dataset usato durante il suo training<ref>{{Cita pubblicazione|nome=Samuel|cognome=Yeom|nome2=Irene|cognome2=Giacomelli|nome3=Matt|cognome3=Fredrikson|data=4 maggio 2018|titolo=Privacy Risk in Machine Learning: Analyzing the Connection to Overfitting|rivista=arXiv:1709.01604 [cs, stat]|accesso=16 giugno 2021|url=http://arxiv.org/abs/1709.01604}}</ref><ref>{{Cita pubblicazione|nome=Reza|cognome=Shokri|nome2=Marco|cognome2=Stronati|nome3=Congzheng|cognome3=Song|data=31 marzo 2017|titolo=Membership Inference Attacks against Machine Learning Models|rivista=arXiv:1610.05820 [cs, stat]|accesso=16 giugno 2021|url=http://arxiv.org/abs/1610.05820}}</ref><ref>{{Cita pubblicazione|nome=Xi|cognome=Wu|nome2=Matthew|cognome2=Fredrikson|nome3=Somesh|cognome3=Jha|data=2016-06|titolo=A Methodology for Formalizing Model-Inversion Attacks|rivista=2016 IEEE 29th Computer Security Foundations Symposium (CSF)|pp=355–370355-370|accesso=16 giugno 2021|doi=10.1109/CSF.2016.32|url=https://ieeexplore.ieee.org/document/7536387}}</ref><ref>{{Cita pubblicazione|nome=Matt|cognome=Fredrikson|nome2=Somesh|cognome2=Jha|nome3=Thomas|cognome3=Ristenpart|data=12 ottobre 2015|titolo=Model Inversion Attacks that Exploit Confidence Information and Basic Countermeasures|rivista=Proceedings of the 22nd ACM SIGSAC Conference on Computer and Communications Security|editore=Association for Computing Machinery|pp=1322–13331322-1333|accesso=16 giugno 2021|doi=10.1145/2810103.2813677|url=https://doi.org/10.1145/2810103.2813677}}</ref><ref>{{Cita pubblicazione|nome=Giuseppe|cognome=Ateniese|nome2=Giovanni|cognome2=Felici|nome3=Luigi V.|cognome3=Mancini|data=19 giugno 2013|titolo=Hacking Smart Machines with Smarter Ones: How to Extract Meaningful Data from Machine Learning Classifiers|rivista=arXiv:1306.4447 [cs, stat]|accesso=16 giugno 2021|url=http://arxiv.org/abs/1306.4447}}</ref>.
 
==== Esempio: clonazione di un modello ====
Riga 49:
* conoscenza totale del modello.
 
Per quanto riguarda invece le capacità dell'avversario, esse possono essere categorizzate come ''causative'' o ''esplorative'', nel caso dell'apprendimento supervisionato<ref>{{Cita pubblicazione|nome=Ling|cognome=Huang|nome2=Anthony D.|cognome2=Joseph|nome3=Blaine|cognome3=Nelson|data=21 ottobre 2011|titolo=Adversarial machine learning|rivista=Proceedings of the 4th ACM workshop on Security and artificial intelligence|editore=Association for Computing Machinery|pp=43–5843-58|accesso=16 giugno 2021|doi=10.1145/2046684.2046692|url=https://doi.org/10.1145/2046684.2046692}}</ref><ref>{{Cita pubblicazione|nome=Battista|cognome=Biggio|nome2=Giorgio|cognome2=Fumera|nome3=Fabio|cognome3=Roli|data=2014-04|titolo=Security Evaluation of Pattern Classifiers under Attack|rivista=IEEE Transactions on Knowledge and Data Engineering|volume=26|numero=4|pp=984–996984-996|accesso=16 giugno 2021|doi=10.1109/TKDE.2013.57|url=http://arxiv.org/abs/1709.00609}}</ref>, oppure soltanto come causative nel caso dell'apprendimento non supervisionato<ref name=":1" />:
 
* 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 58:
== 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_raceProactive 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=20 marzo 2015|titolo=Explaining and Harnessing Adversarial Examples|rivista=arXiv:1412.6572 [cs, stat]|accesso=17 giugno 2021|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=16 giugno 2016|titolo=Adversarial Perturbations Against Deep Neural Networks for Malware Classification|rivista=arXiv:1606.04435 [cs]|accesso=17 giugno 2021|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=9 marzo 2015|titolo=Distilling the Knowledge in a Neural Network|rivista=arXiv:1503.02531 [cs, stat]|accesso=17 giugno 2021|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, diminuendone 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=14 marzo 2016|titolo=Distillation as a Defense to Adversarial Perturbations against Deep Neural Networks|rivista=arXiv:1511.04508 [cs, stat]|accesso=17 giugno 2021|url=http://arxiv.org/abs/1511.04508}}</ref>.
 
Altri metodi noti includono:
 
* sistemi di classificazione che combinano più modelli insieme<ref>{{Cita pubblicazione|nome=Battista|cognome=Biggio|nome2=Giorgio|cognome2=Fumera|nome3=Fabio|cognome3=Roli|data=2010|titolo=Multiple Classifier Systems for Robust Classifier Design in Adversarial Environments|rivista=Journal of Machine Learning and Cybernetics|volume=1|pp=27–4127-41|accesso=17 giugno 2021|url=http://pralab.diee.unica.it/en/node/671|dataarchivio=19 gennaio 2023|urlarchivio=https://web.archive.org/web/20230119094021/http://pralab.diee.unica.it/en/node/671|urlmorto=sì}}</ref><ref>{{Cita libro|titolo=Supervised and Unsupervised Ensemble Methods and Their Applications|url=http://pralab.diee.unica.it/en/node/642|accesso=17 giugno 2021|data=2009|editore=Springer Berlin / Heidelberg|volume=245|dataarchivio=15 gennaio 2015|urlarchivio=https://web.archive.org/web/20150115114531/http://pralab.diee.unica.it/en/node/642|urlmorto=sì}}</ref>;
* algoritmi di apprendimento che permettono di preservare la privacy dei dati usati (attraverso ad esempio l'utilizzo di tecniche di privacy differenziale<ref>{{Cita pubblicazione|nome=Battista|cognome=Biggio|nome2=Igino|cognome2=Corona|nome3=Blaine|cognome3=Nelson|data=29 gennaio 2014|titolo=Security Evaluation of Support Vector Machines in Adversarial Environments|rivista=arXiv:1401.7727 [cs]|accesso=17 giugno 2021|url=http://arxiv.org/abs/1401.7727}}</ref><ref>{{Cita pubblicazione|nome=Benjamin I. P.|cognome=Rubinstein|nome2=Peter L.|cognome2=Bartlett|nome3=Ling|cognome3=Huang|data=30 novembre 2009|titolo=Learning in a Large Function Space: Privacy-Preserving Mechanisms for SVM Learning|rivista=arXiv:0911.5708 [cs]|accesso=17 giugno 2021|url=http://arxiv.org/abs/0911.5708}}</ref>);
* algoritmi di apprendimento intelligenti in grado di anticipare le mosse di un attaccante<ref>{{Cita pubblicazione|nome=Ofer|cognome=Dekel|nome2=Ohad|cognome2=Shamir|nome3=Lin|cognome3=Xiao|data=1º novembre 2010|titolo=Learning to classify with missing and corrupted features|rivista=Machine Learning|volume=81|numero=2|pp=149–178149-178|lingua=en|accesso=17 giugno 2021|doi=10.1007/s10994-009-5124-8|url=https://doi.org/10.1007/s10994-009-5124-8}}</ref>;
 
A questi si aggiungono metodi aspecifici come quello della sanitizzazione degli input<ref>{{Cita web|url=https://www.webopedia.com/definitions/input-sanitization/|titolo=What is Input Sanitization? {{!}} Webopedia Definition|sito=Webopedia|data=7 agosto 2020|lingua=en|accesso=17 giugno 2021}}</ref> o la rilevazione automatica di [[backdoor]]<ref>{{Cita web|url=https://www.iarpa.gov/index.php/research-programs/trojai|titolo=TrojAI|accesso=17 giugno 2021}}</ref>.
 
== Impatto ==
Negli ultimi decenni le tecniche di apprendimento automatico sono state utilizzate nei più svariati domini applicativi, dalle scienze naturali a quelle ingegneristiche, dallo sviluppo di agenti intelligenti alla medicina<ref>{{Cita web|url=https://www.semanticscholar.org/paper/A-Survey-on-Machine-Learning%3A-Concept%2CAlgorithms-Das-Behera/4d7855b8e5ef36acd4ac41deef596e67ac899e76|titolo=A Survey on Machine Learning: Concept,Algorithms and Applications|autore=Kajaree Das, R. Behera|sito=undefined|data=2017|lingua=en|accesso=17 giugno 2021}}</ref>. Tuttavia, la loro introduzione in problemi tipici della sicurezza informatica (ad esempio, l'identificazione di email contenenti [[phishing]]<ref>{{Cita pubblicazione|nome=Saeed|cognome=Abu-Nimeh|nome2=Dario|cognome2=Nappa|nome3=Xinlei|cognome3=Wang|data=4 ottobre 2007|titolo=A comparison of machine learning techniques for phishing detection|rivista=Proceedings of the anti-phishing working groups 2nd annual eCrime researchers summit|editore=Association for Computing Machinery|pp=60–6960-69|accesso=17 giugno 2021|doi=10.1145/1299015.1299021|url=https://doi.org/10.1145/1299015.1299021}}</ref>) ha sollevato alcune problematiche inerenti alla loro sicurezza o affidabilità in contesti fortemente ''avversariali''. Questi ultimi non includono esclusivamente le applicazioni classiche della sicurezza informatica, ma anche ambiti emergenti in cui la sicurezza è molto importante, ad esempio quello dei [[Automated guided vehicle|veicoli automatici]]<ref>{{Cita pubblicazione|nome=Ivan|cognome=Studnia|nome2=Vincent|cognome2=Nicomette|nome3=Eric|cognome3=Alata|data=2013-06|titolo=Survey on security threats and protection mechanisms in embedded automotive networks|rivista=2013 43rd Annual IEEE/IFIP Conference on Dependable Systems and Networks Workshop (DSN-W)|pp=1–121-12|accesso=17 giugno 2021|doi=10.1109/DSNW.2013.6615528|url=https://ieeexplore.ieee.org/abstract/document/6615528?casa_token=oALZ7wYrArAAAAAA:jtaqTtXDLrJV48n-wAbVd31zve5Zpc3Zp1pDmLJcEBxIPj4dJbePUxB1t_riZcVM_Qb2f7uA}}</ref>.
 
=== Un esempio pratico: l'analisi di malware ===
Una delle applicazioni più promettenti dell'apprendimento automatico è quella dell'analisi automatizzata di [[malware]]. In particolare, diversi lavori hanno applicato algoritmi di [[clustering]] per determinare in modo automatico la famiglia di appartenenza di eventuali campioni<ref>{{Cita pubblicazione|nome=Michael|cognome=Bailey|nome2=Jon|cognome2=Oberheide|nome3=Jon|cognome3=Andersen|data=2007|titolo=Automated Classification and Analysis of Internet Malware|rivista=Recent Advances in Intrusion Detection|editore=Springer|pp=178–197178-197|lingua=en|accesso=17 giugno 2021|doi=10.1007/978-3-540-74320-0_10|url=https://link.springer.com/chapter/10.1007/978-3-540-74320-0_10}}</ref><ref>{{Cita pubblicazione|nome=Konrad|cognome=Rieck|nome2=Philipp|cognome2=Trinius|nome3=Carsten|cognome3=Willems|data=1º gennaio 2011|titolo=Automatic analysis of malware behavior using machine learning|rivista=Journal of Computer Security|volume=19|numero=4|pp=639–668639-668|lingua=en|accesso=17 giugno 2021|doi=10.3233/JCS-2010-0410|url=https://content.iospress.com/articles/journal-of-computer-security/jcs410}}</ref><ref>{{Cita pubblicazione|nome=Konrad|cognome=Rieck|nome2=Thorsten|cognome2=Holz|nome3=Carsten|cognome3=Willems|data=2008|titolo=Learning and Classification of Malware Behavior|rivista=Detection of Intrusions and Malware, and Vulnerability Assessment|editore=Springer|pp=108–125108-125|lingua=en|accesso=17 giugno 2021|doi=10.1007/978-3-540-70542-0_6|url=https://link.springer.com/chapter/10.1007/978-3-540-70542-0_6}}</ref>. Tuttavia, essendo l'analisi dei malware un'attività dalla forte componente avversariale, eventuali sistemi di apprendimento automatico devono necessariamente tenere in conto di potenziali attacchi adversarial. È stato infatti dimostrato come l'inserimento di pochi campioni all'interno del dataset (i quali potrebbero essere raccolti inavvertitamente da un [[honeypot]]) possa compromettere il risultato dell'intero processo di clustering<ref name=":4" />.
 
== Note ==