Serverless Security Testing: Lambda, Functions und Cloud Run absichern

Testen von Ausführungsrollen
Jede Serverless-Funktion wird mit einer IAM-Rolle ausgeführt, die definiert, auf welche Cloud-Ressourcen sie zugreifen kann. Die Tests bewerten, ob Rollen dem Least-Privilege-Prinzip folgen, ob Funktionen Rollen gemeinsam nutzen (was den Blast Radius vergrößert) und ob Rollenberechtigungen eine Privilegienerweiterung durch Service Chaining ermöglichen.
Event Source Injection
Serverless-Funktionen werden durch Ereignisse ausgelöst – API Gateway-Anfragen, S3-Uploads, SQS-Nachrichten, CloudWatch-Ereignisse. Jede Ereignisquelle ist ein potenzieller Injection-Vektor. Die Tests bewerten die Eingabevalidierung auf Ebene der Ereignisquelle, nicht nur innerhalb des Funktionscodes.
Umgebungsvariablen und Secrets
Funktionen speichern Konfigurationen und Secrets häufig in Umgebungsvariablen – die für jeden mit Lesezugriff auf die Funktion sichtbar sind. Die Tests prüfen auf Klartext-Secrets, die Offenlegung sensibler Konfigurationen und ob Funktionen ein angemessenes Secrets Management (Secrets Manager, Parameter Store, Key Vault) anstelle von Umgebungsvariablen verwenden.
Cold Start und Timeout-Missbrauch
Serverless-Funktionen haben Ausführungszeitlimits und Cold-Start-Verhalten, die einzigartige Denial-of-Service- und Timing-Attack-Vektoren erzeugen. Die Tests bewerten Ressourcenlimits, Concurrency-Einstellungen und ob Timeout-Verhalten einen partiellen Zustand offenlegen.
Serverless-Testing mit Penetrify
Das Serverless Security Testing von Penetrify deckt Lambda, Azure Functions und Cloud Functions mit Ausführungsrollenanalyse, Event Source Injection Testing, Bewertung des Secrets Managements und Bewertung von übergreifenden Angriffspfaden ab.
Das Fazit
Serverless bedeutet nicht Security-less. Funktionen erben Risiken durch ihre Ausführungsrollen, Ereignisquellen und Umgebungskonfigurationen. Penetrify testet alle drei Schichten.