Testowanie Bezpieczeństwa Serverless: Lambda, Functions i Cloud Run

Testowanie Ról Wykonawczych
Każda funkcja serverless działa z rolą IAM, która definiuje, do jakich zasobów w chmurze ma dostęp. Testowanie ocenia, czy role przestrzegają zasady minimalnych uprawnień, czy funkcje współdzielą role (zwiększając promień rażenia) oraz czy uprawnienia roli umożliwiają eskalację uprawnień poprzez łączenie usług.
Iniekcja Źródła Zdarzeń
Funkcje serverless są wywoływane przez zdarzenia — żądania API Gateway, przesyłanie plików S3, wiadomości SQS, zdarzenia CloudWatch. Każde źródło zdarzeń jest potencjalnym wektorem iniekcji. Testowanie ocenia walidację danych wejściowych na poziomie źródła zdarzeń, a nie tylko w kodzie funkcji.
Zmienne Środowiskowe i Sekrety
Funkcje często przechowują konfigurację i sekrety w zmiennych środowiskowych — widocznych dla każdego, kto ma dostęp do odczytu funkcji. Testowanie sprawdza sekrety w postaci jawnego tekstu, narażenie poufnej konfiguracji oraz to, czy funkcje używają odpowiedniego zarządzania sekretami (Secrets Manager, Parameter Store, Key Vault) zamiast zmiennych środowiskowych.
Nadużycie Zimnego Startu i Przekroczenia Czasu
Funkcje serverless mają limity czasu wykonania i zachowania zimnego startu, które tworzą unikalne wektory ataków typu "odmowa usługi" (Denial-of-Service) i ataków czasowych. Testowanie ocenia limity zasobów, ustawienia współbieżności i to, czy zachowania przekroczenia limitu czasu ujawniają częściowy stan.
Testowanie Serverless z Penetrify
Penetrify oferuje testowanie bezpieczeństwa serverless dla Lambda, Azure Functions i Cloud Functions, w tym analizę ról wykonawczych, testowanie iniekcji źródła zdarzeń, ocenę zarządzania sekretami oraz ocenę ścieżek ataku między usługami.
Podsumowanie
Serverless nie oznacza braku bezpieczeństwa. Funkcje dziedziczą ryzyko poprzez swoje role wykonawcze, źródła zdarzeń i konfiguracje środowiska. Penetrify testuje wszystkie trzy warstwy.