Unghiul lui Anderson

Atacarea sistemelor de procesare a limbajului natural cu exemple adverse

mm
Adaugă Unite.AI la sursele tale preferate pe Google

Cercetători din Regatul Unit și Canada au conceput o serie de atacuri adverse de tip black box împotriva sistemelor de procesare a limbajului natural (NLP) care sunt eficiente împotriva unei game largi de cadre de procesare a limbajului popular, inclusiv sisteme larg răspândite de la Google, Facebook, IBM și Microsoft.

Atacul poate fi utilizat pentru a compromite sistemele de traducere automată, forțându-le să producă nonsens sau să schimbe natura traducerii; pentru a îngreuna antrenarea modelelor NLP; pentru a clasifica greșit conținutul toxic; pentru a otrăvi rezultatele motoarelor de căutare, determinând indexarea defectuoasă; pentru a face motoarele de căutare să nu identifice conținutul malign sau negativ care este perfect lizibil pentru o persoană; și chiar pentru a provoca atacuri de tip Denial-of-Service (DoS) asupra cadrelor NLP.

Deși autorii au dezvăluit vulnerabilitățile propuse în lucrare unor părți neidentificate ale căror produse sunt prezentate în cercetare, ei consideră că industria NLP a fost leneșă în protejarea împotriva atacurilor adverse. Lucrarea afirmă:

‘Aceste atacuri exploatează caracteristicile codării limbajului, cum ar fi caracterele invizibile și homoglife. Deși au fost văzute ocazional în trecut în spam și escrocherii, designerii multor sisteme NLP care sunt acum implementate la scară largă par să le fi ignorat complet.’

Câtorva dintre atacuri li s-a efectuat într-un mediu “black box” cât mai mult posibil – prin apeluri API către sistemele MLaaS, și nu prin versiuni locale instalate FOSS ale cadrelor NLP. Despre eficacitatea combinată a sistemelor, autorii scriu:

‘Toate experimentele au fost efectuate într-un mediu “black box” în care evaluările modelului sunt permise nelimitat, dar accesarea greutăților sau stării modelului evaluat nu este permisă. Acest lucru reprezintă unul dintre cele mai puternice modele de amenințare pentru care atacurile sunt posibile în aproape toate mediile, inclusiv împotriva ofertelor comerciale Machine-Learning-as-a-Service (MLaaS). Fiecare model examinat a fost vulnerabil la atacuri de perturbare imperceptibile.

‘Credem că aplicabilitatea acestor atacuri ar trebui, în teorie, să se generalizeze la orice model de procesare a limbajului natural fără apărări adecvate în loc.’

Lucrarea se intitulează Caractere rele: Atacuri NLP imperceptibile și provine de la trei cercetători din trei departamente de la Universitatea Cambridge și Universitatea Edinburgh, și un cercetător de la Universitatea Toronto.

Titlul lucrării este exemplar: este plin de caractere Unicode “imperceptibile” care formează baza uneia dintre cele patru metode de atac principale adoptate de cercetători.

Chiar și titlul lucrării are mistere ascunse.

Chiar și titlul lucrării are mistere ascunse.

Metodă/Metode

Lucrarea propune trei metode de atac eficiente: caractere invizibile; homoglife; și reordonări. Acestea sunt metodele “universale” pe care cercetătorii le-au găsit că au o acoperire largă împotriva cadrelor NLP în scenarii “black box”. O metodă suplimentară, care implică utilizarea unui caracter șterge, a fost găsită de cercetători ca fiind potrivită doar pentru pipeline-uri NLP neobișnuite care utilizează clipboardul sistemului de operare.

1: Caractere invizibile

Acest atac utilizează caractere codificate într-o fontă care nu se mapăază la un glif în sistemul Unicode. Sistemul Unicode a fost conceput pentru a standardiza textul electronic și acoperă acum 143.859 de caractere din multiple limbi și grupuri de simboluri. Multe dintre aceste mapări nu conțin niciun caracter vizibil într-o fontă (care, în mod natural, nu poate include caractere pentru fiecare intrare posibilă în Unicode).

Din lucrare, un exemplu ipotetic de atac care utilizează caractere invizibile, care împarte cuvintele în segmente care fie nu au nicio semnificație pentru un sistem de procesare a limbajului natural, fie, dacă sunt create cu atenție, pot avea o semnificație diferită pentru o traducere precisă. Pentru cititorul obișnuit, textul original este corect.

