Angolo di Anderson

Attaccare i Sistemi di Elaborazione del Linguaggio Naturale con Esempi Avversari

mm
Aggiungi Unite.AI alle tue fonti preferite su Google

I ricercatori del Regno Unito e del Canada hanno ideato una serie di attacchi avversari di tipo black box contro i sistemi di elaborazione del linguaggio naturale (NLP) che sono efficaci contro una vasta gamma di framework di elaborazione del linguaggio popolari, tra cui sistemi ampiamente utilizzati da Google, Facebook, IBM e Microsoft.

L’attacco può potenzialmente essere utilizzato per paralizzare i sistemi di traduzione automatica costringendoli a produrre nonsensi o addirittura cambiare la natura della traduzione; per bloccare l’addestramento dei modelli NLP; per classificare erroneamente i contenuti tossici; per avvelenare i risultati dei motori di ricerca causando un indice difettoso; per far fallire i motori di ricerca nell’identificare contenuti maligni o negativi che sono perfettamente leggibili per una persona; e persino per causare attacchi di Denial-of-Service (DoS) ai framework NLP.

Sebbene gli autori abbiano divulgato le vulnerabilità proposte nel paper a varie parti non nominate le cui prodotti figurano nella ricerca, ritengono che l’industria NLP sia stata lenta nel proteggersi contro gli attacchi avversari. Il paper afferma:

‘Questi attacchi sfruttano le caratteristiche di codifica del linguaggio, come i caratteri invisibili e gli omografi. Sebbene siano stati visti occasionalmente in passato in spam e truffe, i progettisti dei molti sistemi NLP che vengono ora distribuiti su larga scala sembrano averli completamente ignorati.’

Diversi degli attacchi sono stati condotti in un ambiente “black box” come possibile – tramite chiamate API ai sistemi MLaaS, piuttosto che versioni locali FOSS dei framework NLP. Riguardo all’efficacia combinata dei sistemi, gli autori scrivono:

‘Tutti gli esperimenti sono stati condotti in un ambiente black-box in cui sono consentite valutazioni del modello illimitate, ma l’accesso ai pesi o allo stato del modello valutato non è consentito. Ciò rappresenta uno dei modelli di minaccia più forti per cui gli attacchi sono possibili nella maggior parte delle impostazioni, compresi contro le offerte commerciali di Machine-Learning-as-a-Service (MLaaS). Ogni modello esaminato era vulnerabile agli attacchi di perturbazione impercettibili.

‘Crediamo che l’applicabilità di questi attacchi dovrebbe in teoria generalizzarsi a qualsiasi modello NLP basato su testo senza adeguate difese in atto.’

Il paper si intitola Caratteri cattivi: attacchi NLP impercettibili, e proviene da tre ricercatori di tre dipartimenti dell’Università di Cambridge e dell’Università di Edimburgo, e da un ricercatore dell’Università di Toronto.

Il titolo del paper è esemplare: è pieno di caratteri Unicode “impercettibili” che formano la base di uno dei quattro metodi di attacco principali adottati dai ricercatori.

Anche il titolo del paper ha misteri nascosti.

Anche il titolo del paper ha misteri nascosti.

Metodo/i

Il paper propone tre metodi di attacco efficaci principali: caratteri invisibili; omografi; e riordinamenti. Questi sono i metodi “universali” che i ricercatori hanno trovato avere un’ampia portata contro i framework NLP in scenari black box. Un metodo aggiuntivo, che utilizza un carattere di cancellazione, è stato trovato dai ricercatori essere adatto solo per pipeline NLP insolite che utilizzano la clipboard del sistema operativo.

1: Caratteri invisibili

Questo attacco utilizza caratteri codificati in un font che non mappano un glifo nel sistema Unicode. Il sistema Unicode è stato progettato per standardizzare il testo elettronico e ora copre 143.859 caratteri in più lingue e gruppi di simboli. Molti di questi mapping non conterranno alcun carattere visibile in un font (che non può, naturalmente, includere caratteri per ogni possibile voce in Unicode).

Dall'articolo, un esempio ipotetico di un attacco che utilizza caratteri invisibili, che divide le parole in segmenti che o non significano nulla per un sistema NLP, o, se attentamente progettati, possono significare qualcosa di diverso per una traduzione precisa. Per il lettore casuale, il testo originale è corretto.

