Andersons hoek
Aanvallen op Natural Language Processing-systemen met adversarial voorbeelden

Onderzoekers in het VK en Canada hebben een reeks black box-aanvallen gegenereerd op Natural Language Processing (NLP)-systemen die effectief zijn tegen een breed scala aan populaire taalverwerkingskaders, waaronder breed ingezette systemen van Google, Facebook, IBM en Microsoft.
De aanval kan mogelijk worden gebruikt om machine learning-vertaalsystemen te verlammen door ze te dwingen om nonsens te produceren of om de aard van de vertaling te veranderen; om de training van NLP-modellen te beperken; om giftige inhoud verkeerd te classificeren; om zoekresultaten van zoekmachines te vergiftigen door foutieve indexering te veroorzaken; om zoekmachines te laten falen om kwaadwillige of negatieve inhoud te identificeren die perfect leesbaar is voor een persoon; en zelfs om Denial-of-Service (DoS)-aanvallen op NLP-kaders te veroorzaken.
Hoewel de auteurs de voorgestelde kwetsbaarheden van het artikel hebben gemeld aan verschillende niet nader genoemde partijen wiens producten in het onderzoek worden genoemd, menen ze dat de NLP-branche traag is geweest in het beschermen van zichzelf tegen aanvallen met adversarial voorbeelden. Het artikel vermeldt:
‘Deze aanvallen maken gebruik van taalcoderingsfuncties, zoals onzichtbare tekens en homoglyfen. Hoewel ze in het verleden af en toe zijn gezien in spam- en phishing-scams, lijken de ontwerpers van de vele NLP-systemen die op grote schaal worden ingezet, deze volledig te hebben genegeerd.’
Meerdere van de aanvallen werden uitgevoerd in een zo ‘black box’-omgeving als mogelijk – via API-aanroepen naar MLaaS-systemen, in plaats van lokaal geïnstalleerde FOSS-versies van de NLP-kaders. Over de gecombineerde effectiviteit van de systemen schrijven de auteurs:
‘Alle experimenten werden uitgevoerd in een black box-omgeving waarin onbeperkte modelbeoordelingen zijn toegestaan, maar toegang tot de beoordeelde modelgewichten of -status niet is toegestaan. Dit vertegenwoordigt een van de sterkste bedreigingsmodellen waarvoor aanvallen mogelijk zijn in vrijwel alle omgevingen, waaronder tegen commerciële Machine-Learning-as-a-Service (MLaaS)-aanbiedingen. Elk onderzocht model was kwetsbaar voor onmerkbare perturbatie-aanvallen.
‘We geloven dat de toepasbaarheid van deze aanvallen in theorie moet generaliseren naar elk op tekst gebaseerd NLP-model zonder adequate verdedigingen.’
Het artikel heet Slechte tekens: onmerkbare NLP-aanvallen en komt van drie onderzoekers uit drie afdelingen van de Universiteit van Cambridge en de Universiteit van Edinburgh, en een onderzoeker van de Universiteit van Toronto.
De titel van het artikel is exemplarisch: deze is gevuld met ‘onmerkbare’ Unicode-tekens die de basis vormen van een van de vier belangrijkste aanvalsmethoden die door de onderzoekers worden gebruikt.

Zelfs de titel van het artikel heeft verborgen mysteries.
Methode(n)
Het artikel stelt drie primaire effectieve aanvalsmethoden voor: onzichtbare tekens; homoglyfen; en herordeningen. Deze zijn de ‘universele’ methoden die de onderzoekers hebben gevonden om een brede werkingssfeer te hebben tegen NLP-kaders in black box-scenario’s. Een extra methode, waarbij het gebruik van een verwijder-teken, werd door de onderzoekers gevonden om alleen geschikt te zijn voor ongebruikelijke NLP-pijpleidingen die gebruikmaken van het besturingssysteem-klembord.
1: Onzichtbare tekens
Deze aanval gebruikt gecodeerde tekens in een lettertype dat niet in kaart wordt gebracht op het Unicode-systeem. Het Unicode-systeem is ontworpen om elektronische tekst te standaardiseren en omvat nu 143.859 tekens in meerdere talen en symboolgroepen. Veel van deze toewijzingen zullen geen zichtbaar teken in een lettertype bevatten (dat van nature niet alle mogelijke Unicode-tekens kan bevatten).

