Dreigingsmodellering voor AI-systemen
Hoe je assets, dreigingen en aanvalsvectoren identificeert die specifiek zijn voor AI-systemen met behulp van vereenvoudigde dreigingsmodelleringsframeworks die zijn aangepast voor machine learning.
Wat is dreigingsmodellering?
Dreigingsmodellering is de praktijk waarbij je systematisch nadenkt over wat er met een systeem mis kan gaan, voordat aanvallers het je uit de eerste hand laten zien. Voor AI-systemen beantwoordt dreigingsmodellering drie kernvragen: Wat beschermen we? (assets), Wie zou het kunnen aanvallen? (threat actors) en Hoe zouden ze dat kunnen doen? (aanvalsvectoren).
Traditionele dreigingsmodelleringsframeworks zoals STRIDE (Spoofing, Tampering, Repudiation, Information Disclosure, Denial of Service, Elevation of Privilege) zijn ontworpen voor deterministische softwaresystemen. AI-systemen introduceren nieuwe typen assets, nieuwe threat actors en nieuwe aanvalsvectoren die deze frameworks niet volledig dekken.
Stap 1: Identificeer AI-specifieke assets
Assets in een AI-systeem gaan verder dan traditionele data en infrastructuur. Het model zelf, de trainingsdata, de gedragsmatige alignment en de tooltoegang zijn allemaal assets die bescherming nodig hebben.
| Asset | Beschrijving | Waarom het ertoe doet |
|---|---|---|
| Modelgewichten | De aangeleerde parameters van het neurale netwerk | Diefstal maakt klonen mogelijk; manipulatie maakt backdoors mogelijk |
| Trainingsdata | Data gebruikt voor pre-training, fine-tuning en RLHF | Bevat mogelijk gevoelige of bedrijfseigen informatie |
| System prompt | Instructies die het gedrag en de beperkingen van het model definiëren | Blootstelling onthult beveiligingsmechanismen en bedrijfslogica |
| Alignment / veiligheidstraining | De gedragsbeperkingen die via RLHF en safety fine-tuning zijn aangeleerd | Een bypass ondermijnt alle op beleid gebaseerde bescherming |
| Tooltoegang | API's, databases, bestandssystemen en externe diensten die het model kan aanroepen | Misbruik maakt impact in de echte wereld mogelijk die verder gaat dan tekstgeneratie |
| Gebruikersdata | Gesprekken, geüploade bestanden en interactiegeschiedenis | Bevat PII en mogelijk gevoelige informatie |
| Retrieval-corpus | Documenten gebruikt voor RAG (retrieval-augmented generation) | Poisoning corrumpeert de kennisbank van het model |
| Bedrijfslogica | Applicatiespecifieke regels, prijsstelling en besluitvorming | Extractie onthult concurrentiegevoelige informatie |
Gevoeligheidsmatrix van assets
Niet alle assets zijn even gevoelig. Classificeer elke asset naar de gevoeligheid voor het in gevaar brengen van vertrouwelijkheid, integriteit en beschikbaarheid:
| Asset | Vertrouwelijkheid | Integriteit | Beschikbaarheid |
|---|---|---|---|
| Modelgewichten | Hoog | Kritiek | Gemiddeld |
| Trainingsdata | Hoog | Kritiek | Laag |
| System prompt | Gemiddeld | Hoog | Laag |
| Alignment | N.v.t. | Kritiek | Hoog |
| Tooltoegang | Gemiddeld | Kritiek | Hoog |
| Gebruikersdata | Kritiek | Hoog | Gemiddeld |
Stap 2: Identificeer threat actors
Threat actors voor AI-systemen variëren van nieuwsgierige gebruikers tot geavanceerde tegenstanders. Inzicht in hun motivaties en capaciteiten bepaalt de diepgang en focus van je testen.
Gewone gebruiker
Motivatie: Nieuwsgierigheid, vermaak of het aftasten van grenzen. Capaciteiten: Geen technische expertise; gebruikt uitsluitend natuurlijke taal. Typische aanvallen: Eenvoudige jailbreakpogingen, prompts kopiëren van social media, basale extractie van de system prompt.
Bekwame aanvaller
Motivatie: Misbruik voor contentgeneratie, datadiefstal of concurrentie-informatie. Capaciteiten: Begrijpt prompt engineering, is bekend met bekende aanvalstechnieken en kan API-interacties scripten. Typische aanvallen: Geavanceerde prompt injection-ketens, geautomatiseerde extractie, manipulatie over meerdere beurten.
ML-praktijkbeoefenaar
Motivatie: Modeldiefstal, onderzoek of concurrentievoordeel. Capaciteiten: Diepgaand begrip van modelarchitecturen, toegang tot rekenkracht om surrogaatmodellen te trainen, het vermogen om gradient-based aanvallen te ontwerpen. Typische aanvallen: Modelextractie door systematisch bevragen, het genereren van adversarial voorbeelden, fine-tuning-aanvallen.
Insider-dreiging
Motivatie: Datadiefstal, sabotage of ongeautoriseerde toegang. Capaciteiten: Toegang tot interne systemen, trainingspipelines of deployment-infrastructuur. Typische aanvallen: Vergiftiging van trainingsdata, het inbouwen van een model-backdoor, manipulatie van de system prompt.
Geautomatiseerde agent
Motivatie: Wisselend (de agent handelt namens een andere actor). Capaciteiten: Kan op schaal interacteren, meerdere aanvallen aaneenketenen en agent-naar-agent-interfaces misbruiken. Typische aanvallen: Indirecte prompt injection op schaal, geautomatiseerd oogsten van credentials via toolmisbruik, feedback-poisoning.
Stap 3: Breng aanvalsvectoren in kaart
Met de assets geïdentificeerd en de threat actors gedefinieerd, is de volgende stap om in kaart te brengen hoe elke actor elke asset zou kunnen bereiken. Een aanvalsvector is het pad dat een tegenstander aflegt van zijn startpositie naar zijn doelwit.
Het AI-aanvalsoppervlak
┌─────────────────────────────────┐
Gebruikersinvoer ─→│ Applicatielaag │
│ (API, UI, authenticatie) │
└──────────┬──────────────────────┘
│
┌──────────▼──────────────────────┐
│ Orchestratielaag │
│ (promptsamenstelling, RAG, │
│ tool-routing, guardrails) │
└──────────┬──────────────────────┘
│
┌──────────▼──────────────────────┐
│ Modellaag │
│ (inferentie, attention, │
│ tokengeneratie) │
└──────────┬──────────────────────┘
│
┌──────────▼──────────────────────┐
│ Datalaag │
│ (trainingsdata, embeddings, │
│ retrieval-corpus, gebruikersdata)│
└─────────────────────────────────┘
Vectoren in kaart gebracht per laag
Vectoren in de applicatielaag:
- API-authenticatie omzeilen of misbruiken
- Rate limits ontwijken
- Gaten in de invoervalidatie (codering, lengte)
- Gebreken in het sessiebeheer
Vectoren in de orchestratielaag:
- Prompt injection via gebruikersinvoer
- RAG-poisoning door manipulatie van externe documenten
- Manipulatie van tool calls
- Guardrail bypass via obfuscatie of semantische ontwijking
Vectoren in de modellaag:
- Jailbreaken via adversarial prompts
- Adversarial voorbeelden die misclassificatie veroorzaken
- Modelextractie door systematisch bevragen
- Extractie van trainingsdata door misbruik van memorisatie
Vectoren in de datalaag:
- Vergiftiging van trainingsdata (als er toegang is)
- Manipulatie van de embeddingruimte
- Corruptie van de kennisbank
- Exfiltratie van gebruikersdata via het model
Stap 4: Beoordeel en prioriteer
Met de aanvalsvectoren in kaart gebracht, beoordeel je elke vector op waarschijnlijkheid en impact om de testinspanning te prioriteren.
Waarschijnlijkheidsfactoren
- Vereiste toegang: Heeft de aanvaller geauthenticeerde toegang nodig? Fysieke toegang? Toegang tot het interne netwerk?
- Vereiste vaardigheid: Kan de aanval met alleen natuurlijke taal worden uitgevoerd, of vraagt die om ML-expertise?
- Bestaande mitigaties: Zijn er guardrails, rate limits of monitoring aanwezig?
- Publieke kennis: Zijn er bekende exploits of technieken beschikbaar voor deze vector?
Impactfactoren
- Gevoeligheid van de data: Welke data kan worden blootgesteld of gecorrumpeerd?
- Blast radius: Hoeveel gebruikers of systemen worden geraakt?
- Omkeerbaarheid: Kan de schade ongedaan worden gemaakt?
- Implicaties voor regelgeving: Roept de impact juridische of compliance-verplichtingen op?
Prioriteitsmatrix
| Lage impact | Gemiddelde impact | Hoge impact | |
|---|---|---|---|
| Hoge waarschijnlijkheid | Monitoren | Testen | Eerst testen |
| Gemiddelde waarschijnlijkheid | Accepteren | Testen | Testen |
| Lage waarschijnlijkheid | Accepteren | Monitoren | Testen als er tijd is |
Vereenvoudigd sjabloon voor een AI-dreigingsmodel
Voor teams die nieuw zijn in AI-dreigingsmodellering biedt dit vereenvoudigde sjabloon een vertrekpunt:
AI-systeem: [Naam en beschrijving]
Deployment: [API / Self-hosted / Edge / Hybride]
Model: [Basismodel, wel of niet fine-tuned, modelgrootte]
Tools: [Lijst van tools/API's die het model kan benaderen]
Gebruikers: [Wie interacteert met het systeem]
ASSETS:
1. [Asset] — Gevoeligheid: [Hoog/Gemiddeld/Laag]
...
THREAT ACTORS:
1. [Type actor] — Motivatie: [...] — Capaciteit: [...]
...
AANVALSVECTOREN (geprioriteerd):
1. [Vector] — Doelwit: [Asset] — Waarschijnlijkheid: [H/G/L]
— Impact: [H/G/L] — Prioriteit: [Kritiek/Hoog/Gemiddeld/Laag]
...
BESTAANDE MITIGATIES:
1. [Mitigatie] — Dekt: [Welke vectoren] — Hiaten: [Wat het mist]
...
TESTPRIORITEITEN:
1. [Vector met hoogste prioriteit en testaanpak]
...
Gerelateerde onderwerpen
- Grondbeginselen van red team-methodologie — hoe dreigingsmodellering past in de levenscyclus van de opdracht
- Taxonomie van AI-aanvallen — het classificeren van de aanvallen die via dreigingsmodellering zijn geïdentificeerd
- AI-systeemarchitectuur — inzicht in de systemen die je modelleert
- Adversarial ML: kernconcepten — de adversarial technieken die de opsomming van aanvalsvectoren voeden
Referenties
- "Threat Modeling: Designing for Security" - Adam Shostack (2014) - Het basiswerk over de methodologie van dreigingsmodellering, toepasbaar op alle systemen, inclusief AI
- "AI Risk Management Framework" - NIST (2024) - Federaal framework dat dreigingsmodellering plaatst binnen breder AI-risicobeheer
- "MITRE ATLAS: Adversarial Threat Landscape for AI Systems" - MITRE (2023) - Kennisbank van adversarial technieken die de dimensie "aanvalsvectoren" van AI-dreigingsmodellen vult
- "Securing Machine Learning Pipelines" - Google (2024) - Praktische richtlijnen voor het identificeren en mitigeren van dreigingen gedurende de hele ML-ontwikkelingscyclus
Wat maakt AI-dreigingsmodellering anders dan traditionele dreigingsmodellering van applicatiebeveiliging?