Thought leaders

Een Prompt Injection-aanval die niet te voorkomen is: wensdenken of een reële zorg?

mm
Voeg Unite.AI toe aan je voorkeursbronnen op Google
A digital 3D render of a dark server room with a computer monitor displaying a

In dit artikel wil ik de lezer uitnodigen om deel te nemen aan een gedachte-experiment. Ik ga betogen dat in de niet al te verre toekomst een bepaald type prompt injection-aanval effectief niet te voorkomen zal zijn. Mijn argumentatie zal meer speculatief zijn dan concreet, dus ik probeer je niet te overtuigen van iets. In plaats daarvan nodig ik je uit om deze gedachten te verkennen. Voordat ik begin, zoals elke overtuigende schrijver zou doen, wil ik het over schaken en schaakmachines hebben.

Superhumane Schaakmachines en een Uitspraak over Menselijke Ervaring

Een van de leukere aspecten van schaken die ontbreekt in andere disciplines is de mogelijkheid om objectief de kwaliteit of sterkte van een speler te meten. Het ELO-ratingsysteem dat voor dit doel wordt gebruikt, heeft zijn gebreken, maar het biedt een zeer goede ruwe schatting die over tijd heen standhoudt. Een rating van 2700 of hoger wordt algemeen erkend als wereldklasse (top 30 in de wereld). De werelds beste speler heeft een rating van net onder 2850. Geen mens heeft ooit een rating van 2900 bereikt.

In het midden van de jaren 90 zagen we de eerste AI-motor (Deep Blue) die een wereldklasse niveau bereikte. De praktische implicatie van deze mijlpaal was de brede adoptie van motoren door spelers van alle niveaus voor oefening en analyse. In feite werd motorgebruik essentieel voor de werelds beste spelers. Echter, voor verschillende generaties van deze wereldklasse motoren, was het noodzakelijk om hun aanbevolen zetten (d.w.z. output) te controleren. Er werd zelfs een speciaal formaat gecreëerd genaamd “geavanceerd schaken” waarin mensen met een motor aan hun zijde concurreerden, en de mens + machine combinatie werd beschouwd als superieur aan de machine alleen.

Het duurde ongeveer 20 jaar, en enkele kritische vooruitgang in Deep Learning en Reinforcement Learning voor schaakmachines om een superhumane niveau te bereiken (ongeveer 3200 ELO). Maar eens dat niveau was bereikt rond 2017, gebeurde er iets heel verrassends. Nou, eigenlijk gebeurden er twee dingen. Het eerste was volledig verwacht; motoren werden de feitelijke bron van “grondwaarheid” in 99% van alle posities. In de praktijk betekende dit dat we de “era van blind vertrouwen” in de motor waren ingegaan. Tegenwoordig is het vrijwel onmogelijk voor een mens om een significant betere zet voor te stellen dan de motor. Zo vermakelijk als “geavanceerd schaken” was, is het nu een zinloze oefening; mensen zouden bijna niets bijdragen aan het spel. Maar het tweede was schokkend voor de meeste schakers. Deze superhumane neurale (d.w.z. diepe neurale netwerken) motoren zouden soms op een manier spelen die het beste kan worden omschreven als “romantisch”. Met andere woorden, ze zouden zetten maken waarvan de waarde alleen maar kon worden gewaardeerd vele, vele zetten later, ver voorbij wat een mens of wereldklasse motoren konden berekenen. Het voelde heel erg alsof de motoren een “gevoel” of een “intuïtie” voor bepaalde posities hadden ontwikkeld. Behalve dat deze intuïtie niets is dat een mens ooit kan begrijpen of imiteren.

Anders gezegd, een superhumane neurale motor kan zetten maken die voorbij de cognitieve horizon van een mens liggen. Dit is het cruciale punt hier; het probleem is niet dat van uitlegbaarheid. Een mens kan eenvoudigweg niet begrijpen waarom een motor een zet aanbeveelt zonder de positie uit te spelen en het resultaat vele zetten later te observeren, d.w.z. de hele trajectorie van mogelijke spelvolgorden uit te rollen. Als gevolg hiervan hebben we een onoverbrugbare kloof in capaciteit. Het is optimaal om motoruitvoer zonder controle te accepteren. Ik kan mijn uitspraak als volgt samenvatten:

Schaken is een bewijs van het bestaan dat superhumane AI effectief autonoom zou opereren in sommige domeinen. Het inschakelen van het AI-systeem om beslissingen te nemen zonder menselijke controle zou de optimale manier zijn om een dergelijk systeem in te zetten.

Aangezien mijn uitspraak iemand als voor de hand liggend of onopvallend kan toeschijnen, wil ik een paar nuances benadrukken. Stel dat we een AI-systeem hebben dat een superhumane niveau toont bij een complexe, kritieke taak met concrete, onomkeerbare consequenties. Er zijn twee implicaties van mijn bewering:

  1. Het systeem zou worden ingezet om beslissingen te nemen voor de taak zonder menselijke controle, ondanks het inherente risico
  2. Inzicht verkregen uit het monitoren van een dergelijk systeem zou geen schadelijke beslissing voorkomen; de schade zou al zijn gebeurd

