Seguici sui social

Intelligenza Artificiale

Attaccare i sistemi di elaborazione del linguaggio naturale con esempi contraddittori

mm

I ricercatori nel Regno Unito e in Canada hanno ideato una serie di attacchi contraddittori con scatola nera contro i sistemi di elaborazione del linguaggio naturale (NLP) che sono efficaci contro un'ampia gamma di framework di elaborazione del linguaggio popolari, inclusi i sistemi ampiamente diffusi da Google, Facebook, IBM e Microsoft.

L’attacco può essere potenzialmente utilizzato per paralizzare i sistemi di traduzione basati sull’apprendimento automatico costringendoli a produrre sciocchezze o a modificare effettivamente la natura della traduzione; alla formazione dei colli di bottiglia dei modelli PNL; classificare erroneamente il contenuto tossico; avvelenare i risultati dei motori di ricerca provocando un'indicizzazione errata; impedire ai motori di ricerca di identificare contenuti dannosi o negativi perfettamente leggibili da una persona; e persino causare attacchi Denial-of-Service (DoS) sui framework NLP.

Sebbene gli autori abbiano rivelato le vulnerabilità proposte nel documento a diverse parti anonime i cui prodotti sono presenti nella ricerca, ritengono che il settore dell'NLP sia stato lento nel proteggersi dagli attacchi avversari. Il documento afferma:

Questi attacchi sfruttano le caratteristiche della codifica del linguaggio, come caratteri invisibili e omoglifi. Sebbene siano stati osservati occasionalmente in passato in truffe di spam e phishing, i progettisti dei numerosi sistemi NLP ora implementati su larga scala sembrano averli completamente ignorati.

Molti degli attacchi sono stati condotti in un ambiente "black box" il più possibile simile a quello di una "scatola nera", tramite chiamate API a sistemi MLaaS, anziché tramite versioni FOSS installate localmente dei framework NLP. In merito all'efficacia combinata dei sistemi, gli autori scrivono:

"Tutti gli esperimenti sono stati eseguiti in un ambiente a scatola nera in cui sono consentite valutazioni illimitate del modello, ma non è consentito l'accesso ai pesi o allo stato del modello valutato". Questo rappresenta uno dei modelli di minaccia più forti per i quali gli attacchi sono possibili in quasi tutte le impostazioni, comprese le offerte commerciali di Machine-Learning-as-a-Service (MLaaS). Ogni modello esaminato era vulnerabile a impercettibili attacchi di perturbazione.

"Riteniamo che l'applicabilità di questi attacchi dovrebbe in teoria essere generalizzata a qualsiasi modello NLP basato su testo, senza adeguate difese in atto."

. carta è intitolato Cattivi personaggi: impercettibili attacchi di PNL, 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 documento è esemplare: è pieno di caratteri Unicode "impercettibili" che costituiscono la base di uno dei quattro principali metodi di attacco adottati dai ricercatori.

Anche il titolo dell'articolo nasconde dei misteri.

Anche il titolo del giornale nasconde dei misteri.

Metodo/i

Il documento propone tre metodi di attacco primari efficaci: personaggi invisibili; omoglifi, E riordiniQuesti sono i metodi "universali" che i ricercatori hanno scoperto possedere un'ampia portata contro i framework NLP in scenari black box. Un metodo aggiuntivo, che prevede l'uso di un delete carattere, è stato trovato dai ricercatori adatto solo per pipeline NLP insolite che fanno uso degli appunti del sistema operativo.

1: Personaggi invisibili

Questo attacco utilizza caratteri codificati in un font che non corrispondono a 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. Molte di queste mappature 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 dividono le parole in segmenti che o non significano nulla per un sistema di elaborazione del linguaggio naturale o, se realizzati con cura, possono significare qualcosa di diverso da una traduzione accurata. Per il lettore occasionale, il testo originale è corretto.

Dall'articolo, un esempio ipotetico di un attacco che utilizza caratteri invisibili, che suddivide le parole di input in segmenti che o non significano nulla per un sistema di elaborazione del linguaggio naturale o, se realizzati con cura, possono impedire una traduzione accurata. Per il lettore occasionale, il testo originale in entrambi i casi è corretto. Fonte: https://arxiv.org/pdf/2106.09898.pdf

In genere, non è possibile utilizzare semplicemente uno di questi caratteri non riconosciuti per creare uno spazio di larghezza zero, poiché la maggior parte dei sistemi visualizzerà un simbolo "segnaposto" (ad esempio un quadrato o un punto interrogativo in una casella angolata) per rappresentare il carattere non riconosciuto.

Tuttavia, come osserva il documento, solo una piccola manciata di caratteri domina l'attuale scena informatica e, ovviamente, tendono ad aderire allo standard Unicode.

