Onderzoeker CyberArk: behandel grote taalmodellen als eindgebruiker met bijbehorende beveiliging
Shaked Reiner noemt grote taalmodellen (llm: large language model) onomwonden: van nature onbetrouwbaar. Hij is principal security researcher bij CyberArk Labs. De modellen zijn nuttig, maar moeten worden beschouwd als eindgebruiker met de gebruikelijke, bijbehorende beveiligingsmaatregelen, stelt hij.
De onderzoeker (wiens voornaam ‘Sjakét’ luidt) ziet de modellen als ‘black boxes’: ‘We weten hoe we ze moeten bouwen, maar niet hoe ze tot uitkomsten komen. Dat geldt overigens in het algemeen voor kunstmatige intelligentie.’
Reiner doet acht jaar onderzoek naar security bij CyberArk Labs, een innovatieve onderzoeksgroep die zich richt op geavanceerd onderzoek naar cyberbeveiliging. De groep onderzoekt opkomende aanvalstechnieken, verhoogt het bewustzijn en stimuleert samenwerking binnen de industrie om de algehele beveiligingspositie van bedrijven wereldwijd te verbeteren. In zijn blog ‘AI Treason: The Enemy Within’ gaat Reiner in op de risico’s die de llm’s met zich meebrengen. In een gesprek met Computable licht hij toe dat hij hiermee de discussie over dit onderwerp wil aanzwengelen.
Het gebruik van llm’s brengt risico’s met zich mee. Daar moeten programmeurs zich terdege bewust van zijn
– Shaked Reiner (CyberArk Labs)
Geen enkel softwarebedrijf, aldus Reiner, laat artificiële intelligentie (ai) links liggen. ‘Zij integreren de grote taalmodellen in hun programmatuur. Dat brengt risico’s met zich mee. Daar moeten programmeurs bij organisaties zich terdege bewust van zijn. Ik toon aan waarom dat zo is en geef richtlijnen om de risico’s in te dammen.’ Hij haalt een artikel aan dat dit jaar is gepresenteerd op Black Hat Asia. Dit geeft aan dat 31 procent van de doelwitcodebases kwetsbaarheden bevatten voor remote code execution (RCE) die werden veroorzaakt door llm’s. Iemand – een aanvaller – kan in natuurlijke taal de code naar zijn hand zetten. Hij toont hoe professor Tong Liu het programma Vanna AI eenvoudig wist te manipuleren. Vanna.AI is een open-source-Python-framework waarmee je SQL-query’s kunt genereren uit natuurlijke taalvragen.
Onderzoekers van de Universiteit van Peking beschrijven dat hallucinaties van llm’s geen fouten zijn, maar eigenschappen. Zij hebben slechts vijf tekens nodig om de opensource-chatbot Vicuna te laten zeggen dat Trump de verkiezing van 2020 heeft gewonnen. Voornamelijk academische voorbeelden. Maar volgens Reiner komen de aanvallen op llm’s ook in het wild voor. ‘Palo Alto Networks heeft onlangs voorbeelden uit het bedrijfsleven gepubliceerd. Wij gaan binnenkort zelf ook een voorbeeld van zo’n kwetsbaarheid beschrijven.’
Jailbreaking
Llm’s kunnen volgens Reiner niet alleen onbetrouwbaar zijn, maar ook een kritiek beveiligingsrisico vormen. Hij meent dat de taalmodellen in de huidige toestand aanvallers altijd toestaan het model te jailbreaken. Een term die oorspronkelijk stond voor het proces van het aanpassen van de besturingssystemen van Apple (zoals iOS) om beperkingen die door het bedrijf zijn opgelegd te verwijderen. Wanneer een apparaat gejailbreakt is, krijgen gebruikers er meer controle over, waardoor ze niet-ondertekende code kunnen uitvoeren, het systeem kunnen aanpassen en apps kunnen installeren die niet beschikbaar zijn via de officiële kanalen. Inmiddels wordt de term gebruikt om het gedrag van llm’s ongewild te veranderen.
Onderzoekers van de EPFL rapporteren dat zij een bijna honderd procent aanvalssucces behaalden bij het jailbreaken van toonaangevende modellen door een combinatie van enkele bekende jailbreaktechnieken toe te passen. CyberArk Labs beschikt intern over een arsenaal aan jailbreaks voor alle toonaangevende modellen. Binnenkort maakt het bedrijf dit bekend.
Schermaanval
De gevolgen van het manipuleren van een llm kunnen in ernst variëren. Het is bijvoorbeeld mogelijk om een taalmodel iets te laten doen dat in strijd is met de gedragsregels van een organisatie. ‘Zeker niet gewenst, maar tamelijk onschuldig’, oordeelt Reiner. Hij verwijst naar Simon Willison die dit een ‘schermaanval’ noemt. Willison beschrijft de ‘screenshot attack’ in zijn blog als volgt: iemand verleidt een model om iets gênants te zeggen, maakt screenshots van het resultaat en veroorzaakt een vervelend pr-incident. ‘Vervelend, maar de schade is beperkt’, oordeelt Reiner. ‘Maar wat gebeurt er als het model waarmee je communiceert capabeler is? Wat als het taalmodel database-queries kan uitvoeren, externe api-aanroepen kan uitvoeren, toegang heeft tot andere machines in het netwerk?’
Voorbeelden te over die aantonen dat llm’s eenvoudig zijn de manipuleren. Daarom moet de architectuur volgens hem ontworpen zijn met het Assume Breach Paradigma in het achterhoofd. Dit is een beveiligingsmentaliteit die erkent dat de kans groot is dat er al een inbreuk heeft plaatsgevonden binnen een netwerk of dat deze op handen is. In plaats van alleen te vertrouwen op preventiestrategieën, richt Assume Breach zich op detectie, respons en herstel. Het behandelt alle applicaties, diensten, identiteiten en netwerken – zowel intern als extern – als potentieel gecompromitteerd.
Beperk de mogelijkheden
Reiner wil met zijn ontboezemingen over de risico’s van llm’s die geïntegreerd zijn in bestaande applicaties het bewustzijn van ontwikkelaars aanscherpen. ‘Wie met deze modellen gaat werken – of het nu opensource is of binnen gesloten source pakketten – moet ervan uitgaan dat het misgaat en daarom alles uit de kast halen om dat te voorkomen.’
‘Gebruik een llm nooit als beveiligingsgrens. Geef het model alleen de mogelijkheden die u wilt gebruiken; vertrouw niet op een systeemprompt om security af te dwingen’, begint Reiner. ‘Volg het principe van de minste privileges. Geef de llm het absolute minimum dat nodig is om de gewenste taak uit te voeren. Beperk de reikwijdte van de het model door het zich voor te laten doen als eindgebruiker. Met alle beveiligingsmaatregelen die daarbij horen.’
‘Cruciaal is de uitvoer van een llm te valideren alvorens iets te doen met die uitkomst‘
De belangrijkste tip die Reiner geeft, is de uitvoer van een llm te valideren alvorens iets te doen met die uitkomst. ‘Dat is cruciaal. Een voorbeeld van het opschonen van een uitkomst is het verwijderen van XSS-payloads in de vorm van HTML-tags of markdown syntaxis.’ Cross-Site Scripting (XSS) is een type beveiligingslek waarbij kwaadaardige scripts worden geïnjecteerd in vertrouwde websites. Deze aanvallen doen zich voor wanneer een aanvaller code (vaak browser-side scripts) via een webapplicatie naar een nietsvermoedende gebruiker stuurt. De browser van de gebruiker voert het script uit, waardoor toegang wordt verleend tot gevoelige informatie zoals cookies of sessietokens. Tot slot doet hij de aanbeveling llm’s uit te voeren in een sandbox voor het geval het nodig is om code uit te voeren.
Krachtig in gebruik
Llm’s worden al langer toegepast. Luchtvaartmaatschappijen, hotels en online reisbedrijven bouwen virtuele assistenten met deze technologie om je zelf je boekingen te laten beheren. Maar wat als de organisatie die applicatie in allerijl op de markt heeft gebracht zonder rekening te houden met de kwetsbaarheden in de toeleveringsketen van het ecosysteem van de app, waaronder corrupte ai- en machine learning (ml)-pakketten en kwetsbaarheden in het model? Farmaceutische bedrijven proberen hun eerdere onderzoeken, proeven en resultaten te gebruiken om modellen te trainen, zodat ze hun volgende medicijn sneller op de markt kunnen brengen. Maar wat als de organisatie een open-source model gebruikt dat is getraind op vergiftigde gegevens, wat leidt tot onjuiste of misleidende testresultaten?
‘Llm’s zijn krachtig in gebruik en bieden kansen’, stelt Reiner. ‘Maar we kunnen niet voorbijgaan aan hun gevoeligheden voor manipulatie. Je moet ervan uitgaan dat het model een aanvaller is en het dan ook als zodanig inrichten en behandelen.’
Llm’s is als onbeheerde software. Zorgt voor fouten en kwetsbaarheden. Niet geschikt voor kritische taken.
Llm’s zijn wel heel sterk in het bondig samenvatten van huidige inzichten en het toepassen van algemeen erkende vaardigheden (zoals programmeren), maar komen niet tot nieuwe inzichten en vaardigheden.
Wat betreft de samenvatting van huidige inzichten en vaardigheden zijn ze dus zeker wel betrouwbaar; wie dat ontkent ontbreekt het dus blijkbaar zelf aan de nodige kennis en vaardigheden om dat te beoordelen.