Din lucrare, un exemplu ipotetic de atac care utilizează caractere invizibile, care împarte cuvintele în segmente care fie nu au nicio semnificație pentru un sistem de procesare a limbajului natural, fie, dacă sunt create cu atenție, pot preveni o traducere precisă. Pentru cititorul obișnuit, textul original este corect în ambele cazuri. Source: https://arxiv.org/pdf/2106.09898.pdf

De obicei, nu poți utiliza unul dintre aceste caractere non-caractere pentru a crea un spațiu cu lățime zero, deoarece majoritatea sistemelor vor afișa un simbol “placeholder” (cum ar fi un pătrat sau un semn de întrebare într-un cadru înclinat) pentru a reprezenta caracterul nerecunoscut.

Însă, așa cum observă lucrarea, doar un număr mic de fonturi domină scena actuală de calcul și, nu este de mirare, ele tind să se conformeze standardului Unicode.

Prin urmare, cercetătorii au ales glyph-urile Unifont de la GNU pentru experimentele lor, în parte din cauza “acoperirii robuste” a Unicode, dar și pentru că arată mult cu fonturile “standard” care sunt probabil să fie alimentate sistemelor NLP. În timp ce caracterele invizibile produse din Unifont nu se afișează, ele sunt, totuși, numărate ca caractere vizibile de sistemele NLP testate.

Aplicații
Revenind la titlul “conceput” al lucrării în sine, putem vedea că efectuarea unei căutări Google din textul selectat nu produce rezultatul așteptat:

Acesta este un efect client-side, dar ramificațiile server-side sunt puțin mai grave. Lucrarea observă:

‘Chiar dacă un document perturbat poate fi crawlat de un motor de căutare, termenii utilizați pentru a-l indexa vor fi afectați de perturbații, făcându-l mai puțin probabil să apară dintr-o căutare pe termeni neperturbați. Este astfel posibil să ascundem documente de la motoarele de căutare “în plină vedere.”

‘Ca exemplu de aplicație, o companie necinstită ar putea masca informații negative în rapoartele sale financiare, astfel încât motoarele de căutare specializate utilizate de analiștii de acțiuni să nu le poată găsi.’

Singurele scenarii în care atacul cu “caractere invizibile” s-a dovedit a fi mai puțin eficient au fost împotriva conținutului toxic, a recunoașterii entităților numite (NER) și a analizei sentimentului. Autorii presupun că acest lucru se datorează faptului că modelele au fost antrenate pe date care conțineau deja caractere invizibile sau că tokenizerul modelului (care desparte intrările de limbaj brut în componente modulare) a fost deja configurat pentru a le ignora.

2: Homoglife

Un homoglif este un caracter care arată ca alt caracter – o slăbiciune semantică care a fost exploatată în 2000 pentru a crea o replică a domeniului de procesare a plăților PayPal (PYPL ).

În acest exemplu ipotetic din lucrare, un atac homoglif schimbă sensul unei traduceri prin înlocuirea homoglifelor vizual indistincte (conturate în roșu) cu caractere latine comune.

În acest exemplu ipotetic din lucrare, un atac homoglif schimbă sensul unei traduceri prin înlocuirea homoglifelor vizual indistincte (conturate în roșu) cu caractere latine comune.

Autorii comentează:

‘Am descoperit că modelele de învățare automată care procesează textul furnizat de utilizator, cum ar fi sistemele de traducere neuronală, sunt deosebit de vulnerabile la acest tip de atac. Să considerăm, de exemplu, serviciul de top Google Translate. La momentul scrierii, introducerea șirului de caractere “paypa” în modelul englez-rus corect produce “PayPa”, dar înlocuirea caracterului latin “a” din intrare cu caracterul chirilic а produce în mod greșit “папа” (“tată” în engleză).’

Cercetătorii observă că, deși multe pipeline-uri NLP înlocuiesc caracterele care se află în afara dicționarului lor specific de limbă cu un token “” (“necunoscut”), procesele software care convoacă textul otrăvit în pipeline pot propaga cuvinte necunoscute pentru evaluare înainte ca această măsură de siguranță să poată intra în vigoare. Autorii afirmă că acest lucru “deschide o suprafață de atac surprinzător de mare”.

