Artikel

Beveiliging verbeteren met OWASP voor grote taalmodellen

Taco Hiddink

De noodzaak van beveiligingsrichtlijnen voor LLM

Met grote macht komt grote verantwoordelijkheid en de inzet van grote taalmodellen brengt unieke beveiligingsuitdagingen met zich mee die een aangepaste set OWASP-richtlijnen vereisen.

Bij Brainial zijn we ISO 27001 gecertificeerd om de veiligheid te garanderen van de gegevens die onze klanten uploaden naar hun Brainial AI-gebaseerde Tender Assistant. We passen de OWASP-standaard toe, omdat deze een uitgebreide set richtlijnen en best practices biedt om veelvoorkomende beveiligingsrisico's in webapplicaties te identificeren en te beperken.

Naarmate de technologie zich blijft ontwikkelen, komen grote taalmodellen (LLM's), zoals GPT-X, ChatGPT en zijn opvolgers, steeds vaker voor. LLM's verwijzen naar machine-learningmodellen die zijn getraind op enorme hoeveelheden gegevens en worden ingezet in apps zoals ChatGPT. GPT-4 van OpenAI, BERT en LaMDA 2 van Google en RoBERTa of LLaMA 2 van Meta zijn voorbeelden van LLMs. Deze modellen kunnen mensachtige tekst genereren, waardoor ze een waardevol hulpmiddel zijn voor taken als natural language processing, het genereren van inhoud en digitale assistenten.

Bij Brainial gebruiken, trainen en verfijnen we ook onze eigen LLM-modellen (bijvoorbeeld ons eigen TenderGPT-model ) die we gebruiken in het aanbestedingsproces, bijvoorbeeld om gegevens samen te vatten, vragen over aanbestedingen te beantwoorden en antwoorden en concepttekst te genereren om het schrijven van AI-ondersteunde voorstellen mogelijk te maken.

LMM's zijn erg krachtig, maar met grote kracht komt ook grote verantwoordelijkheid en de inzet van grote taalmodellen brengt unieke beveiligingsuitdagingen met zich mee die een aangepaste set OWASP-richtlijnen vereisen.

De OWASP Top 10 voor Large Language Model

Het OWASP Top 10 voor toepassingen Large Language Model project heeft als doel ontwikkelaars, ontwerpers, architecten, managers en organisaties te informeren over de potentiële beveiligingsrisico's bij het inzetten en beheren van grote taalmodellen (LLM's). Het project biedt een lijst van de top 10 meest kritieke kwetsbaarheden die vaak voorkomen in LLM-toepassingen, met de nadruk op de potentiële impact, het gemak waarmee ze kunnen worden uitgebuit en de prevalentie in echte toepassingen.

Voorbeelden van kwetsbaarheden zijn onder andere prompt , gegevenslekken, inadequate sandboxing en ongeautoriseerde code-uitvoering. Het doel is om meer bekendheid te geven aan deze kwetsbaarheden, herstelstrategieën voor te stellen en uiteindelijk de beveiliging van LLM-toepassingen te verbeteren.

bron: https://owasp.org/www-project-top-10-for-large-language-model-applications/

Hoe we de LLM OWASP Top 10 toepassen bij Brainial

Bij het trainen, fine-tunen en implementeren van Large Language Models in onze toepassingen controleren en valideren we tegen de veelvoorkomende LLM OWASP kwetsbaarheden. Dit garandeert een veilig gebruik van LLM-technologie en gegevensveiligheid voor de LLM-modellen en gegevens van onze klanten.

Bij Brainial passen we de volgende controles en preventieve maatregelen toe.

LLM01: Prompt injecteren

Aanvallers kunnen LLM's manipuleren door middel van gemanipuleerde invoer, waardoor het systeem de intenties van de aanvaller uitvoert. Dit kan direct worden gedaan door de prompt op oneerlijke wijze aan te spreken of indirect door gemanipuleerde externe invoer, wat kan leiden tot exfiltratie van gegevens, social engineering en andere problemen.