Pertanto, i ricercatori hanno scelto i glifi Unifont di GNU per i loro esperimenti, in parte per la loro "robusta copertura" di Unicode, ma anche perché assomigliano a molti altri font "standard" che probabilmente verranno forniti ai sistemi NLP. Sebbene i caratteri invisibili prodotti da Unifont non vengano renderizzati, vengono comunque conteggiati come caratteri visibili dai sistemi NLP testati.

Applicazioni
Tornando al titolo "artigianale" del documento stesso, possiamo vedere che l'esecuzione di una ricerca su Google dal testo selezionato non produce il risultato atteso:

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

'Anche se un documento perturbato può essere scansionato dal crawler di un motore di ricerca, i termini utilizzati per indicizzarlo saranno influenzati dalle perturbazioni, rendendo meno probabile che appaia da una ricerca su termini imperturbabili. È così possibile nascondere i documenti dai motori di ricerca “in bella vista”.

'A titolo di esempio, un'azienda disonesta potrebbe mascherare informazioni negative nei suoi documenti finanziari in modo che i motori di ricerca specializzati utilizzati dagli analisti azionari non riescano a individuarle.'

Gli unici scenari in cui l'attacco "caratteri invisibili" si è dimostrato meno efficace sono stati quelli contro contenuti tossici, modelli di Named Entity Recognition (NER) e modelli di analisi del sentiment. Gli autori ipotizzano che ciò sia dovuto al fatto che i modelli sono stati addestrati su dati che contenevano anche caratteri invisibili, oppure che il tokenizzatore del modello (che scompone l'input linguistico grezzo in componenti modulari) era già configurato per ignorarli.

2: Omoglifi

Un omoglifo è un carattere che assomiglia a un altro carattere – una debolezza semantica che è stata sfruttata nel 2000 per creare un replica della truffa del dominio di elaborazione dei pagamenti PayPal.

In questo ipotetico esempio tratto dall'articolo, un attacco di omoglifi cambia il significato di una traduzione sostituendo omoglifi visivamente indistinguibili (contornati in rosso) ai caratteri latini comuni.

In questo ipotetico esempio tratto dall'articolo, un attacco di omoglifi cambia il significato di una traduzione sostituendo omoglifi visivamente indistinguibili (contornati in rosso) ai caratteri latini comuni.

Gli autori commentano*:

'Abbiamo scoperto che l'apprendimento automatico modella quell'elaborazione il testo fornito dall'utente, come i sistemi di traduzione automatica neurale, è particolarmente vulnerabile a questo tipo di attacco. Si consideri, ad esempio, il servizio leader di mercato Google Traduttore. Al momento della scrittura, inserendo la stringa "pagal” in inglese al modello russo restituisce 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 che si trovano al di fuori del loro dizionario specifico della lingua con un ('sconosciuto') token, i processi software che richiamano il testo avvelenato nella pipeline possono propagare parole sconosciute per la valutazione prima che questa misura di sicurezza possa entrare in funzione. Gli autori affermano che questo 'apre una superficie di attacco sorprendentemente ampia'.

3: Riordini

Unicode consente l'uso di lingue scritte da sinistra a destra, con l'ordinamento gestito dal sistema bidirezionale di Unicode (BIDI) algoritmo. La combinazione di caratteri da destra a sinistra e da sinistra a destra in una singola stringa è quindi fonte di confusione e Unicode ha tenuto conto di ciò consentendo a BIDI di essere sovrascritto da speciali caratteri di controllo. Questi consentono un rendering quasi arbitrario per un ordinamento di codifica fisso.

In un altro esempio teorico tratto dall'articolo, un meccanismo di traduzione è indotto a mettere tutte le lettere del testo tradotto nell'ordine sbagliato, perché obbedisce alla codifica errata da destra a sinistra/da sinistra a destra, a causa di una parte del testo di origine contraddittorio (cerchiato) ordinandogli di farlo.

In un altro esempio teorico tratto dall'articolo, un meccanismo di traduzione è indotto a mettere tutte le lettere del testo tradotto nell'ordine sbagliato, perché obbedisce alla codifica errata da destra a sinistra/da sinistra a destra, a causa di una parte del testo di origine contraddittorio (cerchiato) ordinandogli di farlo.

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

Inoltre: eliminazioni

Incluso qui in modo che i successivi grafici dei risultati siano chiari, il eliminazioni l'attacco comporta l'inclusione di un carattere che rappresenta un backspace o un altro controllo/comando che influisce sul testo, che viene effettivamente implementato dal sistema di lettura della lingua in uno stile simile a una macro di testo.

Gli autori osservano:

'Un piccolo numero di caratteri di controllo in Unicode può causare testo adiacente da rimuovere. Gli esempi più semplici sono i caratteri backspace (BS) e cancella (DEL). C'è anche il ritorno a capo (CR) che fa sì che l'algoritmo di rendering del testo ritorni all'inizio della riga e ne sovrascriva il contenuto.

'Per esempio, testo codificato che rappresenta “Ciao CRSaluti finali World” verrà reso come “Goodbye Mondo".'