Dall’articolo, un esempio ipotetico di un attacco che utilizza caratteri invisibili, che divide le parole in segmenti che o non significano nulla per un sistema NLP, o, se attentamente progettati, possono impedire una traduzione precisa. Per il lettore casuale, il testo originale in entrambi i casi è corretto. Fonte: https://arxiv.org/pdf/2106.09898.pdf

Tipicamente, non si può semplicemente utilizzare uno di questi caratteri non-caratteri per creare uno spazio di larghezza zero, poiché la maggior parte dei sistemi renderà un simbolo “placeholder” (come un quadrato o un punto interrogativo in una scatola inclinata) per rappresentare il carattere non riconosciuto.

Tuttavia, come osserva il paper, solo una manciata di font dominano la scena informatica attuale e, non sorprendentemente, tendono ad aderire allo standard Unicode.

Pertanto, i ricercatori hanno scelto i glifi di Unifont di GNU per i loro esperimenti, in parte a causa della loro “copertura robusta” di Unicode, ma anche perché assomiglia a molti degli altri font “standard” che sono probabilmente alimentati ai sistemi NLP. Mentre i caratteri invisibili prodotti da Unifont non si rendono, sono comunque conteggiati come caratteri visibili dai sistemi NLP testati.

Applicazioni
Tornando al titolo “progettato” del paper, possiamo vedere che eseguire una ricerca su Google dal testo selezionato non produce il risultato previsto:

Questo è un effetto lato client, ma le ramificazioni lato server sono un po’ più gravi. Il paper osserva:

‘Anche se un documento perturbato può essere crawled da un motore di ricerca, i termini utilizzati per indicizzarlo saranno influenzati dalle perturbazioni, rendendolo meno probabile che appaia da una ricerca su termini non perturbati. È quindi possibile nascondere documenti dai motori di ricerca “in piena vista.”

‘Ad esempio, un’azienda disonesta potrebbe mascherare le informazioni negative nei suoi bilanci finanziari in modo che i motori di ricerca specializzati utilizzati dagli analisti di mercato non li rilevino.’

L’unico scenario in cui l’attacco dei “caratteri invisibili” si è rivelato meno efficace è stato contro i modelli di contenuto tossico, di riconoscimento di entità nominate (NER) e di analisi del sentimento. Gli autori ipotizzano che ciò sia dovuto al fatto che i modelli sono stati addestrati su dati che contengono già caratteri invisibili o che il tokenizer del modello (che divide l’input linguistico grezzo in componenti modulari) era già configurato per ignorarli.

2: Omografi

Un omografo è un carattere che assomiglia a un altro carattere – una debolezza semantica che è stata sfruttata nel 2000 per creare una replica di truffa del dominio di pagamento PayPal (PYPL ).

In questo esempio ipotetico tratto dal paper, un attacco omografo cambia il significato di una traduzione sostituendo omografi visivamente indistinguibili (evidenziati in rosso) con caratteri latini comuni.

In questo esempio ipotetico tratto dal paper, un attacco omografo cambia il significato di una traduzione sostituendo omografi visivamente indistinguibili (evidenziati in rosso) con caratteri latini comuni.

Gli autori commentano:

‘Abbiamo scoperto che i modelli di apprendimento automatico che elaborano testo fornito dall’utente, come i sistemi di traduzione automatica neurali, sono particolarmente vulnerabili a questo tipo di attacco. Considerate, ad esempio, il servizio leader di mercato Google Translate. Al momento della stesura, l’inserimento della stringa “paypal” nel modello inglese-russo produce correttamente “PayPal”, ma sostituendo il carattere latino “a” nell’input con il carattere cirillico а produce erroneamente “папа” (“padre” in inglese).’

I ricercatori osservano che mentre molte pipeline NLP sostituiranno i caratteri al di fuori del loro dizionario linguistico specifico con un token “” (“sconosciuto”), i processi software che convocano il testo avvelenato nella pipeline possono propagare parole sconosciute per la valutazione prima che questa misura di sicurezza possa entrare in vigore. Gli autori affermano che ciò “apre una superficie di attacco sorprendentemente ampia”.

3: Riordinamenti

