L’Adversarial Machine Learning (AML) è la disciplina che studia le vulnerabilità del Machine Learning, occupandosi della progettazione di modelli in grado di resistere a complessi cyber attacchi, passando attraverso lo studio delle capacità di chi li sferra e degli effetti che possono provocare.
È evidente, dunque, l’importanza assunta da questa disciplina alla luce del fatto che il Machine Learning ha avuto negli ultimi anni una crescita a dir poco esponenziale. Non esiste azienda, indipendentemente dalla Industry di appartenenza o dai canali utilizzati per il proprio go-to-market, che non abbia trasformato digitalmente i suoi processi e non abbia dovuto confrontarsi con sistemi intelligenti e soluzioni tecnologiche che hanno assunto inevitabilmente un ruolo primario nelle loro strategie di sviluppo.
Ma insieme ai numerosi benefici che il Machine Learning abilita, esistono anche i cosiddetti lati oscuri: nuove sfide che le aziende devono saper affrontare, che per lo più si trovano nel campo della cyber security e che richiedono una revisione totale dei modelli di sicurezza applicati alle tecnologie di uso quotidiano, come nel caso delle applicazioni web.
E da qui il sempre maggiore ricorso all’Adversarial Machine Learning.
Adversarial AI, attacco Black-Box all’intelligenza artificiale: cos’è, caso d’uso e motivazioni
Indice degli argomenti
Nessuna fase del Machine Learning process è più al sicuro
È essenziale per le aziende prendere coscienza che un sistema intelligente implementato con Machine Learning (ML) può essere vulnerabile in tutte le sue fasi del processo di apprendimento.
Nell’era digitale, ogni singola funzione aziendale è stata impattata dalla digital transformation con l’impiego diffuso di software focalizzati sull’efficientamento della performance, per aumentarne la flessibilità, la sostenibilità e la produttività.
La conseguenza di questo è che ogni aspetto della vita aziendale è potenzialmente un obiettivo sensibile per attacchi cyber, dai modelli di machine learning ai singoli dati che costituiscono il cuore pulsante dell’apprendimento automatico.
Se pensiamo al primo step nella costruzione di un modello di ML – la raccolta dati – una possibile vulnerabilità può essere, ad esempio, nel processo di misurazione adottato per tradurre gli oggetti del mondo reale in astratti e strutturati, al fine di renderli comprensibili, significativi e rappresentativi dal punto di vista del modello ML.
Il rischio è che possano inserirsi degli input di processo malevoli, debellabili solo attraverso una riprogettazione, e a fronte di elevati costi economici per l’azienda.
Uno scenario simile si può presentare anche nella seconda fase, quella relativa alla preparazione del dataset in cui i dati raccolti vengono modificati attraverso un procedimento di selezione di caratteristiche significative, per efficientare il lavoro del ML. Un cyber attacco in questa fase comporterebbe un danno, in termini di costi, leggermente inferiori, perché sarebbe sufficiente un riaddestramento del modello.
Il terzo step è quello del training, articolato in due momenti: la learning model selection, che analizza e sceglie l’algoritmo di addestramento per generalizzare meglio il set di dati e adattarlo all’obiettivo del sistema con definizione di iper-parametri e il training vero e proprio.
Fare fronte a un eventuale attacco nella prima fase potrebbe richiedere una riprogettazione dell’intero modello o addirittura la creazione di uno alternativo, con elevati costi da sostenere.
Nella fase di training, un attacco potrebbe ingannare il modello per estrarre dati sensibili e comprometterne l’affidabilità. Tra tutte, questo tipo di vulnerabilità è quello meno invasivo per il modello, poiché ci sono diverse tecniche per rendere la fase di addestramento robusta e resiliente. Un esempio virtuoso è proprio la privacy differenziale. Senza dimenticare però che il compromesso tra robustezza e prestazioni è molto difficile da mantenere ed è necessario l’impiego di professionisti qualificati.
Gli ultimi due step della costruzione di un modello di ML riguardano la valutazione e l’improving continuo del sistema.
Di fatto, dopo l’addestramento, attraverso specifici algoritmi i set di dati sviluppano una propria logica per svolgere una funzione orientata ad un preciso obiettivo in base a cui il sistema di ML è stato creato, come un compito di classificazione o di regressione, per fare previsioni su dati nuovi.
In questo scenario, un malintenzionato potrebbe individuare possibili errori di previsione che, se sfruttati, aprirebbero la strada a diversi tipi di attacchi, come la violazione della privacy dei dati di addestramento.
La classificazione dei cyber attacchi secondo il NIST
Per pianificare una strategia di difesa di un sistema machine learning è importante conoscere nel dettaglio i cyber attacchi. Il National Institute of Standards and Technology statunitense nel 2019 ha messo a disposizione della comunità scientifica il NISTIR 8269 un rapporto minuzioso sulla classificazione degli attacchi che ha l’obiettivo di proporre un approccio standard e semplificato alle problematiche legate all’Adversarial Machine Learning.
Bersaglio, tecniche e conoscenze: tre concetti chiave attorno a cui ruota il mondo dei cyber-attack. In primo luogo, ogni attacco viene sferrato nei confronti di un Target e a seconda della particolare componente scelta come obiettivo cambierà la minaccia da affrontare: Physical Domain quando la mira è rivolta ai sensori fisici utilizzati per alimentare il sistema di ML con i dati del mondo reale; Digital Representation quando si punta alla fase di pre-processing; ML Model quando i metodi di apprendimento (supervisionato, non supervisionato o di rinforzo) diventano vittima dell’apprendimento automatico avversario.
Ogni attacco è qualitativamente descritto da tre parametri: influenza, violazione della sicurezza e specificità. L’influenza descrive le capacità dell’attaccante. Il Causative attack si verifica quando l’attacker decide di influenzare i dati di training, incidendo sulla fase di apprendimento. L’ Exploratory attack sottopone invece al modello nuove istanze preparate ad hoc e sfrutta la query per osservare il risultato della predizione indirizzato verso un fine malevolo.
La violazione della sicurezza è invece un valore che descrive il tipo di attacco sulla base di ciò che viene compromesso: le risorse del sistema intelligente minano l’integrità; i disservizi, le interruzioni o i malfunzionamenti impattano sulla disponibilità; il furto di informazioni riservate riguarda invece la privacy.
L’ultimo criterio riguarda la specificità dell’intenzione dei cyber-attacker e individua due tipologie. Da un lato ci sono i targeted attack che identificano situazioni in cui è stata presa di mira una particolare sezione di dati per estrarre informazioni sensibili e influenzare una specifica predizione. Mentre nello scenario opposto, nei non-targeted attack, l’aggressore vuole attaccare il modello in modo indiscriminato influenzando tutte le predizioni.
Gli attacchi si definiscono in maniera differente a seconda se corrompono il modello nelle fasi iniziali del processo, prima che questo venga rilasciato – in questo caso si parla di Attacks at training time (Poisoning attack e Backdoor attack) – o in fase di servizio, Attacks at inference time (Evasion attack, Model stealing, Data extraction).
Un’ulteriore classificazione può avvenire sulla base dei diversi livelli di conoscenza che l’aggressore possiede sul modello scelto come obiettivo. Anche qui si parla di tre tipologie: White Box, quando l’avversario ha una conoscenza completa del modello, inclusi architettura, parametri, metodi e dati; Black Box quando non ha alcuna conoscenza se non i campioni di input-output dei dati di addestramento; Grey Box quando ha a disposizione informazioni imparziali come i valori dei parametri o i dati del training.
Come portare i servizi intelligenti a un livello di sicurezza superiore
Mettere in sicurezza un sistema informatico è indubbiamente un tema attualmente al centro dell’attenzione delle aziende a cui rispondono le ultime strategie di cyber security applicabili al Machine Learning, perché è fondamentale capire che i rischi sono disseminati in tutto il ciclo di vita del sistema, dalla progettazione alla consegna e per tutta la durata del servizio.
Agire in prevenzione significa poter cogliere nuove opportunità e guardare al futuro con fiducia.