Blog.

Adversarial Attack | Cos’è un Attacco Avversario


Autore
Andrea Provino
Data
Tempo di lettura
5 minuti
Categoria
machine-learning

adversarial-attacks-taxonomy-deep-learning-blog-italia-machine-learning

Un Adversarial Attack è un attacco compiuto per mezzo di adversarial examples ai danni di un modello di machine learning, avente l’obiettivo d’ingannarlo affinché l’aggressore ottenga un vantaggio.

Gli adversarial attacks costiuiscono una seria minaccia alla creazione di modelli sicuri.

Sono pertanto il tallone d’Achille dell’AI Safety.

Devi sapere che a gennaio abbiamo iniziato un ambizioso progetto: approfondire 5 grandi aree tematiche, che rappresentano l’intersezione tra etica, AI e società.

Più nel dettaglio:

  • Trust AI (qui)
  • Verification (qui)
  • Security
  • Privacy (qui)
  • Adversarial (argomento iniziato qui, e proseguito su questo articolo!)

In questo post, vedremo come classificare e riconoscere gli adversarial attack!

Preparati a esaminare vecchi articoli accademici e scovare preziose informazioni nascoste.

Il nostro sarà un viaggio avventuroso!

Prima, assicuriamoci di aver preso tutto per questa spedizione.

Nel nostro precedente post abbiamo introdotto sinteticamente il tema dell’Adversarial AI e compreso intuitivamente la portata della minaccia.

Oggi esploriamo tecnicamente gli attacchi noti.

Un’ultima considerazione prima di salpare.

La maggior parte delle ricerche è stata condotta nell’ambito della computer vision.

Qui, l’influenza degli attacchi sembra essere maggiore anche se più in generale parleremo di classificatori.

Adversarial Attack Taxonomy

Nel libro Adversarial Machine Learning, gli autori distinguono gli attacchi avversari con una tassonomia che considera tre dimensioni: influenza, violazione di sicurezza e specificità.

In questo modo siamo in grado di caratterizzare i possibili attacchi compiuti ai danni dei sistemi di apprendimento, i learner.

Sarò sincero con te.

Non ti aspettare che questa tassonomia sia il Sacro Graal.

Con l’emergere di nuove ricerche, potrebbe infatti essere implementata, modificata o addirittura sostituita.

Rappresenta comunque un buon punto di partenza per farci strada nell’affascinante mondo degli adversarial attack.

Un’ultima cosa.

Riconosciamo almeno 12 classi di attacchi differenti con questa tassonomia, poiché le dimensioni operano in modo indipendente tra loro.

Benissimo, procediamo!

Attack influence

Questo primo asse descrive le capacità di attacco dell’avversario, il quale può avere un’influenza distinguibile in causativa ed esplorativa.

L’influenza causativa (causative influence) mina le capacità di apprendimento del sistema, manipolando sia il dataset di training che quello di testing.

Troviamo qui un esempio ben documentato.

L’influenza esplorativa (exploratory influence) pone un focus sulla ricerca e lo sfruttamento di vulnerabilità al solo livello predittivo e non influenza dunque la fase di training; al contrario mina quella predittiva.

Qui trovi un esempio, anche se particolarmente verboso.

Con quest’ultima modalità l’avversario invia istanze opportunamente alterate e ne studia gli effetti sulle previsioni del modello.

Comunque, in entrambi i casi, le capacità di attacco di un potenziale aggressore possono essere influenzate anche da eventuali limitazioni di manipolazione imposte dagli sviluppatori.

Approfondiremo meglio prossimamente.

Security Violation

La seconda dimensione è la violazione di sicurezza prodotta dall‘adversarial attack.

Le violazioni sono qui di tre tipologie.

Distinguiamo le violazioni d’integrità, da quelle di disponibilità, e di privacy.

Il risultato di una violazione di integrità (integrity violation) è l’aumento dei falsi negativi (false negative). L’aggressore ottiene un accesso non autorizzato al sistema per far legittimare esempi maligni.

Le violazioni di disponibilità (availability violation) aumentano la percentuale di classificazioni errate (falsi positivi e falsi negativi) compromettendo la normale operatività del sistema e causando denial of services; rendendo di conseguenza il modello inutilizzabile.

Le violazioni di privacy infine ottengono informazioni confidenziali sul dataset di training compromettendo la privacy delle istanze presenti.

Un esempio di attacco di questo tipo può essere eseguito ai danni di un sistema di riconoscimento biometrico.

Possiamo potenzialmente recuperare i modelli d’impronte impiegate nell’addestramento del modello, ottenendo così le identità dei clienti.

Specificity

La terza dimensione prende in esame la specificità dell’attacco, che può essere mirata o indiscriminata

Analizziamo entrambi gli attacchi.