L’Unicode consente lingue scritte da sinistra a destra, con l’ordinamento gestito dall’algoritmo di direzionalità bidirezionale (BIDI) di Unicode. Mescolare caratteri da destra a sinistra e da sinistra a destra in una stringa è quindi confondente e l’Unicode ha fatto provisione per questo consentendo a BIDI di essere sovrascritto da caratteri di controllo speciali. Questi consentono un rendering quasi arbitrario per un ordinamento di codifica fisso.

In un altro esempio teorico tratto dal paper, un meccanismo di traduzione è costretto a mettere tutte le lettere del testo tradotto in ordine sbagliato, perché sta obbedendo all'ordinamento di codifica da destra a sinistra/sinistra-destra sbagliato, a causa di una parte del testo sorgente avversario (cerchiato) che gli ordina di farlo.

In un altro esempio teorico tratto dal paper, un meccanismo di traduzione è costretto a mettere tutte le lettere del testo tradotto in ordine sbagliato, perché sta obbedendo all’ordinamento di codifica da destra a sinistra/sinistra-destra sbagliato, a causa di una parte del testo sorgente avversario (cerchiato) che gli ordina di farlo.

Gli autori affermano che al momento della stesura del paper, il metodo era efficace contro l’implementazione di Unicode nel browser web Chromium, la fonte upstream per il browser Google Chrome, il browser Microsoft Edge e un numero considerevole di altri fork.

Anche: Cancellazioni

Incluso qui in modo che i risultati successivi dei grafici siano chiari, l’attacco di “cancellazione” coinvolge l’inclusione di un carattere che rappresenta un backspace o un altro controllo/testo, che è effettivamente implementato dal sistema di lettura del linguaggio in uno stile simile a una macro di testo.

Gli autori osservano:

‘Un piccolo numero di caratteri di controllo in Unicode può causare la rimozione del testo adiacente. Gli esempi più semplici sono il backspace (BS) e il carattere di cancellazione (DEL). C’è anche il ritorno a capo (CR) che causa all’algoritmo di rendering del testo di tornare all’inizio della riga e sovrascrivere il suo contenuto.

‘Ad esempio, un testo codificato che rappresenta “Ciao CRArrivederci Mondo” verrà visualizzato come “Arrivederci Mondo”.’

Come affermato in precedenza, questo attacco richiede effettivamente un livello di accesso improbabile per funzionare e sarebbe completamente efficace solo con testo copiato e incollato tramite una clipboard, sistematicamente o meno – una pipeline di ingestione NLP insolita.

I ricercatori hanno comunque testato e si è comportato in modo paragonabile ai suoi compagni di squadra. Tuttavia, gli attacchi che utilizzano i primi tre metodi possono essere implementati semplicemente caricando documenti o pagine web (nel caso di un attacco contro motori di ricerca e/o pipeline di web scraping NLP).

In un attacco di cancellazione, i caratteri progettati cancellano efficacemente ciò che li precede, o costringono il testo a una sola riga in un secondo paragrafo, in entrambi i casi senza renderlo ovvio al lettore casuale.

In un attacco di cancellazione, i caratteri progettati cancellano efficacemente ciò che li precede, o costringono il testo a una sola riga in un secondo paragrafo, in entrambi i casi senza renderlo ovvio al lettore casuale.

Effettività contro i sistemi NLP attuali

I ricercatori hanno condotto una serie di attacchi mirati e non mirati su cinque modelli chiusi popolari di Facebook, IBM, Microsoft, Google e HuggingFace, nonché su tre modelli open source.

Hanno anche testato ‘sponge’ attacchi contro i modelli. Un attacco sponge è essenzialmente un attacco di Denial-of-Service per i sistemi NLP, dove il testo di input “non funziona” e causa un rallentamento critico dell’addestramento – un processo che dovrebbe normalmente essere reso impossibile dalla pre-elaborazione dei dati.

I cinque compiti NLP valutati sono stati la traduzione automatica, la rilevazione di contenuti tossici, la classificazione di implicazione testuale, il riconoscimento di entità nominate e l’analisi del sentimento.