Systeemuitvoercontrole en -monitoring zijn precies de laatste twee verdedigingslagen tegen prompt injection. Daarom kan onze hypothetische prompt injection-aanval deze lagen eenvoudigweg omzeilen door het juiste systeem aan te vallen.

Dit is een heel realistisch scenario in mijn hoofd. Een superhumane AI-systeem in een specifiek domein is geen AGI, en de meeste experts geloven dat dergelijke systemen net om de hoek liggen. We hoefden niet aan te nemen dat de beslissingen tijdgevoelig zijn, alleen dat de taak complex genoeg is om menselijke controle onuitvoerbaar te maken.

Natuurlijk hebben we tot nu toe alleen maar twee verdedigingslagen omzeild, en gelukkig voor ons zijn er nog verschillende andere ontwikkeld. Om de rest aan te pakken, laten we ons verdiepen in de kern-elementen die prompt injection moeilijk te verdedigen maken.

Wat is Prompt Injection?

Prompt injection is een manipulatie van een Large Language Model (LLM) door gekruiste invoer, waardoor de LLM onbewust de intenties van de aanvaller uitvoert. Het kan worden beschouwd als social engineering voor AI. Cruciaal is dat het geen conventionele softwarebug is. Een prompt injection-aanval exploiteert een inherente LLM-kwetsbaarheid. Aangezien LLM’s zowel systeem- als gebruikersprompts als tekstsequenties verwerken, kunnen ze intrinsiek niet onderscheiden tussen legitieme en schadelijke instructies. De kwetsbaarheid is daarom effectief by-design, in plaats van by-accident.

Prompt Injection-Technieken

Prompt injection wordt algemeen erkend als de #1 risico voor LLM-toepassingen. Er zijn verschillende redenen waarom dit het geval is. De meest voor de hand liggende factor is de variëteit aan injectietechnieken die zijn ontwikkeld. Ongeveer gegroepeerd in vier categorieën, omvatten de meest bekende technieken:

  • Syntax-gebaseerd: gebruik van speciale tekens, emoji’s of alternatieve talen
  • Indirect: gebruik van externe bronnen (ophalen van site), codering (base 64), of multimodale verwijzing (tekst in afbeelding)
  • “Laat ons doen alsof”: introduceren van een manipulatieve stijl door bijv. rollenspel, hypothetisch, emotionele appel, ethische kadering en formaatwisseling
  • Brutaal: expliciete poging om modelinstructies te “forceren” door brute kracht, versterking of negatieve prompt

De variëteit alleen al biedt een uitdaging voor toepassingsontwikkelaars, maar deze aanvallen zijn ook snel geëvolueerd. De linkerkant van de onderstaande afbeelding beweert de stand van de techniek voor begin 2023 te beschrijven, terwijl de rechterkant de aard van aanvallen van vandaag weerspiegelt.

Evolutie van Aanvalsvector

LLM-toepassingsontwikkelaars moeten ook de standaard gebruiksvriendelijkheid vs. veiligheidstrade-off in overweging nemen. Ze zouden zeker elke verdedigingslaag kunnen introduceren en ontwerppatronen kunnen gebruiken, maar tegen welke prijs? Verdedigingslagen voegen significante latentie toe en introduceren False Positives (FP’s) – incorrect flaggen van veilige prompts als kwaadwillig – beide factoren hebben een negatieve invloed op de gebruikerservaring. Als gevolg daarvan is enige mate van compromis onvermijdelijk in de praktijk, en er is geen “zilveren kogel”-oplossing.

Echter, in dit artikel ben ik niet echt geïnteresseerd in dit eindeloze kat-en-muisspel. Ik ben meer geïnteresseerd in of een aanval in principe onvoorkombaar kan zijn. Vanuit het perspectief van de ontwikkelaar/verdediger is er slechts één belangrijke inzicht:

Scheiding van instructies van gegevens in de prompt is fundamenteel om prompt injection-risico aan te pakken

We kunnen aannemen dat compromissen geen factor zijn, en elke verdedigingslaag of techniek kan worden gebruikt. Onder deze (sterke) aanname, is het mogelijk om een scenario te construeren waarin instructie-gegevensscheiding in een prompt effectief onmogelijk is?

De DNA-Analogie

Toen het probleem eenmaal was geformuleerd in termen van instructie-gegevensscheiding, was mijn eerste gedachte om biologie als analogie te gebruiken.

