Cloud и SaaS DFIR: журналы, IAM, форензика API, M365/Google/AWS/Azure и отчётность
В предыдущих статьях курса мы разобрали фундамент DFIR (процесс, юридические основы, chain of custody) и практику сбора данных на endpoint (Windows/macOS/Linux). В гибридных инцидентах этого недостаточно: атакующий всё чаще действует через облачные API, учётные записи, токены и SaaS-конфигурации, оставляя следы не на диске, а в аудит-журналах облака и SaaS.
Цель этой статьи: дать рабочую карту Cloud/SaaS DFIR, чтобы вы могли быстро и доказуемо ответить на вопросы:
Кто (какая идентичность) совершал действия?
Что именно делали (какие API/админ-операции/доступ к данным)?
Откуда (IP, приложение, устройство, география)?
Когда (корректное время, часовой пояс, корреляция с endpoint)?
Какие артефакты сохранить, пока не истёк срок хранения?Базовые понятия Cloud/SaaS DFIR
Чтобы не возникало неизвестных терминов, зафиксируем минимальный словарь.
IAM (Identity and Access Management) — система управления идентичностями и правами доступа: пользователи, группы, роли, политики, сервисные учётные записи.
Audit log (журнал аудита) — записи о действиях в админ-плоскости: кто менял конфигурации, создавал ключи, назначал роли, выполнял операции через API.
Sign-in log (журналы входов) — события аутентификации: успешные/неуспешные входы, MFA, условный доступ, IP, клиент.
API forensics (форензика API) — восстановление действий атакующего по событиям управления и доступа, которые фиксируются при вызовах API.
Токен — строка, представляющая право доступа (например, OAuth access token). Важно: токен может давать доступ без повторного ввода пароля.
OAuth/OIDC/SAML — протоколы, через которые приложения получают доступ к ресурсам от имени пользователя или сервиса.Практическая разница, важная для DFIR:
компрометация пароля решается сменой пароля;
компрометация токена/ключа/приложения OAuth может сохранять доступ даже после смены пароля, пока токены не отозваны и приложение не отключено.Что ломает Cloud/SaaS расследования чаще всего
Ретеншн логов
1. многие журналы хранятся ограниченное время по умолчанию;
2. если вы не выгрузили их сразу, вы теряете доказательства.
Отсутствие нужного класса логов
1. в AWS, например, CloudTrail может писать только management events, но не data events (доступ к объектам);
2. в SaaS аудит может быть отключён или ограничен лицензией.
Смена плоскости атаки
1. атакующий может действовать через OAuth-приложение, сервисную учётку или временные STS-сессии;
2. на endpoint это может почти не отражаться.
Плохая временная гигиена
1. разные источники пишут время в разных форматах;
2. без нормализации в UTC таймлайн будет противоречивым.
Карта источников: где искать ответы в Cloud и SaaS
!Карта, связывающая облачные и SaaS-логи с вопросами расследования и доказательностью
Ниже — практичная таблица вопрос → источники, применимая почти в любой платформе.
| Вопрос расследования | Наиболее полезные источники | Что подтверждают |
|---|---|---|
| Кто получил доступ? | Sign-in logs, MFA/Conditional Access события, IAM changes | Учётка, метод входа, IP, устройство/клиент, риск-события |
| Какие права получили? | Audit logs по IAM: роли, политики, привилегии, consent | Эскалация привилегий, выдача ролей, создание ключей |
| Какие действия делали через API? | Control plane audit (CloudTrail/Activity Log/GCP Audit), SaaS admin audit | Создание/изменение ресурсов, отключение логирования, изменение сетей |
| Был ли доступ к данным? | Data plane логи (S3 data events, M365 file access, Google Drive audit) | Чтение/скачивание/экспорт данных |
| Чем закрепились? | OAuth apps, ключи API, refresh tokens, service principals, новые федерации | Долгий доступ без пароля, обход MFA |
| Пытались ли скрыться? | События удаления логов, изменения ретеншна, отключение CloudTrail/audit | Антифорензика в облаке |
Сбор доказательств в Cloud/SaaS: как делать “правильно”
Связь с предыдущими статьями курса прямая: здесь те же принципы chain of custody, только “носителем” часто выступает экспорт JSON/CSV или снимок конфигурации.
Что сохранять в первую очередь
Журналы входов и IAM-изменений за окно инцидента
Журналы админ-действий (control plane)
Журналы доступа к данным (data plane), если они включены
Снимки конфигураций
1. текущие роли/права;
2. список приложений OAuth и выданных разрешений;
3. активные ключи, токены, федерации;
4. правила почты/форвардинга, настройки шаринга.
Как упаковывать и документировать
Экспортируйте логи в исходном формате, который предоставляет платформа
Зафиксируйте контекст
1. кто экспортировал;
2. из какого интерфейса или API;
3. какой фильтр по времени;
4. какая учётка и права использовались.
Посчитайте SHA-256 для каждого файла и для архива-контейнера
Внесите файлы в реестр доказательств (идентификатор, время, хеш, место хранения)Примечание: в cloud-расследованиях особенно важно фиксировать точные параметры выборки, иначе позже нельзя доказать, что вы не “вырезали неудобные события”.
IAM DFIR: что проверять при компрометации учёток и ролей
IAM — это “нервная система” облака и SaaS. В большинстве серьёзных инцидентов первопричина или закрепление связаны с идентичностью.
Типовые сценарии атак и их следы
Компрометация пользователя
1. аномальные входы (новая география, новый клиент, необычное время);
2. серия неуспешных попыток, затем успех;
3. отключение или обход MFA.
Эскалация привилегий
1. назначение админ-ролей;
2. изменение политик/ролей;
3. добавление доверия (federation) или сервисных принципалов.
Закрепление через токены и приложения
1. выдача consent OAuth-приложению с широкими правами;
2. создание/ротация API-ключей;
3. выпуск долгоживущих refresh tokens.
Часто забываемые проверки (то, что многие называют “малоизвестным”, но на практике критично)
Проверка OAuth-приложений и выданных разрешений
1. особенно опасны разрешения уровня чтения почты/файлов и управление пользователями;
2. закрепление через OAuth часто переживает смену пароля.
Проверка временных ролей и “assume role”
1. в облаках распространены временные сессии, которые выглядят “как будто это не пользователь”, а роль.
Проверка изменений логирования
1. отключение аудита, сокращение ретеншна, удаление trail или workspace audit.
Форензика API: как мыслить “действиями”, а не “ресурсами”
API forensics в облаке строится вокруг трёх осей.
Идентичность
1. пользователь, сервисная учётка, роль, приложение OAuth.
Действие
1. какое API/операция выполнены: создание ключа, изменение правил, экспорт данных.
Контекст
1. источник: IP, user-agent/клиент, region, device, authentication context.
Практический подход к анализу:
Выделить “верхнюю точку” по сигналу
1. конкретный пользователь, IP, приложение, ресурс.
Построить цепочку действий вокруг неё
1. что было за 1–24 часа до события;
2. какие IAM-изменения произошли сразу после.
Проверить антифорензику
1. изменения настроек аудита;
2. удаление логов или отключение источников.
Сопоставить с endpoint и сетью
1. IP-адреса и временные окна коррелировать с VPN/Proxy/EDR.
AWS DFIR: CloudTrail, IAM и data plane
Ключевые источники в AWS
AWS CloudTrail
1. основной аудит API для management events;
2. умеет писать в S3 и/или CloudWatch Logs.
CloudTrail Data Events
1. события доступа к данным (например, объектам S3);
2. часто не включены из-за стоимости, но при утечках становятся решающими.
AWS Config
1. история конфигураций ресурсов и изменений;
2. удобен для доказуемого “что и когда изменили”.
VPC Flow Logs
1. сетевые потоки на уровне VPC/ENI;
2. полезно для подтверждения сетевой активности.
GuardDuty
1. детекты и находки по подозрительной активности.
Документация:
AWS CloudTrail User Guide
CloudTrail data events
AWS Config Developer Guide
VPC Flow Logs
Amazon GuardDuty User GuideAWS IAM: что проверять
CreateAccessKey, UpdateAccessKey, DeleteAccessKey
CreateUser, CreateLoginProfile, AttachUserPolicy, PutUserPolicy
AssumeRole и изменения trust policy (частый путь закрепления)
Изменения в CloudTrail и S3 bucket policy (антифорензика и эксфиль)Типовые “красные флаги” в CloudTrail
API-вызовы из нетипичных регионов или IP
Серии “enumeration” действий
1.
List,
Describe,
Get* по множеству сервисов
Массовое отключение защит
1. изменения security groups, выключение логов, изменение KMS/ключей
Azure DFIR: Activity Log, Entra ID и диагностические логи
В Azure важно разделять:
Azure control plane (управление ресурсами подписки) → Activity Log
Entra ID (Azure AD) identity plane → sign-in и audit logs
Data plane конкретных сервисов → diagnostic settings и ресурсные логиAzure Activity Log
фиксирует операции управления ресурсами в подписке.Документация:
Azure Activity logEntra ID (Azure AD): sign-in logs и audit logs
Sign-in logs
1. кто входил, откуда, через какой клиент;
2. MFA и условный доступ (Conditional Access), если настроены.
Audit logs
1. изменения пользователей, групп, приложений, ролей;
2. действия администраторов.
Документация:
Sign-in logs in Microsoft Entra ID
Audit logs in Microsoft Entra IDЧасто упускаемые проверки в Entra ID
Изменения в App registrations и Service principals
1. добавление секретов/сертификатов;
2. назначение приложению ролей и API permissions.
События consent OAuth-приложениям
1. особенно dangerous: широкие разрешения к почте, файлам, каталогу.
Изменения Conditional Access
1. отключение требований MFA или исключения для конкретных пользователей.
Microsoft 365 DFIR: Unified Audit Log, Exchange, SharePoint/OneDrive
M365 часто является центральной точкой инцидента: почта как initial access, OneDrive/SharePoint как канал утечки, Teams как канал коммуникации.
Базовые источники в M365
Microsoft Purview Audit (Unified Audit Log)
1. единый аудит по множеству сервисов M365.
Exchange Online
1. правила почты (inbox rules), форвардинг, делегаты;
2. mailbox audit (если включён в вашем тенанте и для нужных действий).
SharePoint/OneDrive
1. доступ к файлам, скачивания, внешние шаринги (в зависимости от настроек аудита).
Документация:
Search the audit log
Set up mailbox auditingM365: что проверять в первую очередь
Initial access через почту
1. входы в Entra ID пользователя (в связке с M365);
2. подозрительные операции
MailboxLogin и связанные события аудита (если доступны);
3. открытие/скачивание вложений на endpoint (связка с предыдущими статьями курса).
Закрепление в почте
1.
правила форвардинга и
скрытые inbox rules;
2. добавление новых делегатов и прав доступа к ящику.
Закрепление через OAuth
1. приложения с разрешениями
Mail.Read,
Mail.ReadWrite, доступ к файлам;
2. новый или редкий
consent в момент инцидента.
Утечка данных
1. массовые скачивания из OneDrive/SharePoint;
2. создание внешних ссылок;
3. изменения политик шаринга.
“Нестандартные” места следов в M365
Изменения настроек аудита и удержания
1. попытки сократить окно видимости.
История изменений политик доступа (например, условного доступа и исключений)
Взаимосвязь “почта → OAuth → файлы”
1. атакующий может почти не трогать пароль, а получить доступ через приложение.
Google Workspace DFIR: Admin audit, Gmail и Drive
Google Workspace расследуется похожим образом: входы, админ-действия, доступ к данным, приложения OAuth.
Ключевые источники
Reports API и журналы Admin console
1. события входов, админ-действий, активности сервисов.
Gmail
1. правила пересылки/маршрутизации, делегаты;
2. подозрительные логины.
Google Drive
1. внешние шаринги, скачивания, массовые изменения.
Документация:
Google Workspace Admin: Audit and investigation
Admin SDK Reports APIЧасто упускаемые проверки в Google Workspace
OAuth-приложения и сторонние доступы
1. кто выдал доступ приложению;
2. какие scopes получены.
Изменения настроек шаринга Drive
1. расширение внешнего доступа ради эксфиля.
Правила Gmail
1. скрытая пересылка и авто-архивирование писем.
Как связать Cloud/SaaS и endpoint в один таймлайн
В предыдущих статьях мы разбирали, как на endpoint искать execution, persistence и user activity. В гибридном расследовании типовой “сквозной” таймлайн выглядит так.
Событие входа в IAM (Entra ID / Google / AWS federation)
Изменение прав или выдача OAuth-consent
Действия в SaaS (почта, файлы, админ-панель)
При необходимости — действие на endpoint
1. запуск вложения;
2. токен-краже (иногда признаки видны только на устройстве);
3. установке агента/скрипта.
Практическое правило корреляции: выбирайте один “якорь времени” (обычно UTC), а затем приводите к нему времена из всех источников.
Отчётность по Cloud/SaaS инциденту: что должно быть в результате
Хороший DFIR-отчёт по облаку и SaaS должен быть полезен одновременно:
инженерам (что исправлять),
менеджменту (масштаб и риск),
юристам/комплаенсу (доказуемость).Рекомендуемая структура отчёта
Executive summary
1. что произошло;
2. бизнес-эффект;
3. текущий статус.
Scope и ограничения
1. какие тенанты/подписки/домены;
2. какой период;
3. какие логи недоступны и почему.
Таймлайн
1. таблица событий с источником (лог), временем (UTC), субъектом (identity), действием (API/операция).
Доказательства и методика
1. какие журналы экспортированы;
2. как обеспечивалась целостность;
3. реестр доказательств (ID, хеш, место хранения).
Технические выводы
1. initial access;
2. privilege escalation;
3. persistence;
4. data access/exfil.
Рекомендации
1. немедленные меры;
2. долгосрочные улучшения (логирование, ретеншн, контроль OAuth, алерты).
Итог
Cloud/SaaS DFIR почти всегда упирается в ретеншн, IAM и аудит API.
Самые опасные механизмы закрепления в облаке часто лежат не в “вредоносных файлах”, а в OAuth-приложениях, ключах, временных ролях и изменениях политик.
Доказуемость строится так же, как на endpoint: контекст, минимальное вмешательство, экспорт в исходном виде, хеши, chain of custody.
Практическая цель — построить единый таймлайн, связав identity-события, control plane, data plane и действия пользователя/endpoint.