Gli esperimenti sono stati condotti su un numero non specificato di GPU Tesla P100, ciascuno in esecuzione su un processore Intel Xeon Silver 4110 su Ubuntu. Per non violare i termini di servizio nel caso di chiamate API, gli esperimenti sono stati uniformemente ripetuti con un budget di perturbazione da zero (testo sorgente non influenzato) a cinque (massima perturbazione). I ricercatori sostengono che i risultati ottenuti potrebbero essere superati se fosse consentito un numero maggiore di iterazioni.

Risultati dall'applicazione di esempi avversari contro il modello EN-FR di Facebook Fairseq.

Risultati dall’applicazione di esempi avversari contro il modello Fairseq EN-FR di Facebook.

Risultati degli attacchi contro il classificatore di contenuti tossici di IBM e l'API Perspective di Google.

Risultati degli attacchi contro il classificatore di contenuti tossici di IBM e l’API Perspective di Google.

Due attacchi contro Facebook Fairseq: 'non mirato' mira a disturbare, mentre 'mirato' mira a cambiare il significato del linguaggio tradotto.

Due attacchi contro Facebook Fairseq: ‘non mirato’ mira a disturbare, mentre ‘mirato’ mira a cambiare il significato del linguaggio tradotto.

I ricercatori hanno ulteriormente testato il loro sistema contro precedenti framework che non erano in grado di generare testo perturbante “leggibile dall’uomo” nello stesso modo e hanno trovato il sistema in gran parte paragonabile a questi, e spesso notevolmente migliore, mantenendo il grande vantaggio della furtività.

La media dell’efficacia in tutti i metodi, vettori di attacco e obiettivi si aggira intorno all’80%, con poche iterazioni eseguite.

Commentando i risultati, i ricercatori affermano:

‘Forse l’aspetto più inquietante dei nostri attacchi di perturbazione impercettibili è la loro ampia applicabilità: tutti i sistemi NLP basati su testo che abbiamo testato sono suscettibili. In effetti, qualsiasi modello di apprendimento automatico che inghiotte testo fornito dall’utente come input è teoricamente vulnerabile a questo attacco.

‘Le implicazioni avversarie possono variare da un’applicazione all’altra e da un modello all’altro, ma tutti i modelli basati su testo si basano su testo codificato e tutti i testi sono soggetti a codifica avversaria a meno che la codifica non sia adeguatamente limitata.’

Riconoscimento Ottico dei Caratteri Universale?

Questi attacchi dipendono da ciò che sono essenzialmente “vulnerabilità” in Unicode e sarebbero annullati in una pipeline NLP che rasterizza tutto il testo in ingresso e utilizza il riconoscimento ottico dei caratteri come misura di sanificazione. In tal caso, lo stesso significato semantico non maligno visibile alle persone che leggono questi attacchi perturbati sarebbe passato al sistema NLP.

Tuttavia, quando i ricercatori hanno implementato una pipeline OCR per testare questa teoria, hanno scoperto che i punteggi BLEU (Bilingual Evaluation Understudy) hanno ridotto la precisione di base del 6,2% e suggeriscono che le tecnologie OCR migliorate sarebbero probabilmente necessarie per rimediare a questo.

Suggeriscono inoltre che i caratteri di controllo BIDI dovrebbero essere rimossi dall’input per impostazione predefinita, che gli omografi insoliti dovrebbero essere mappati e indicizzati (che caratterizzano come “un compito impegnativo”) e che i tokenizer e altri meccanismi di ingestione dovrebbero essere armati contro i caratteri invisibili.

In conclusione, il gruppo di ricerca esorta il settore NLP a diventare più consapevole delle possibilità di attacco avversario, attualmente un campo di grande interesse nella ricerca sulla visione computerizzata.

‘[Noi] raccomandiamo che tutte le aziende che costruiscono e distribuiscono sistemi NLP basati su testo implementino tali difese se desiderano che le loro applicazioni siano robuste contro gli attori maligni.’

 

 

* La mia conversione delle citazioni in linea in collegamenti ipertestuali

18:08 14 dicembre 2021 – rimozione della menzione duplicata di IBM, spostamento del collegamento interno automatico dalla citazione – MA

Scrittore di apprendimento automatico, specialista nel dominio della sintesi di immagini umane. Ex capo del contenuto di ricerca presso Metaphysic.ai, fino alla sua dissoluzione in DNEG's Brahma.ai.
Portfolio site: martinanderson.ai
Contact: martin@martinanderson.ai