Overweeg een cel en een stuk DNA (bekend als een gen). Het gen biedt instructies voor het bouwen van een eiwit door transcriptie en translatie. Het codeert ook de informatie (gegevens) die de structuur en functie van het eiwit beïnvloedt. Zo redeneerde ik. Echter, dit is eenvoudigweg onjuist, aangezien een gen geen beslissing neemt over hoe het zichzelf moet interpreteren. Er is geen equivalent van instructievolging in biologie op gen niveau. De “hoe” is volledig geëxternaliseerd naar de cellulair machinerie.

Daarom, zelfs als ik het gevoel niet kan afschudden dat toekomstige generaties van LLM’s – of meer accurate, de systemen waarin ze evolueren – meer zullen lijken op biologische machines, werkt de voorgestelde analogie gewoon niet. We kunnen een cel niet vervangen door een LLM en een gen door een prompt en dan een injectie in het gen doen die uiteindelijk een “beschadigd” eiwit zou produceren. Het lijkt productiever om bij natuurlijke taal en taken te blijven die semantische interpretatie vereisen.

Het Afpellen van de Verdedigingslagen

Het zou geen verrassing moeten zijn dat meerdere verdedigingsstrategieën effectiever worden geacht om prompt injection-aanvallen te stoppen. De onderstaande afbeelding toont de meest voorkomende verdedigingslagen in volgorde, en de geassocieerde technieken die in elke laag worden gebruikt.

Prompt Injection Verdedigingslagen

We hebben de laatste twee lagen (uitvoer, monitoring) al besproken, dus laten we ons focussen op de eerste vier.

Als we de invoerlaag overwegen, is het redelijk om aan te nemen dat sanitatie of validatie van de prompt succesvol zou zijn in het detecteren van indirecte aanvallen. Echter, als de injectie rechtstreeks wordt geleverd, en zoals hierboven gesuggereerd, door te vertrouwen op semantische interpretatie, is het misschien zo dat sanitatie irrelevant is (niets om te saniteren), en validatie standaard onmogelijk is, aangezien de berekening moet worden voltooid om het probleem te identificeren.

Er zijn eigenlijk geen limieten aan de beveiligingsmaatregelen die je in de detectielaag kunt construeren. In feite kun je zelfs een speciale LLM voor infectie detectie gebruiken. Maar opnieuw zal het moeilijk zijn voor een classifier of een anomaly detector om een prompt als verdacht te markeren als het gif slim verborgen zit in de semantiek.

De model-laag kan zeer effectief zijn als het bereik van taken smal is en fine-tuning haalbaar is. Een soortgelijk argument kan worden gemaakt voor de systeemlaag als het gebruik van tools voorspelbaar is. Echter, tenminste intuïtief, zou geen van beide een alarm afgeven als de injectie de interpreter ontregelt.

Huis van Kaarten

Mijn intentie toen ik dit artikel begon te schrijven was om een “onvoorkombaar” prompt injection-aanval in brede streken te beschrijven. Misschien ben ik uiteindelijk een “niet-constructieve” aanpak gevolgd door gaten te slaan in bestaande verdedigingslagen. Defensieve technieken blijven snel evolueren, en zo ook het aanvalsoppervlak. Dit spel laat nog geen tekenen zien van einde. Echter, ik geloof ook dat wij niet degene zijn die dit spel voor veel langer zullen spelen. Ik zou gokken dat de succesvolle prompt injection in de toekomst nog steeds in natuurlijke taal zal zijn, alleen in een taal die mensen niet kunnen begrijpen; en ik zou gokken dat het auto-ontdekt zal worden door een systeem dat specifiek voor dat doel is gebouwd of misschien toevallig na het aanpakken van een gerelateerde taak, zoals het zoeken naar semantische ambiguïteit in een bepaalde representatie-ruimte.

Er is iets onaangenaams in het toegeven dat we de controle verliezen en toch het gevoel hebben dat dit de meest rationele zaak is om te doen. Je kunt het zien als het “intuïtieve bewijs” dat sommige aanvallen niet te stoppen zijn. En als dat je onrustig maakt, zou je blij zijn om te weten dat GPT 5.2 dit argument vond om “niet controversieel of nieuw” te zijn en adviseerde dat ik het punt niet moet “belaboreren” en 40% van het artikel moet inkorten.

Eli Vovsha is een Data Science Manager bij Fortra. Samen met het Data Science-team is hij verantwoordelijk voor het ontwikkelen en onderhouden van alle machine learning (ML)-modellen die worden gebruikt door de CEP- en XDR-producten, evenals voor algemeen ML-onderzoek. Hij behaalde zijn masterdiploma in toegepaste wiskunde aan het Stevens Institute of Technology voordat hij promovendus werd in informatica aan de Columbia University, waar hij ook instructeur was. Later co-founderde hij een EdTech-startup met als doel een AI-gebaseerd leerplatform te bouwen, en gaf hij wiskunde en informatica les aan een particuliere middelbare school in New York. Voordat hij zijn graduate-diploma's behaalde, besteedde Eli aanzienlijke tijd aan schaken en behaalde hij de titel van Internationaal Meester (IM).