Tests de sécurité Serverless : Lambda, Functions et Cloud Run

Tests des rôles d'exécution
Chaque fonction serverless s'exécute avec un rôle IAM qui définit les ressources cloud auxquelles elle peut accéder. Les tests évaluent si les rôles suivent le principe du moindre privilège, si les fonctions partagent des rôles (ce qui augmente le rayon d'impact) et si les permissions des rôles permettent une escalade de privilèges via le chaînage de services.
Injection de source d'événement
Les fonctions serverless sont déclenchées par des événements : requêtes API Gateway, téléchargements S3, messages SQS, événements CloudWatch. Chaque source d'événement est un vecteur d'injection potentiel. Les tests évaluent la validation des entrées au niveau de la source d'événement, et pas seulement dans le code de la fonction.
Variables d'environnement et secrets
Les fonctions stockent fréquemment la configuration et les secrets dans des variables d'environnement, visibles par toute personne ayant un accès en lecture à la fonction. Les tests vérifient la présence de secrets en clair, l'exposition de configurations sensibles et si les fonctions utilisent une gestion appropriée des secrets (Secrets Manager, Parameter Store, Key Vault) au lieu des variables d'environnement.
Abus de démarrage à froid et de délai d'attente
Les fonctions serverless ont des limites de temps d'exécution et des comportements de démarrage à froid qui créent des vecteurs uniques d'attaque par déni de service et d'attaque de synchronisation. Les tests évaluent les limites de ressources, les paramètres de concurrence et si les comportements de délai d'attente exposent un état partiel.
Tests serverless avec Penetrify
Les tests de sécurité serverless de Penetrify couvrent Lambda, Azure Functions et Cloud Functions avec l'analyse des rôles d'exécution, les tests d'injection de source d'événement, l'évaluation de la gestion des secrets et l'évaluation des chemins d'attaque inter-services.
L'essentiel
Serverless ne veut pas dire sans sécurité. Les fonctions héritent des risques via leurs rôles d'exécution, leurs sources d'événements et leurs configurations d'environnement. Penetrify teste les trois couches.