Come affermato in precedenza, questo attacco richiede effettivamente un livello di accesso improbabile per funzionare e sarebbe totalmente efficace solo con il testo copiato e incollato tramite appunti, sistematicamente o meno: una pipeline di ingestione NLP non comune.

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

In un attacco di cancellazione, i caratteri creati cancellano effettivamente ciò che li precede, oppure forzano il testo di una riga in un secondo paragrafo, in entrambi i casi senza renderlo ovvio al lettore occasionale.

In un attacco di cancellazione, i caratteri creati cancellano effettivamente ciò che li precede, oppure forzano il testo di una riga in un secondo paragrafo, in entrambi i casi senza renderlo ovvio al lettore occasionale.

Efficacia contro gli attuali sistemi di PNL

I ricercatori hanno eseguito una serie di attacchi non mirati e mirati su cinque popolari modelli closed-source di Facebook, IBM, Microsoft, Google e HuggingFace, oltre a tre modelli open source.

Hanno anche testato attacchi 'spugna' contro i modelli. Un attacco spugna è di fatto un attacco DoS per i sistemi NLP, in cui il testo di input "non viene elaborato" e rallenta notevolmente l'addestramento, un processo che normalmente dovrebbe essere reso impossibile dalla pre-elaborazione dei dati.

I cinque compiti di PNL valutati erano la traduzione automatica, il rilevamento di contenuti tossici, la classificazione delle implicazioni testuali, il riconoscimento di entità denominate e l'analisi del sentimento.

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

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

Risultati derivanti dall'applicazione di esempi contraddittori contro Facebook Seq Modello EN-FR.

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

Risultati degli attacchi contro IBM classificatore di contenuto tossico e di Google API prospettiva.

Due attacchi contro Fairseq di Facebook: "untargeted" mira a sconvolgere, mentre "targeted" mira a cambiare il significato della lingua tradotta.

Due attacchi contro Fairseq di Facebook: "untargeted" mira a interrompere, mentre "targeted" mira a cambiare il significato del linguaggio tradotto.

I ricercatori hanno ulteriormente testato il loro sistema rispetto a framework precedenti che non erano in grado di generare testo perturbante "leggibile dall'uomo" nello stesso modo, e hanno scoperto che il sistema era ampiamente alla pari con questi, e spesso notevolmente migliore, pur mantenendo l'enorme vantaggio della furtività.

L'efficacia media tra tutti i metodi, i vettori di attacco e gli obiettivi si aggira intorno all'80%, con pochissime iterazioni eseguite.

Commentando i risultati, i ricercatori affermano:

"Forse l'aspetto più inquietante dei nostri impercettibili attacchi di perturbazione è la loro ampia applicabilità: tutti i sistemi di PNL testuali che abbiamo testato sono suscettibili. In effetti, qualsiasi modello di apprendimento automatico che ingerisce il 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 tutto il testo è soggetto a codifica avversaria, a meno che la codifica non sia opportunamente vincolata.'

Riconoscimento ottico universale dei caratteri?

Questi attacchi dipendono da quelle che di fatto sono "vulnerabilità" in Unicode e verrebbero evitati in una pipeline NLP che rasterizzasse tutto il testo in arrivo e utilizzasse il riconoscimento ottico dei caratteri come misura di sanificazione. In tal caso, lo stesso significato semantico non malevolo visibile a chi legge questi attacchi perturbati verrebbe trasmesso al sistema NLP.

Tuttavia, quando i ricercatori hanno implementato una pipeline OCR per testare questa teoria, hanno scoperto che il BLEU (Understudy di valutazione bilingue) hanno ridotto l'accuratezza di base del 6.2% e suggeriscono che per rimediare a questo problema sarebbero probabilmente necessarie tecnologie OCR migliorate.

Suggeriscono inoltre che i caratteri di controllo BIDI dovrebbero essere rimossi dall'input per impostazione predefinita, che gli omoglifi insoliti dovrebbero essere mappati e indicizzati (cosa che definiscono "un compito arduo") e che i tokenizzatori e altri meccanismi di ingestione dovrebbero essere armati contro i caratteri invisibili.

In chiusura, il gruppo di ricerca esorta il settore della PNL a diventare più attento alle possibilità di attacchi avversari, attualmente un campo di grande interesse nella ricerca sulla visione artificiale.

"[Noi] raccomandiamo a tutte le aziende che sviluppano e implementano sistemi NLP basati su testo di implementare tali difese se vogliono che le loro applicazioni siano resistenti agli attacchi di malintenzionati".

 

 

* La mia conversione di citazioni in linea in collegamenti ipertestuali

18:08 14 dicembre 2021 – rimossa la menzione duplicata di IBM, spostato il collegamento interno automatico dalla citazione – MA

Scrittore di machine learning, specialista di dominio nella sintesi di immagini umane. Ex responsabile dei contenuti di ricerca presso Metaphysic.ai.
Sito personale: martinandson.ai
Contatti: [email protected]
Twitter: @manders_ai