Uit het artikel, een hypothetisch voorbeeld van een aanval met onzichtbare tekens, die de invoerwoorden opsplitsen in segmenten die niets betekenen voor een NLP-systeem, of, als ze zorgvuldig zijn ontworpen, een andere betekenis kunnen hebben voor een nauwkeurige vertaling. Voor de gewone lezer is de oorspronkelijke tekst in beide gevallen correct. Bron: https://arxiv.org/pdf/2106.09898.pdf
Normaal gesproken kunt u geen van deze niet-tekens gebruiken om een nulbreedte-spatie te maken, omdat de meeste systemen een ‘placeholder’-symbool (zoals een vierkant of een vraagteken in een schuin vak) zullen weergeven om het onbekende teken te vertegenwoordigen.
De onderzoekers kozen echter GNU’s Unifont-glyphs voor hun experimenten, deels vanwege de ‘robuste dekking’ van Unicode, maar ook omdat het eruitziet als veel van de andere ‘standaard’-lettertypen die waarschijnlijk aan NLP-systemen worden gevoerd. Terwijl de onzichtbare tekens die uit Unifont worden gegenereerd, niet worden weergegeven, worden ze toch door de geteste NLP-systemen als zichtbare tekens geteld.
Toepassingen
Terugkerend naar de ‘gecraftede’ titel van het artikel zelf, kunnen we zien dat het uitvoeren van een Google-zoekopdracht vanuit de geselecteerde tekst niet het verwachte resultaat oplevert:

Dit is een client-side-effect, maar de server-side-ramificaties zijn een beetje ernstiger. Het artikel vermeldt:
‘Zelfs als een verstoord document door een zoekmachine-crawler wordt doorzocht, zullen de termen die worden gebruikt om het te indexeren, worden beïnvloed door de verstoringen, waardoor het minder waarschijnlijk is dat het wordt weergegeven vanuit een zoekopdracht op onverstoord tekst. Het is dus mogelijk om documenten voor zoekmachines “in het zicht” te verbergen.
‘Als voorbeeldtoepassing kan een oneerlijke onderneming negatieve informatie in haar financiële verslagen maskeren, zodat de specialistenzoekmachines die door aandelenanalisten worden gebruikt, deze niet oppikken.’
De enige scenario’s waarin de aanval met ‘onzichtbare tekens’ minder effectief bleek, waren tegen giftige inhoud, Named Entity Recognition (NER) en sentimentanalysemmodellen. De auteurs speculeren dat dit komt doordat de modellen zijn getraind op gegevens die ook onzichtbare tekens bevatten, of dat de modeltokenizer (die ruwe taalinput in modulaire componenten opsplitst) al is geconfigureerd om deze te negeren.
2: Homoglyfen
Een homoglyf is een teken dat eruitziet als een ander teken – een semantische zwakte die in 2000 werd uitgebuit om een scam-replica van het PayPal (PYPL ) -betalingverwerkingdomein te maken.

In dit hypothetische voorbeeld uit het artikel, verandert een homoglyfaanval de betekenis van een vertaling door visueel ononderscheidbare homoglyfen (omcirkeld) te vervangen door gewone Latijnse tekens.
De auteurs merken op:
‘We hebben ontdekt dat machine learning-modellen die gebruiker-geleverde tekst verwerken, zoals neurale machinevertaalsystemen, bijzonder kwetsbaar zijn voor dit type aanval. Overweeg bijvoorbeeld de marktleidende dienst Google Translate. Op het moment van schrijven, produceert het invoeren van de tekenreeks “paypal” in het Engels naar het Russisch-model correct “PayPal”, maar door de Latijnse letter “a” in de invoer te vervangen door het Cyrillische teken а, produceert het incorrect “папа” (“vader” in het Engels).’
De onderzoekers observeren dat veel NLP-pijpleidingen tekens die buiten hun taalspecifieke woordenboek vallen, zullen vervangen door een <unk>– (‘onbekend’) token, maar de softwareprocessen die het vergiftigde tekst in de pijplijn roepen, kunnen onbekende woorden voor evaluatie propageren voordat deze veiligheidsmaatregel in werking treedt. De auteurs stellen dat dit ‘een verrassend groot aanvalsvlak opent’.
3: Herordeningen
Unicode staat toe dat talen die van links naar rechts worden geschreven, worden beheerd door Unicode’s Bidirectional (BIDI)-algoritme. Het mengen van rechts-naar-links- en links-naar-rechts-tekens in een enkele tekenreeks is verwarrend, en Unicode heeft hierin voorzien door BIDI te laten overschrijven door speciale controletekens. Deze stellen bijna willekeurige rendering in voor een vaste coderingsvolgorde.

