Aanvallen op cloud-AI-infrastructuur
Beveiligingsbeoordeling van cloud-gehoste AI/ML-platforms zoals AWS SageMaker, Azure ML en GCP Vertex AI -- IAM-misconfiguraties, modeldiefstal en datablootstelling.
Cloud-AI-platforms introduceren een uniek aanvalsoppervlak dat traditionele cloudbeveiligingszorgen combineert met ML-specifieke risico's. Verkeerd geconfigureerde IAM-policies, blootgestelde modelendpoints en onveilige trainingspipelines creëren kansen die niet bestaan in conventionele cloudimplementaties.
Veelvoorkomende aanvalsoppervlakken
| Aanvalsoppervlak | AWS SageMaker | Azure ML | GCP Vertex AI |
|---|---|---|---|
| Modelendpoints | SageMaker Endpoints | Azure ML Endpoints | Vertex AI Endpoints |
| Trainingsdata | S3-buckets | Blob Storage | GCS-buckets |
| Modelartefacten | S3/ECR | Azure Container Registry | Artifact Registry |
| Notebooks | SageMaker Studio | Azure ML Notebooks | Vertex AI Workbench |
| IAM | IAM Roles/Policies | Azure RBAC/MI | IAM/Service Accounts |
| Netwerken | VPC/PrivateLink | VNet/Private Endpoints | VPC/Private Google Access |
Cross-platform-kwetsbaarheidspatronen
1. Overgeprivilegieerde ML-rollen
ML-teams krijgen vaak te brede rechten omdat ML-workflows veel services raken:
# Voorbeeld: overgeprivilegieerde AWS SageMaker-rol
{
"Version": "2012-10-17",
"Statement": [{
"Effect": "Allow",
"Action": [
"s3:*", # Te breed -- zou beperkt moeten zijn tot specifieke buckets
"sagemaker:*", # Te breed -- zou beperkt moeten zijn tot specifieke resources
"ecr:*", # Staat het pullen van elke containerimage toe
"logs:*" # Kan logs van andere teams blootstellen
],
"Resource": "*" # Geen resource-scoping
}]
}2. Blootgestelde modelendpoints
# Controleer op ongeauthenticeerde endpoint-toegang
import requests
endpoints = [
"https://runtime.sagemaker.us-east-1.amazonaws.com/endpoints/prod-model/invocations",
"https://ml-workspace.azureml.net/score",
"https://us-central1-aiplatform.googleapis.com/v1/projects/my-project/locations/us-central1/endpoints/12345:predict",
]
for endpoint in endpoints:
resp = requests.post(endpoint, json={"inputs": "test"}, timeout=5)
print(f"{endpoint}: {resp.status_code}")3. Blootstelling van trainingsdata
Opslagbuckets met trainingsdata zijn vaak verkeerd geconfigureerd:
- Publieke leestoegang op S3-buckets met trainingsdatasets
- Te ruime shared access signatures (SAS) op Azure Blob-containers
- Uniform bucket-level access op GCS met allUsers als reader
Beoordelingsmethodologie
IAM-beoordeling
Inventariseer ML-gerelateerde rollen en beoordeel hun rechtenscope. Let op
*-resource-wildcards en te brede actiesets.Netwerkbeoordeling
Controleer de toegankelijkheid van endpoints, VPC/VNet-configuratie en of ML-services internetgericht zijn.
Datastore-audit
Beoordeel de toegangscontroles op trainingsdata, modelartefacten en logopslag.
Endpoint-testen
Test modelendpoints op authenticatie-bypass, inputvalidatie en haalbaarheid van modelextractie.
Gerelateerde onderwerpen
- AWS SageMaker-aanvalsoppervlak -- AWS-specifieke aanvallen
- Azure ML-aanvalsoppervlak -- Azure-specifieke aanvallen
- GCP Vertex AI-aanvalsoppervlak -- GCP-specifieke aanvallen
- Model-supply-chain -- Beveiliging van modelartefacten
Referenties
- AWS SageMaker Security Best Practices - Amazon Web Services (2024) - Official security guidance for SageMaker deployments
- "Threat Modeling AI/ML Systems and Dependencies" - MITRE ATLAS (2023) - Cloud AI threat modeling framework
- Azure Machine Learning Security Baseline - Microsoft (2024) - Azure ML security configuration guidance
- Google Cloud AI Platform Security Overview - Google Cloud (2024) - Vertex AI security architecture documentation
Waarom zijn IAM-rollen voor ML-workloads vaak overgeprivilegieerd vergeleken met andere cloud-workloads?