Devi sapere che un attacco mirato (o targhetizzato, targeted) mira a una particolare istanza, intendendo degradare le performance del modello in modo circoscritto.

Uno di tipo indiscriminato (indiscriminate) coinvolge invece un’ampia classe d’istanze.

Esempi di attacco avversario

Ora ti mostro diversi adversarial attack classificati in base alla tassonomia di cui sopra, che possono essere eseguiti i danni di un PDF malware detector.

adversarial attack classificationadversarial attack description
attacco di integrità causativa L’aggressore intende ingannare il modello affinché classifichi PDF malevoli come validi e sicuri. L’operazione prevede l’inserimento di PDF benigni con caratteristiche falsate nel dataset di training. L’atacco è poi targeted se le cartteristiche corrispondono ad uno specifico malware oppure indiscriminate in caso contrario
attacco di disponibilità causativa L’aggressore inietta esempi malevoli che esibiscono caratteristiche comuni a quelli benigni. L’attacco può essere targeted se l’aggressore intende manipolare la classificazione di un gruppo ristretto di PDF.
attacco di violazione privacy causativaE’ un attacco complesso mosso su più fronti.

L’aggiunta di PDF malevoli con caratteristiche che identificano uno specifico autore sono inserite nel sistema.

Quindi l’aggressore studia gli output testando se altri PDF con quelle caratteristiche vengano classificati come malevoli.

Questo comportamento potrebbe far trasparire informazioni confidenziali su altri autori del trainig data.

In questo articolo accademico trovi maggiori esempi e una più accurata analisi.

Threat model | Attacks scenarios

La tassonomia che abbiamo sin qui analizzato è stata estesa in un più comprensivo modello sulle minacce (threat model), per creare ipotesi su:

  • L’obiettivo dell’aggressore
  • Conoscenza del sistema attaccato
  • Capacità di manipolazione dei dati in input e/o delle componenti del sistema.
  • Identificazione formale dell’attacco

Cos’è quel bagliore all’orizzonte?

Abbiamo capito.

Siamo arrivati alla nostra destinazione: ecco due dei principali scenari di attacco, identificati proprio grazie a questo modello.

Evasion Attacks

Gli evasion attacks sono la tipologia di attacco prevalente. Esempi malevoli sono appositamente creati per evitare il riconoscimento e fare in modo che vengano erroneamente classificati come legittimi.

Un esempio di evasion attack è quello delle image-based spam.

Poisoning attacks

I poisoning attacks sono particolarmente efficaci contro sistemi di online learning.

In questi casi, i modelli di machine learning sono spesso allenati periodicamente sui nuovi dati disponibili, collezionati durante l’operatività.

Un esempio?

Gli Intrusion Detection Systems (IDSs).

In questo scenario un aggressore potrebbe avvelenare i dati di training iniettando esempi modificati per compromettere l’intera fase di learning.

Per il momento è tutto.

Un caldo abbraccio, Andrea.

Taggedadversarialdeep learning


Ultimi post

Patricia Merkle Trie

Il Practical Algorithm To Retrieve Information Coded In Alphanumeric Merkle Trie, o Patricia Merkle Trie è una struttura dati chiave-valore usatada Ethereum e particolarmente efficiente per il salvataggio e la verifica dell’integrità dell’informazione. In questo post ne studieremo le caratteristiche. Prima di procedere, ci conviene ripassare l’introduzione al Merkle Tree nella quale abbiamo chiarito il […]

Andrea Provino
ethereum-patricia-merkle-tree
Tree Data Structure: cos’è un Merkle Tree

Un Merkle Tree è una struttura dati efficiente per verificare che un dato appartenga a un insieme esteso di elementi. È comunemente impiegato nelle Peer to Peer network in cui la generazione efficiente di prove (proof) contribuisce alla scalabilità della rete. Capire i vantaggi di questa struttura ci tornerà utile nel nostro percorso di esplorazione […]

Andrea Provino
merkle-tree-cover
UTXO: come funziona il modello Unspent Transaction Outputs

Per tenere traccia dei bilanci utente, la blockchain di Bitcoin sfrutta un modello di contabilità definito UTXO o Unspent Transaction Outputs. In questo articolo ne esaminiamo le caratteristiche. Ogni blockchain è dotata di un sistema di contabilità, un meccanismo attraverso cui tenere traccia dei bilanci di ciascun utente. I due grandi modelli di riferimento nel […]

Andrea Provino
bitcoin-utxo
Cos’è Ethereum

Possiamo definire Ethereum come una macchina a stati distribuita che traccia le transizioni di un archivio dati general-purpose (i.e. una memoria in grado di registrare qualsiasi dato esprimibile come coppia di chiave e valore o key-value) all’interno della Ethereum Blockchain. È arrivato il momento di esplorare uno dei progetti tecnologici più innovativi e interessanti degli […]

Andrea Provino
ethereum