Kwetsbaarheden:

  • Directe prompt overschrijven systeemprompts
  • Indirecte prompt kapen de conversatiecontext
  • Een gebruiker gebruikt een LLM om tekstgegevens met een indirecte prompt samen te vatten

Onze preventieve maatregelen:

  • Privilegebeheer wordt afgedwongen voor LLM-toegang tot achterliggende systemen
  • De mens in de lus wordt afgedwongen voor bruikbare functionaliteit
  • Externe inhoud is gescheiden van gebruikersprompts

LLM02: Onveilige uitvoerverwerking

Insecure Output Handling is een kwetsbaarheid die ontstaat wanneer een downstream component blindelings uitvoer van large language model (LLM) accepteert zonder de juiste controle. Dit kan leiden tot XSS en CSRF in webbrowsers, maar ook tot SSRF, privilege-escalatie of het op afstand uitvoeren van code op backendsystemen.

Kwetsbaarheden:

  • LLM-uitvoer wordt rechtstreeks in een systeemshell of vergelijkbare functie ingevoerd, wat leidt tot code-uitvoering op afstand
  • JavaScript of Markdown wordt gegenereerd door de LLM en teruggestuurd naar een gebruiker, wat leidt tot XSS

Onze preventieve maatregelen:

  • De juiste uitvoervalidatie wordt toegepast op reacties die van het model naar back-endfuncties komen
  • De uitvoer van het model naar de gebruikers wordt gecodeerd om ongewenste code-interpretaties te beperken.

LLM03: Vergiftiging van trainingsgegevens

Training Data Poisoning verwijst naar het manipuleren van de gegevens of het fine-tuning proces om kwetsbaarheden, achterdeurtjes of vertekeningen te introduceren die de veiligheid, effectiviteit of ethisch gedrag van het model in gevaar kunnen brengen. Dit kan leiden tot prestatievermindering, software-exploitatie in een later stadium en reputatieschade.

Kwetsbaarheden:

  • Een kwaadwillende creëert onnauwkeurige of kwaadwillende documenten gericht op de trainingsgegevens van een model
  • Het model traint met behulp van vervalste informatie of niet-geverifieerde gegevens die tot uiting komen in de uitvoer

Onze preventieve maatregelen:

  • We verifiëren de legitimiteit van gerichte gegevensbronnen tijdens zowel de trainings- als de fijnafstemmingsfase
  • Gegevens voor verschillende modellen worden tijdens de training gescheiden
  • Training wordt uitgevoerd in geïsoleerde trainingspijplijnen

LLM04: Model Denial of Service

Model Denial of Service treedt op wanneer een aanvaller interactie heeft met een Large LanguageModel (LLM) op een manier die een uitzonderlijk hoge hoeveelheid bronnen verbruikt. Dit kan resulteren in een afname van de servicekwaliteit voor hen en andere gebruikers, en mogelijk ook in hoge kosten voor bronnen.

Kwetsbaarheden:

  • Het stellen van vragen die leiden tot terugkerend resourcegebruik door het genereren van taken in een wachtrij met een hoog volume
  • Query's verzenden die ongewoon veel bronnen verbruiken
  • Continue invoeroverloop: Een aanvaller stuurt een invoerstroom naar de LLM die het contextvenster overschrijdt.

Onze preventieve maatregelen:

  • Snelheidsbeperking wordt toegepast om het aantal verzoeken te beperken dat een individuele gebruiker of IP-adres kan doen.
  • Invoervalidatie en -sanering implementeren om ervoor te zorgen dat invoer voldoet aan gedefinieerde limieten en contextvensters, en het gebruik van bronnen per verzoek of stap beperken

LLM05: Kwetsbaarheden in de modelketen

