Best practices voor toepassingsbeveiliging implementeren voor toepassingen met AI

Voltooid

Toepassingen met AI zijn nog steeds toepassingen en daarom is het nog steeds belangrijk om veilige codering en andere aanbevolen procedures voor toepassingsbeveiliging te volgen. AI introduceert nieuwe aanvalsoppervlakken, zoals prompt-interfaces, agent-oproepen en modeleindpunten, maar deze bestaan naast alle traditionele risico's voor applicatiebeveiliging. Organisaties moeten hun bestaande beveiligingsprocedures uitbreiden om AI-specifieke onderdelen te behandelen in plaats van AI-beveiliging als afzonderlijke discipline te behandelen.

Beveiligingslevenscyclus voor softwareontwikkeling (SDLC)

Integreer beveiliging in elke fase van het ontwikkelingsproces voor AI-toepassingen:

  • Ontwerpfase: Voer bedreigingsmodellering uit die AI-specifieke bedreigingen bevat (promptinjectie, gegevensvergiftiging, modeldiefstal). Bepaal welke onderdelen gevoelige gegevens verwerken en welke communiceren met externe systemen.
  • Ontwikkelingsfase: volg veilige coderingsprocedures. Valideer alle invoer, inclusief prompts, voordat u deze verwerkt. Gegevens die worden doorgegeven tussen de AI-orchestrator en hulpprogramma-eindpunten opschonen.
  • Testfase: Neem AI-specifieke testcases op in uw beveiligingstests: promptinjectiepogingen, jailbreakscenario's en gegevensexfiltratietests naast traditionele tests voor beveiligingsproblemen.
  • Implementatiefase: Pas toegang met minimale bevoegdheden toe, versleutel gegevens in transit en at-rest en configureer bewaking voordat u live gaat.
  • Bewerkingsfase: Bewaken op afwijkingen, patches onmiddellijk toepassen en regelmatig beveiligingsbeoordelingen uitvoeren die de AI-onderdelen bevatten.

Het aannemen van een DevSecOps-benadering, waarbij beveiliging is ingesloten in de CI/CD-pijplijn, helpt bij het in balans brengen van beveiligingsvereisten met de snelheid van ontwikkeling.

Beveiliging van AI-agenthulpprogramma's

AI-agents die externe hulpprogramma's (API's, databases, bestandssystemen) kunnen aanroepen, vereisen aanvullende beveiligingsmaatregelen. Elke interactie tussen hulpprogramma's is een potentieel uitbreidingspunt van bevoegdheden of gegevenslekken:

  • Mogelijkheidsmanifesten: Definieer een mogelijkheidsmanifest voor elk hulpprogramma dat een agent kan aanroepen. Alleen de geautoriseerde acties weergeven en standaard alle andere acties verbieden.
  • Scoped, kortstondige referenties: gebruik kortstondige, scoped tokens voor elke aanroep van het hulpprogramma in plaats van referenties met een lange levensduur. Dit beperkt de explosiestraal als een token wordt gecompromitteerd.
  • Uitvoering in sandbox: voer agentfuncties uit in sandboxomgevingen om runtime te isoleren en niet-geautoriseerde systeemoproepen te voorkomen.
  • Opschoning van invoer/uitvoer: alle gegevens die worden doorgegeven tussen de orchestrator van de agent en de eindpunten van het hulpprogramma, opschonen en valideren. Dit voorkomt dat injectieaanvallen via de toolketen worden doorgegeven.
  • Auditlogboekregistratie: elke aanroep van hulpprogramma's bewaken en controleren: logboek welke hulpprogramma's zijn aangeroepen, welke gegevens zijn geopend en door welke agentidentiteit. Dit biedt het forensische spoor dat nodig is om incidenten te onderzoeken.

Diagram van beveiligingsmaatregelen voor AI-agenthulpprogramma's, waaronder manifesten, referenties en sandboxing.

Principe van de minste bevoegdheden

Pas toegang met minimale bevoegdheden consistent toe op alle ONDERDELEN van het AI-systeem:

  • Machtigingen voor gebruikers, toepassingen, AI-agents en serviceaccounts beperken tot het minimum dat nodig is voor hun functie
  • Op rollen gebaseerd toegangsbeheer (RBAC) gebruiken om machtigingen op agentniveau te beheren, gescheiden van de machtigingen van de ontwikkelaars die de agent hebben gebouwd
  • Onnodige machtigingen regelmatig controleren en intrekken
  • Verminder de straalstraal van een gecompromitteerd account door ervoor te zorgen dat er geen enkele identiteit brede toegang heeft

Gegevensopslag en -overdracht beveiligen

Gegevens beveiligen in de AI-pijplijn:

  • Versleutel gevoelige gegevens in rusttoestand en tijdens overdracht, inclusief modelbestanden, trainingsgegevens, gesprekslogboeken en API-gegevensbelasting.
  • Veilige protocollen (TLS 1.2 of hoger) gebruiken voor alle gegevensuitwisseling tussen AI-systeemonderdelen
  • Geheimen, API-sleutels en referenties opslaan in toegewezen geheime beheersystemen, nooit in code, configuratiebestanden of prompts
  • Bewaarbeleid toepassen op gesprekslogboeken en interactiegegevens om de blootstelling te minimaliseren

Bewaking en waarneembaarheid

Gedrag van AI-toepassingen controleren op beveiligingsafwijkingen:

  • Monitor modelresponspatronen op sporen van jailbreaking, promptinjectie of pogingen tot gegevens exfiltratie
  • Bewaak agenthulpprogrammaaanroepen voor onverwacht gedrag: aanroepen naar niet-geautoriseerde eindpunten, ongebruikelijk grote gegevensoverdrachten of acties buiten het bereik
  • Waarschuwingen instellen voor afwijkende gebruikspatronen, zoals plotselinge pieken in API-aanroepen of ongebruikelijke querypatronen die kunnen duiden op een aanval op modelextractie
  • Uitgebreide auditlogboeken onderhouden die gebruikersidentiteit, agentidentiteit, uitgevoerde acties en gegevens vastleggen

Regelmatige beveiligingstests en controle

Voer doorlopende beveiligingsevaluaties uit met AI-specifieke scenario's:

  • Evaluaties van beveiligingsproblemen: AI-systeemonderdelen scannen op bekende beveiligingsproblemen, waaronder frameworks, vectordatabases en indelingshulpprogramma's
  • Penetratietests: AI-specifieke aanvalsscenario's (promptinjectie, jailbreaking, gegevensexfiltratie) opnemen in penetratietests
  • Codebeoordelingen: Beoordeel code die de constructie van prompts, het aansturen van tools en het ophalen van gegevens afhandelt op beveiligingsfouten.
  • Rode teamoefeningen: Voer regelmatig AI-gerichte rode teamoefeningen uit om de effectiviteit van beveiligingscontroles te testen. De volgende module in dit leertraject behandelt AI Red Teaming uitgebreid.