3: Reordonări

Unicode permite limbilor care sunt scrise de la stânga la dreapta, cu ordinea gestionată de algoritmul Bidirectional (BIDI) al Unicode. Amestecarea caracterelor de la stânga la dreapta și de la dreapta la stânga într-un singur șir este, prin urmare, confuză, și Unicode a făcut loc pentru aceasta, permițând ca BIDI să fie anulat de caractere de control speciale. Acestea permit o renderizare aproape arbitrară pentru o ordine de codare fixă.

Într-un alt exemplu teoretic din lucrare, un mecanism de traducere este determinat să pună toate literele textului tradus în ordine greșită, deoarece el urmează codarea greșită de la stânga la dreapta/stânga la dreapta, din cauza unei părți a textului sursă advers (cerclate) care îi poruncește să o facă.

Într-un alt exemplu teoretic din lucrare, un mecanism de traducere este determinat să pună toate literele textului tradus în ordine greșită, deoarece el urmează codarea greșită de la stânga la dreapta/stânga la dreapta, din cauza unei părți a textului sursă advers (cerclate) care îi poruncește să o facă.

Autorii afirmă că, la momentul scrierii lucrării, metoda a fost eficientă împotriva implementării Unicode în browserul web Chromium, sursa de upstream pentru browserul Google Chrome, browserul Microsoft Edge și o serie de alte fork-uri.

De asemenea: Ștergeri

Inclus aici pentru a clarifica graficele de rezultate ulterioare, atacul “ștergeri” implică includerea unui caracter care reprezintă o ștergere sau un alt control/comandă de text, care este implementat în mod efectiv de sistemul de citire a limbajului într-un mod similar cu o macrocomandă de text.

Autorii observă:

‘Un număr mic de caractere de control în Unicode poate determina ștergerea textului vecin. Cele mai simple exemple sunt caracterele backspace (BS) și ștergere (DEL). Există, de asemenea, caracterul de întoarcere la începutul liniei (CR), care determină algoritmul de renderizare a textului să se întoarcă la începutul liniei și să suprascrie conținutul său.

‘De exemplu, textul codificat care reprezintă “Hello CR Goodbye World” va fi afișat ca “Goodbye World”.’

Așa cum s-a menționat anterior, acest atac necesită, în mod efectiv, un nivel improbabil de acces pentru a funcționa și ar fi complet eficient doar cu text copiat și lipit prin clipboard, sistematic sau nu – un pipeline NLP neobișnuit.

Cercetătorii l-au testat oricum, și el funcționează comparabil cu “frații” săi. Cu toate acestea, atacurile care utilizează primele trei metode pot fi implementate pur și simplu prin încărcarea documentelor sau a paginilor web (în cazul unui atac împotriva motoarelor de căutare și/sau a pipeline-urilor NLP de extragere de date).

Într-un atac de ștergere, caracterele create efectiv șterg ceea ce precede, sau forțează textul de pe o singură linie într-un al doilea paragraf, în ambele cazuri fără a face acest lucru evident cititorului obișnuit.

Într-un atac de ștergere, caracterele create efectiv șterg ceea ce precede, sau forțează textul de pe o singură linie într-un al doilea paragraf, în ambele cazuri fără a face acest lucru evident cititorului obișnuit.

Eficacitate împotriva sistemelor NLP actuale

Cercetătorii au efectuat o serie de atacuri nețintite și țintite asupra a cinci modele populare cu sursă închisă de la Facebook, IBM, Microsoft, Google și HuggingFace, precum și asupra a trei modele cu sursă deschisă.

Ei au testat, de asemenea, atacuri de tip “sponge” împotriva modelelor. Un atac “sponge” este, în mod efectiv, un atac de tip DoS pentru sistemele NLP, în care textul de intrare “nu se calculează”, și determină încetinirea critică a antrenamentului – un proces care ar trebui, în mod normal, să fie imposibil datorită prelucrării datelor.

Testele au fost efectuate pe un număr nedefinit de GPU-uri Tesla P100, fiecare rulând un procesor Intel Xeon Silver 4110 pe Ubuntu. Pentru a nu încălca termenii de serviciu în cazul în care se fac apeluri API, experimentele au fost repetate uniform cu un buget de perturbație de la zero (text sursă neafectat) la cinci (perturbație maximă). Cercetătorii susțin că rezultatele obținute ar putea fi depășite dacă s-ar fi permis un număr mai mare de iterații.