Kwetsbaarheden in de modelketen van LLM's kunnen trainingsgegevens, ML-modellen en implementatieplatforms in gevaar brengen, wat kan leiden tot bevooroordeelde resultaten, beveiligingslekken of volledige systeemuitval. Dergelijke kwetsbaarheden kunnen het gevolg zijn van verouderde software, gevoelige voorgetrainde modellen, vergiftigde trainingsgegevens en onveilige pluginontwerpen.

Kwetsbaarheden:

  • Fijnafstemming met een kwetsbaar voorgetraind model
  • Gebrek aan zichtbaarheid in de inferentieketen
  • Afgeschreven, verouderde of onbeheerde modellen gebruiken

Onze preventieve maatregelen:

  • We passen de best practices van MLOps toe op onze eigen modellen
  • Externe modellen worden gevalideerd met model- en code-ondertekening
  • We controleren pijplijnen op kwetsbaarheden en onderhouden een patchingbeleid

LLM06: Openbaarmaking van gevoelige informatie

LLM-toepassingen kunnen onbedoeld gevoelige informatie, gepatenteerde algoritmen of vertrouwelijke gegevens openbaar maken, wat kan leiden tot onbevoegde toegang, diefstal van intellectueel eigendom en privacyschendingen. Om deze risico's te beperken, moeten LLM-toepassingen gegevens opschonen, een geschikt gebruiksbeleid implementeren en de soorten gegevens die door de LLM worden geretourneerd, beperken.

Kwetsbaarheden:

  • Onbedoelde bekendmaking van vertrouwelijke informatie door fouten
  • Overfitting of onthouden van gevoelige gegevens tijdens training
  • Gebruikte prompts om invoerfilters te omzeilen en gevoelige gegevens te onthullen

Onze preventieve maatregelen:

  • De regel van de minste privileges wordt toegepast bij het trainen van modellen
  • Robuuste validatie en opschoning van invoer wordt toegepast
  • Een veilige modelketen en strikte toegangscontrole worden afgedwongen door het ontwerp

LLM07: Onveilig ontwerp van plugins

Plugins kunnen gevoelig zijn voor kwaadaardige verzoeken die leiden tot schadelijke gevolgen zoals het exfiltreren van gegevens, het op afstand uitvoeren van code en het escaleren van privileges als gevolg van onvoldoende toegangscontrole en onjuiste validatie van invoer. Ontwikkelaars moeten robuuste beveiligingsmaatregelen nemen om uitbuiting te voorkomen, zoals strikt geparametriseerde invoer en veilige richtlijnen voor toegangscontrole.

Kwetsbaarheden:

  • Authenticatie zonder expliciete autorisatie voor een bepaalde plugin
  • Plugins die alle parameters in een enkel tekstveld of als ruwe code, SQL of programmeerstatements accepteren
  • Aanvallers maken verzoeken om hun eigen inhoud te injecteren met gecontroleerde domeinen

Onze preventieve maatregelen:

  • We maken geen gebruik van plugins of standaard chatinterfaces zoals ChatGPT. In plaats daarvan ontwikkelen we onze eigen code volgens onze eigen softwareontwikkelingsstandaarden die zijn gebaseerd op algemene best practices.

LLM08: Buitensporige functionaliteit of toegang

Excessive Agency in LLM-gebaseerde agents is een kwetsbaarheid die wordt veroorzaakt door overfunctionaliteit, overmatige machtigingen of te veel autonomie. Om dit te voorkomen moeten ontwikkelaars de functionaliteit, permissies en autonomie van de plugin of agent beperken tot het hoogst noodzakelijke, gebruikersautorisatie bijhouden, menselijke goedkeuring vereisen voor alle acties en autorisatie implementeren in downstream systemen.

Kwetsbaarheden:

  • Een LLM-agent heeft toegang tot onnodige functies van een model
  • Een LLM agent heeft onnodige rechten en toegang tot functies van andere (downstream) systemen