In een ander theoretisch voorbeeld uit het artikel, wordt een vertaalmethode ertoe gebracht om alle letters van de vertaalde tekst in de verkeerde volgorde te plaatsen, omdat het de verkeerde rechts-naar-links/link-naar-rechts-codering volgt, vanwege een deel van de adversarial-broncode (omcirkeld) dat het ertoe aanzet dit te doen.
De auteurs stellen dat op het moment van schrijven van het artikel, de methode effectief was tegen de Unicode-implementatie in de Chromium-webbrowser, de upstream-bron voor Google’s Chrome-browser, Microsoft’s Edge-browser en een groot aantal andere forks.
Ook: Verwijderingen
Opgenomen hier zodat de volgende resultaatgrafieken duidelijk zijn, houdt de verwijderingen-aanval het opnemen van een teken in dat een backspace of andere tekst-beïnvloedende controle/commando vertegenwoordigt, dat effectief wordt geïmplementeerd door het taal-leessysteem op een manier die vergelijkbaar is met een tekst-macro.
De auteurs observeren:
‘Een klein aantal controletekens in Unicode kan ervoor zorgen dat naburige tekst wordt verwijderd. De eenvoudigste voorbeelden zijn de backspace (BS) en delete (DEL)-tekens. Er is ook de carriage return (CR) die de tekst-rendering-algoritme ertoe aanzet om terug te keren naar het begin van de regel en de inhoud ervan te overschrijven.
‘Bijvoorbeeld, gecodeerde tekst die “Hello CRGoodbye World” vertegenwoordigt, wordt weergegeven als “Goodbye World”.’
Zoals eerder vermeld, vereist deze aanval effectief een onwaarschijnlijke mate van toegang om te werken en zou alleen volledig effectief zijn met tekst die via een klembord wordt gekopieerd en geplakt, systematisch of niet – een ongebruikelijke NLP-ingestiepijplijn.
De onderzoekers testten het toch, en het presteert vergelijkbaar met zijn stabiele maten. Echter, aanvallen met de eerste drie methoden kunnen eenvoudig worden geïmplementeerd door documenten of webpagina’s te uploaden (in het geval van een aanval tegen zoekmachines en/of web-scraping NLP-pijpleidingen).

In een verwijderingsaanval, wissen de gecraftede tekens effectief wat eraan voorafgaat, of dwingen ze enkele regeltekst in een tweede alinea, in beide gevallen zonder dit duidelijk te maken aan de gewone lezer.
Effectiviteit tegen huidige NLP-systemen
De onderzoekers voerden een reeks ongerichte en gerichte aanvallen uit tegen vijf populaire gesloten bronmodellen van Facebook, IBM, Microsoft, Google en HuggingFace, evenals drie open source-modellen.
Zij testten ook ‘sponge’-aanvallen tegen de modellen. Een sponge-aanval is effectief een DoS-aanval voor NLP-systemen, waarbij de invoertekst ‘niet computeert’ en de training kritisch vertraagt – een proces dat normaliter onmogelijk zou moeten worden gemaakt door datapreprocessing.
De vijf NLP-taken die werden geëvalueerd, waren machinevertaling, giftige inhoudsdetectie, tekstuele implicatieclassificatie, benoemde entiteitsherkenning en sentimentanalyse.
De tests werden uitgevoerd op een niet nader gespecificeerd aantal Tesla P100-GPU’s, elk uitgerust met een Intel Xeon Silver 4110-CPU en Ubuntu. Om geen inbreuk te maken op de servicevoorwaarden in het geval van het maken van API-aanroepen, werden de experimenten uniform herhaald met een perturbatiebudget van nul (onbeïnvloede brontekst) tot vijf (maximale verstoring). De onderzoekers beweren dat de resultaten die zij verkregen, zouden kunnen worden overtroffen als een groter aantal iteraties zou worden toegestaan.