Rezultate din aplicarea exemplelor adverse împotriva modelului Fairseq EN-FR de la Facebook.

Rezultate din aplicarea exemplelor adverse împotriva modelului Fairseq EN-FR de la Facebook.

Rezultate din atacuri asupra clasificatorului de conținut toxic de la IBM și asupra API-ului Perspective de la Google.

Rezultate din atacuri asupra clasificatorului de conținut toxic de la IBM și asupra API-ului Perspective de la Google.

Două atacuri asupra modelului Fairseq de la Facebook: 'nețintit' urmărește să perturbe, în timp ce 'țintit' urmărește să schimbe sensul limbajului tradus.

Două atacuri asupra modelului Fairseq de la Facebook: ‘nețintit’ urmărește să perturbe, în timp ce ‘țintit’ urmărește să schimbe sensul limbajului tradus.

Cercetătorii au testat, de asemenea, sistemul lor împotriva unor cadre anterioare care nu au putut genera text perturbator “lizibil de către oameni” în același mod și au găsit sistemul în mare măsură la fel de bun ca acestea, și adesea semnificativ mai bun, păstrând totodată avantajul enorm al faptului că este invizibil.

Eficacitatea medie pe toate metodele, vectorii de atac și țintele se situează în jurul valorii de 80%, cu un număr foarte mic de iterații efectuate.

Comentând asupra rezultatelor, cercetătorii spun:

‘Poate cel mai îngrijorător aspect al atacurilor noastre de perturbație imperceptibilă este aplicabilitatea lor largă: toate sistemele de procesare a limbajului natural pe care le-am testat sunt vulnerabile. Într-adevăr, orice model de învățare automată care ingerează text furnizat de utilizator ca intrare este teoretic vulnerabil la acest atac.

‘Implicațiile adverse pot varia de la o aplicație la alta și de la un model la altul, dar toate modelele bazate pe text sunt bazate pe text codificat, și toate textele sunt supuse unui codaj advers, dacă codarea nu este constrânsă în mod corespunzător.’

Recunoaștere optică a caracterelor universale?

Aceste atacuri depind de ceea ce sunt, în mod efectiv, “vulnerabilități” în Unicode și ar fi eliminate într-un pipeline NLP care rasterizează toate textele intrate și utilizează recunoașterea optică a caracterelor ca măsură de sanalizare. În acest caz, aceeași semnificație semantică vizibilă pentru oamenii care citesc aceste atacuri perturbate ar fi transmisă sistemului NLP.

Când cercetătorii au implementat un pipeline OCR pentru a testa această teorie, ei au găsit că scorurile BLEU (Bilingual Evaluation Understudy) au scăzut acuratețea de bază cu 6,2%, și sugerează că tehnologii OCR îmbunătățite ar fi probabil necesare pentru a remedia acest lucru.

Ei sugerează, de asemenea, că caracterele de control BIDI ar trebui să fie eliminate din intrare în mod implicit, homoglifele neobișnuite ar trebui să fie mapate și indexate (pe care le caracterizează ca “o sarcină descurajantă”), și tokenizerii și alte mecanisme de ingestie ar trebui să fie armate împotriva caracterelor invizibile.

În încheiere, grupul de cercetare îndeamnă sectorul NLP să devină mai conștient de posibilitățile de atac advers, un domeniu de mare interes în cercetarea viziunii calculatorului.

‘[Noi] recomandăm tuturor firmelor care construiesc și implementează sisteme de procesare a limbajului natural pe bază de text să implementeze astfel de apărări, dacă doresc ca aplicațiile lor să fie robuste împotriva actorilor maligni.’

 

 

* Conversia mea a citărilor inline în legături hipertext

18:08 14 decembrie 2021 – am eliminat mențiunea duplicată a IBM, am mutat legătura auto-internă din citat – MA

Scriitor pe machine learning, specialist în domeniul sintezei de imagini umane. Fost șef al conținutului de cercetare la Metaphysic.ai, până la dizolvarea sa în Brahma.ai a DNEG.
Portfolio site: martinanderson.ai
Contact: martin@martinanderson.ai