Onze preventieve maatregelen:

  • We vermijden open functies en implementeren modellen en agents met granulaire functionaliteit.
  • Het loggen en monitoren van de activiteit van LLM modellen en agents gebeurt standaard.
  • Ons motto is "Keep it simple, Keep it secure" en daar houden we ons aan bij het ontwikkelen en trainen van onze modellen.

LLM09: Te veel vertrouwen in LLM-uitvoer

Te veel vertrouwen op output van LLM's kan ernstige gevolgen hebben, zoals verkeerde informatie, juridische problemen en beveiligingsproblemen. Dit gebeurt wanneer een LLM wordt vertrouwd om cruciale beslissingen te nemen of inhoud te genereren zonder voldoende toezicht of validatie.

Kwetsbaarheden:

  • LLM geeft onjuiste informatie
  • LLM genereert onzinnige tekst
  • Inadequate risicocommunicatie van aanbieders van LLM

Preventieve maatregelen:

  • We communiceren de risico's en beperkingen van LLM duidelijk aan onze gebruikers en in onze toepassingen
  • De resultaten van LLM worden regelmatig gecontroleerd en beoordeeld.
  • We maken cross-checking van LLM-uitvoer met betrouwbare bronnen of in context mogelijk in onze applicatie en vragen onze gebruikers om de uitvoer ook op juistheid te controleren.

LLM10: Model diefstal

Diefstal van LLM-modellen betekent onbevoegde toegang tot en exfiltratie van LLM-modellen, met het risico op economisch verlies, reputatieschade en onbevoegde toegang tot gevoelige gegevens. Robuuste beveiligingsmaatregelen zijn essentieel om deze modellen te beschermen.

Kwetsbaarheden:

  • Aanvaller knutselt inputs om modeloutputs te verzamelen
  • Aanval via zijkanalen om modelinformatie te extraheren
  • Aanvaller krijgt onbevoegde toegang tot LLM-model
  • Lekken van modelartefacten en gewichten

Onze preventieve maatregelen:

  • We hebben sterke toegangscontroles en authenticatie geïmplementeerd en we controleren audit- en toegangslogboeken regelmatig, zoals beschreven in ons ISO 27001-beleid.
  • De inzet van MLOps is geautomatiseerd met afgedwongen governance
  • Watermerken op de uitvoer van onze LLM's maken deel uit van onze R&D

Conclusie

De wereld van LLM's is nog nieuw en kan overweldigend zijn, met veel onderzoek en experimenten die nog gaande zijn en veel gebieden die nog niet ontdekt zijn. Het is echter duidelijk dat elk bedrijf dat met een LLM werkt richtlijnen en controles nodig heeft en de OWASP-standaard biedt een goed uitgangspunt. Aangezien NLP-technologie en LLM's een kernonderdeel zijn van onze AI-aangestuurde Tender Assistant, willen we onze klanten en gebruikers een oplossing bieden die veilig en te vertrouwen is. Daarom hebben we een LLM-gebruiksbeleid en de LLM OWASP-richtlijnen geïmplementeerd als onderdeel van onze ISO 27001-certificering. Lees meer over onze veiligheids- en beveiligingsmaatregelen in onze ISO 27001 certificering

Met de AI-technologie van Brainial kunnen aanbestedingsteams eenvoudig aanbestedingen vinden en kwalificeren, ervoor zorgen dat ze geen kritieke informatie missen, aanbestedingsdocumenten snel en grondig doorgronden en de informatie die ze nodig hebben snel en gemakkelijk vinden. Door deze uitdagingen aan te gaan, helpt Brainial aanbestedingsteams tijd te besparen, faalkosten te verlagen en beter geïnformeerde aanbestedingsbeslissingen te nemen. Bekijk onze AI Powered Tender Assist oplossing.

Van chaos naar controle in je tenderproces?

Dit is de standaard tekstwaarde

Standaard tekst
Standaard tekst
Standaard tekst