Resultaten van het toepassen van adversarial voorbeelden tegen Facebook’s Fairseq-model.

Resultaten van aanvallen tegen IBM’s giftige inhoudclassificatie en Google’s Perspective API.

Twee aanvallen tegen Facebook’s Fairseq: ‘ongericht’ heeft tot doel te verstoren, terwijl ‘gericht’ ertoe strekt de betekenis van de vertaalde taal te veranderen.
De onderzoekers testten hun systeem verder tegen eerdere kaders die niet in staat waren om ‘leesbare’ perturbatie-tekst op dezelfde manier te genereren en vonden het systeem grotendeels gelijk aan deze, en vaak opvallend beter, terwijl het een enorm voordeel van onopvallendheid behield.

De gemiddelde effectiviteit over alle methoden, aanvalsvectoren en doelen schommelt rond de 80%, met slechts enkele iteraties uitgevoerd.
In een reactie op de resultaten zeggen de onderzoekers:
‘Misschien het meest verontrustende aspect van onze onmerkbare perturbatie-aanvallen is hun brede toepasbaarheid: alle op tekst gebaseerde NLP-systemen die wij hebben getest, zijn kwetsbaar. Inderdaad, elk machine learning-model dat gebruiker-geleverde tekst als invoer verwerkt, is theoretsch kwetsbaar voor deze aanval.
‘De adversarial implicaties kunnen variëren van de ene toepassing naar de andere en van het ene model naar het andere, maar alle op tekst gebaseerde modellen zijn gebaseerd op gecodeerde tekst, en alle tekst is onderhevig aan adversarial encoding, tenzij de codering voldoende wordt beperkt.’
Universele optische tekenherkenning?
Deze aanvallen zijn afhankelijk van wat effectief ‘kwetsbaarheden’ in Unicode zijn en zouden worden geneutraliseerd in een NLP-pijplijn die alle inkomende tekst rasteriseert en optische tekenherkenning als een saneringsmaatregel gebruikt. In dat geval zou dezelfde niet-kwaadwillige semantische betekenis die zichtbaar is voor mensen die deze perturbatie-aanvallen lezen, worden doorgegeven aan het NLP-systeem.
De onderzoekers hebben echter een OCR-pijplijn geïmplementeerd om deze theorie te testen en vonden dat de BLEU (Bilingual Evaluation Understudy)-scores de basismeting van de nauwkeurigheid met 6,2% verlaagden en suggereren dat verbeterde OCR-technologieën waarschijnlijk nodig zouden zijn om dit te verhelpen.
Zij suggereren verder dat BIDI-controletekens standaard uit invoer moeten worden verwijderd, ongebruikelijke homoglyfen moeten worden toegewezen en geïndexeerd (wat zij een ‘ontmoedigende taak’ noemen) en dat tokenizers en andere ingestie-mechanismen moeten worden beschermd tegen onzichtbare tekens.
In afsluiting dringt de onderzoeksGroep er bij de NLP-sector op aan om meer alert te zijn op de mogelijkheden voor adversarial aanvallen, een gebied van groot belang in computer vision-onderzoek.
‘[We] raden alle bedrijven aan die op tekst gebaseerde NLP-systemen bouwen en inzetten, om dergelijke verdedigingen te implementeren als ze hun toepassingen robuust willen maken tegen kwaadwillige actoren.’
* Mijn conversie van inline-citaten naar hyperlinks
18:08 14e dec 2021 – verwijderde dubbele vermelding van IBM, verplaatste automatische interne link vanuit citaat – MA












