Кейсы безопасности и плейбуки (SOAR)
Security Events превращает то, что находят ваши правила обнаружения, аналитика угроз и подключённые продукты безопасности, в кейсы: по одному кейсу на всё, в чём стоит разобраться, и каждое обнаружение, касающееся того же пользователя, хоста или адреса, собирается в нём. Аналитики разбирают кейсы в очереди, а плейбуки реагируют на них — сами или по одному нажатию.
Как это работает
От обнаружения до закрытого кейса
Откройте Продукты → Security Events → Кейсы безопасности → Открытые кейсы, чтобы увидеть очередь. Назначены мне, Не назначено, Закрытые кейсы и Все кейсы — отдельные страницы рядом, и на каждой те кейсы, о которых говорит её название.
Перед началом
Кейсы и плейбуки подчиняются трём ролям Security. Project Owner и Project Admin могут всё.
| Роль | Что она может |
|---|---|
| Security Admin | Всё, включая удаление кейсов и настройку плейбуков |
| Security Member | Открывать, назначать, изменять и закрывать кейсы, писать заметки, запускать плейбуки, а также одобрять или отклонять их шаги |
| Security Viewer | Читать кейсы, обнаружения, заметки, плейбуки и их запуски |
Каждое из этих разрешений можно выдать и по отдельности — от создания кейса до одобрения шагов плейбука; см. Справочник разрешений.
Откуда берутся кейсы
| Источник | Открывает кейс, когда | Как отключить |
|---|---|---|
| Правила обнаружения | Срабатывает правило | Open a Case on Match на шаге При совпадении правила |
| Аналитика угроз | Событие упоминает известный индикатор | Open a Case on Match на шаге При совпадении фида |
| Подключённые продукты | Собственное оповещение продукта импортируется с уровнем не ниже порога подключения | Open Cases From со значением Никогда на шаге Polling подключения |
| Люди | Кто-то открывает кейс в разделе Кейсы безопасности или кнопкой Open Case на панели события | Никак |
По умолчанию все источники включены. Подключение открывает кейсы для Высокий и выше, если вы не выберете другой уровень; оповещения ниже этого уровня всё равно импортируются как события.
Как группируются обнаружения
Обнаружение относится к сущности: к значению, по которому группирует его правило, например к IP-адресу в правиле против перебора паролей или к индикатору, который называет совпадение с аналитикой угроз. Обнаружение без сущности стоит особняком.
- Если открытый кейс уже относится к этой сущности, обнаружение добавляется в него. Сущности кейса и его сопоставление с ATT&CK пополняются, а приоритет поднимается до приоритета обнаружения и никогда не понижается.
- Если такого открытого кейса нет, открывается новый кейс с названием обнаружения и с его приоритетом.
- Повторно сработавшее обнаружение увеличивает счётчик в своей строке, а не добавляет новую строку.
Приоритет кейса определяется серьёзностью обнаружения:
| Серьёзность | Приоритет |
|---|---|
| Critical или Fatal | Critical |
| High | High |
| Medium, Unknown или Other | Medium |
| Low | Low |
| Informational | Informational |
Работа с кейсом
Кейс проходит через четыре статуса. Какой-то из них он может пропустить — например, ложное срабатывание закрывают прямо из New, — и его можно открыть повторно.
| Статус | Означает |
|---|---|
| New | Его ещё никто не смотрел |
| Investigating | Кто-то выясняет, что произошло |
| Contained | Угроза больше не может навредить, но последствия ещё предстоит устранить |
| Closed | Готово, с вердиктом о том, что это было |
На странице кейса есть всё, что нужно для работы с ним:
- Вверху: Assign to Me, Run Playbook, Объявить инцидент и Close Case, шаги статуса и приоритет в меню рядом с ними.
- Status200 AI: что Status200 AI понял из кейса, приоритет и плейбук, которые он предлагает, и доказательства за ними. См. Status200 AI в безопасности.
- Detections: что сработало и открыло кейс или добавилось в него, как часто и последнее совпавшее событие.
- Сущности: пользователи, хосты и адреса, к которым относится кейс, с их активностью во всех ваших событиях безопасности за последние 7 дней. Каждая открывается в Коррелировать.
- MITRE ATT&CK: тактики и техники, с которыми сопоставлены его обнаружения, каждая со ссылкой на свою страницу на attack.mitre.org.
- Запуски плейбуков: что каждый плейбук сделал с кейсом, шаг за шагом, и шаги, ожидающие одобрения.
- Заметки и Хронология: что написала команда и всё, что происходило, с указанием, кто это сделал.
Чтобы работать с несколькими кейсами сразу, выберите их в очереди и используйте Assign to Me, Change Status или Change Priority.
Закрытие кейса
Close Case запрашивает вердикт и необязательную заключительную заметку:
| Вердикт | Означает |
|---|---|
| True Positive | Вредоносная или несанкционированная активность действительно была |
| Benign Positive | Активность была реальной, но ожидаемой, например тест на проникновение или задача администратора |
| False Positive | Обнаружение ошибочно: правило или данные неверно истолковали обычную активность |
| Undetermined | Информации не хватило, чтобы сделать вывод |
Вердикты подсчитываются на обзоре. Правило, кейсы которого раз за разом закрываются как False Positive, нуждается в настройке.
Кейс, открытый из оповещений Google SecOps, закрывает их и в Google SecOps, с вердиктом и заметкой о закрытии, когда у его подключения включено Закрывать оповещения, когда закрывается их кейс: см. Google SecOps.
Объявление инцидента
Объявить инцидент открывает для кейса инцидент Status200 с выбранной вами серьёзностью и связывает их в обе стороны: описание инцидента называет кейс, а заголовок кейса ссылается на инцидент. Дальше в дело вступают дежурства, страницы статуса и постмортем. Для этого нужна роль, которая может и работать с кейсами, и создавать инциденты.
Уведомления
Status200 сообщает людям о трёх событиях в кейсе. Ничего настраивать не нужно: проект, в котором только нажали Включить рекомендуемое, узнаёт о своих кейсах с приоритетом High и Critical по почте и через push.
| Уведомление | Кому сообщается | По умолчанию |
|---|---|---|
| Новый кейс безопасности | Всем, кто может видеть кейсы проекта, когда кейс открывается с выбранным ими приоритетом или выше либо повышается до него | Почта и push, для кейсов с приоритетом High и Critical |
| Кейс безопасности, назначенный мне | Человеку, которому назначен кейс, и участникам команды, которой он назначен | Почта и push |
| Шаг плейбука ждёт моего одобрения | Людям в кейсе, которые могут одобрить шаг: человеку, которому он назначен, и участникам его команды. Если никто из них не может одобрить — всем в проекте, кто может | Почта и push |
- О кейсе сообщают только тем, кто может его видеть: Project Owner, Project Admin и ролям Security Admin, Security Member и Security Viewer. Тем, чья роль ограничена некоторыми метками, сообщают только о кейсах с этими метками.
- Никому не сообщают о его собственных действиях: тот, кто открывает кейс вручную, назначает его или запускает плейбук, уведомления об этом не получает.
- Каждый узнаёт о кейсе один раз. Кейс, который открылся с приоритетом Medium, а потом поднялся до Critical, при повышении доходит до тех, кто выбрал High или Critical, и не доходит повторно до тех, кто выбрал Medium: они узнали о нём при открытии.
- Тестовая атака, отправленная кнопкой Отправить тестовую атаку, открывает кейс, о котором никому не сообщается.
- Кейс с приоритетом Critical и шаг, ожидающий одобрения, отправляются сразу и никогда не задерживаются в сводке писем.
- Хронология кейса показывает, кому и когда сообщили.
Выбор уведомлений
Каждый выбирает сам, в Настройки пользователя → Настройки уведомлений → Безопасность: каналы для каждого уведомления (почта, SMS, звонок, push, Telegram, Slack, Microsoft Teams или вебхук), а для события Новый кейс безопасности — приоритет, начиная с которого ему приходят уведомления:
| Выбор | Уведомляет о кейсах с приоритетом |
|---|---|
| Только Критический | Critical |
| Высокий и Критический | High и Critical (по умолчанию) |
| Средний и выше | Critical, High и Medium |
| Низкий и выше | Любой, кроме Informational |
| Все кейсы | Любой |
Сообщения WhatsApp для кейсов безопасности не отправляются. Push-уведомление открывает приложение Status200, а ссылка в нём открывает кейс в браузере.
Публикация в каналах Slack и Microsoft Teams
Чтобы публиковать сообщения в канале, добавьте правило в Продукты → Security Events → Рабочее пространство → Slack (или Microsoft Teams). Если ни один из них не подключён, единственный пункт этого раздела — Подключить Slack или Teams. Правило указывает каналы для публикации (а в Microsoft Teams — и чаты) и, если нужно, кейсы, к которым оно относится:
| Условие | Совпадает по |
|---|---|
| Приоритет кейса безопасности | Critical, High, Medium, Low или Informational |
| Заголовок кейса безопасности, Описание кейса безопасности | Тексту, который заголовок или описание кейса содержит, которым начинается или заканчивается |
| Статус кейса безопасности | New, Investigating, Contained или Closed |
| Источник кейса безопасности | Detection Rule, Threat Intel, Connected Product или Manual |
| Метки кейса безопасности | Меткам кейса |
Каждое из трёх уведомлений публикуется в каналы всех правил, которым кейс соответствует в этот момент. Правило, в котором Приоритет кейса безопасности содержит любой из Критический и High, публикует кейсы High и Critical при открытии, а кейс Medium — когда он повышается до High. У кейса безопасности никогда не бывает собственного канала.
Плейбуки
Плейбук — это список шагов, которые выполняются для кейса. Создайте его в Продукты → Security Events → Playbooks из шаблона или с нуля и добавьте шаги на его странице.
Когда запускается плейбук
| Запуск | Когда |
|---|---|
| Case Opened | Один раз, при открытии кейса |
| Detection Added | Каждый раз, когда в открытый кейс добавляется новое обнаружение |
| Оценён как вероятно вредоносный | Один раз, когда оценка Status200 AI читает кейс как «Вероятно, вредоносно» |
| Manual | Только когда кто-то запускает его из кейса |
Любой включённый плейбук можно также запустить вручную кнопкой Run Playbook в кейсе. Плейбук, который запускается сам, можно ограничить:
- For Cases At Least: только кейсы с этим или более высоким приоритетом.
- Only For Detections From: только если обнаружение, стоящее за кейсом, пришло из этого источника.
- Only For These Detection Rules: только если оно пришло от одного из этих правил.
Отключённый плейбук не запускается ни сам, ни вручную.
Шаги
| Категория | Шаг | Что делает |
|---|---|---|
| Кейс | Assign the case | Назначает кейс человеку, команде или обоим |
| Кейс | Set the priority | Повышает или понижает приоритет кейса |
| Кейс | Set the status | Переводит кейс в статус Investigating, Contained или Closed с выбранным вами вердиктом |
| Кейс | Add a note | Пишет заметку в кейсе, например чек-лист для аналитика |
| Кейс | Add labels | Помечает кейс метками |
| Расследование | Check entities against threat intel | Ищет каждую сущность в вашей аналитике угроз и при совпадении может повысить приоритет |
| Расследование | Look up entity activity | Подсчитывает события безопасности каждой сущности за недавний период и отмечает результат в кейсе |
| Уведомление | Email people | Отправляет пользователям и командам письмо со сводкой по кейсу и ссылкой на него |
| Уведомление | Post to Slack | Публикует сводку по кейсу в канал Slack |
| Уведомление | Post to Microsoft Teams | Публикует сводку по кейсу в канал Microsoft Teams |
| Эскалация | Page on-call | Запускает политику дежурств |
| Эскалация | Declare an incident | Открывает инцидент Status200, связанный с кейсом |
| Сдерживание | Suspend the user in Okta | Блокирует в Okta пользователя, к которому относится кейс |
| Сдерживание | End the user's Okta sessions | Завершает сеансы Okta пользователя, к которому относится кейс, и отзывает его токены |
| Сдерживание | Contain the host in CrowdStrike | Изолирует от сети хост, к которому относится кейс, с помощью CrowdStrike Falcon |
| Сдерживание | Isolate the device in Microsoft Defender | Изолирует хост, к которому относится кейс, с помощью Microsoft Defender for Endpoint |
| Сдерживание | Unsuspend the user in Okta | Разблокирует в Okta пользователя, к которому относится кейс |
| Сдерживание | Lift containment in CrowdStrike | Снимает сетевую изоляцию CrowdStrike Falcon с хоста, к которому относится кейс |
| Сдерживание | Release the device in Microsoft Defender | Выводит хост, к которому относится кейс, из изоляции в Microsoft Defender for Endpoint |
| Автоматизация | Send a webhook | Отправляет кейс в виде JSON на URL |
| Автоматизация | Run a workflow | Запускает рабочий процесс Status200 с кейсом в качестве входных данных |
В плейбуке не больше 25 шагов. Они выполняются по порядку, каждый — после завершения предыдущего. У каждого шага есть также такие настройки:
- Needs Approval: останавливает запуск перед шагом, пока кто-нибудь не одобрит его в кейсе. Для четырёх шагов, которые лишают кого-то доступа, она включена всегда, если только Security Admin её не выключит.
- Only If Threat Intel Matched: пропускает шаг, если более ранний шаг Check entities against threat intel в этом запуске не нашёл известного индикатора.
- Carry On If It Fails: выполняет следующий шаг, даже если этот завершился ошибкой. Когда настройка выключена, ошибка шага останавливает запуск.
Сдерживание
Шаги сдерживания действуют через подключение событий безопасности к продукту, и ему нужен не только доступ на чтение:
| Шаг | Подключение | Что нужно |
|---|---|---|
| Suspend the user in Okta, End the user's Okta sessions, Unsuspend the user in Okta | Okta System Log | API-токен с правом управлять пользователями |
| Contain the host in CrowdStrike, Lift containment in CrowdStrike | CrowdStrike Falcon | API-клиент с правом записи в области Hosts |
| Isolate the device in Microsoft Defender, Release the device in Microsoft Defender | Microsoft Defender XDR | Приложение с разрешением Machine.Isolate |
Шаг сдерживания действует только на пользователей или хосты, к которым относится кейс, и никогда — на всех, кто в нём упомянут:
- Значение, по которому сгруппировано обнаружение кейса, например учётная запись, по которой группирует правило невозможных перемещений, или хост, названный в оповещении подключённого продукта.
- Пользователь или хост кейса, который известен вашей аналитике угроз как индикатор.
Кейс, сгруппированный по адресу, например перебор паролей к вашему VPN, не относится ни к тому, ни к другому: его шаги сдерживания пропускаются, а учётная запись, к которой подбирали пароль, и шлюз, который атаковали, остаются нетронутыми. Шаг действует не более чем на 10 пользователей или хостов. Он находит каждого из них в продукте по имени и сообщает в запуске, что сделал с каждым: выполнено, уже выполнено, не найден, отказано или защищён.
Защищённые сущности
Protected Entities в разделе Playbooks меню перечисляет пользователей и хосты, к которым ни один плейбук не применяет сдерживание, например учётные записи для аварийного доступа, контроллеры домена и VPN-шлюзы. Значение совпадает независимо от регистра, а * обозначает любую последовательность символов: svc-* защищает все служебные учётные записи. О защищённом пользователе или хосте шаг сообщает как о защищённом и не трогает его. Список ведут пользователи с ролью Security Admin.
Одобрение
Четыре шага, которые лишают кого-то доступа, ждут одобрения. Выключить для одного из них Needs Approval может только Security Admin, и Status200 записывает, кто это сделал. При одобрении пользователи или хосты, на которые подействует шаг, перечислены в Act On, и все они отмечены: снимите отметку с тех, кого шаг должен оставить в покое. Защищённые там не предлагаются. Тот, кто начал запуск, не может одобрить его шаги: это делает кто-то другой, но отклонить шаг он всё же может.
Отмена
Шаги отмены, как и шаги, которые они отменяют, действуют на пользователей или хосты, к которым относится кейс. После остановки запуска у пользователя или хоста, к которому применено сдерживание, на его шаге есть и собственная кнопка: Unsuspend, Lift Containment или Освободить. Завершённый сеанс Okta отменить нельзя. Каждая отмена сохраняется в хронологии кейса и в журнале аудита проекта.
Сообщения
Заметка, письмо, публикация в Slack и публикация в Teams могут использовать значения кейса:
| Заполнитель | Превращается в |
|---|---|
{{case.number}} | Номер кейса, например CASE-42 |
{{case.title}} | Заголовок кейса |
{{case.priority}} | Critical, High, Medium, Low или Informational |
{{case.status}} | New, Investigating, Contained или Closed |
{{case.assignee}} | Кому назначен кейс |
{{case.url}} | Ссылка на кейс в Status200 |
{{case.entities}} | Пользователи, хосты и адреса, к которым относится кейс |
{{case.detections}} | Сколько обнаружений в кейсе |
Письмо или публикация без собственного сообщения отправляют сводку по кейсу.
Запуски и одобрения
Каждый запуск отображается шаг за шагом в своём кейсе и в Продукты → Security Events → Playbooks → Запуски плейбуков:
| Статус запуска | Означает |
|---|---|
| Queued | Ожидает воркера |
| Running | Выполняет свои шаги |
| Waiting for Approval | Остановлен перед шагом, которому нужно одобрение |
| Succeeded | Каждый шаг выполнен или пропущен |
| Failed | Шаг завершился ошибкой, и запуск остановился |
| Cancelled | Кто-то отменил его или отклонил шаг |
Шаг, ожидающий одобрения, показывает в запуске кнопки Approve и Reject с необязательным комментарием. Одобрение продолжает запуск с этого шага; отклонение завершает его. Решение, его автор и комментарий сохраняются в шаге, в хронологии кейса и в журнале аудита проекта. Ожидает одобрения в разделе Playbooks меню показывает запуски, ждущие решения, и их число; Запуски плейбуков показывает все запуски.
Запуск, от воркера которого перестали приходить сигналы, например после перезапуска, подхватывается снова: запуск в очереди ставится в очередь повторно через 2 минуты, а запуск, молчащий 30 минут, считается неудавшимся.
Обзор
Продукт открывается на странице Продукты → Security Events → Обзор:
- Открытые кейсы, назначенные вам, открытые кейсы, которые никто не взял, и шаги плейбуков, ожидающие одобрения; каждое число открывает страницу, где они перечислены.
- Среднее время до принятия, Среднее время до сдерживания и Среднее время до закрытия по кейсам, открытым за последние 30 дней: от открытия кейса до того, как кто-то возьмёт его в работу (назначит человека или выведет из New), до Contained и до Closed. Кейс, который ещё ждёт, в среднее значение не входит.
- Кейсы, открытые за каждый из последних 30 дней, по приоритету, и обнаружения, созданные за каждый из последних 14 дней, по источнику.
- Открытые кейсы по приоритету и по статусу, вердикты за последние 30 дней, тактики ATT&CK, стоящие за кейсами, чаще всего срабатывавшие обнаружения и сущности, которые упоминаются в наибольшем числе находок.
Над ними полоса показывает, как настроена безопасность: её источники, обнаружения, кейсы и плейбуки, каждый со своими цифрами. Проект, который её ещё не настроил, видит там Включить рекомендуемое и Отправить тестовую атаку; см. Начало работы с безопасностью. Когда ничего не требует внимания, страница показывает Всё спокойно, а графики появляются, как только есть что показать.
Поиск угроз
- Сущности ранжирует пользователей, хосты, адреса и хеши, которые чаще всего упоминаются в ваших находках, за последний день, неделю или месяц, и ищет любое значение в событиях за 30 дней.
- Rule Library содержит готовые правила обнаружения для угроз в области идентификации, конечных точек, облака, сети, веба и Kubernetes. Каждое из них — правило Sigma, написанное для полей, к которым нормализуется каждый подключённый источник. Добавить правило создаёт его как ваше собственное правило обнаружения — включённым и открывающим кейсы, а не оповещения; изменяйте его в Detection Rules, как любое другое. Правила с отметкой Рекомендуемые находят угрозы в данных, которые у Status200 уже есть, а одна кнопка добавляет те, которых у вас ещё нет.
- ATT&CK Coverage рисует матрицу MITRE ATT&CK, подсвечивая техники, которые покрывают ваши включённые правила, и обводит те, которые покрыло бы правило из библиотеки.
Автоматизация
- Рабочие процессы: кейс или заметка могут запускать рабочий процесс при создании, изменении или удалении. Шаг Run a workflow запускает рабочий процесс, триггером которого служит вебхук.
- API: у кейсов, заметок, обнаружений, плейбуков, запусков и защищённых сущностей тот же REST API, что и у остального Status200, по путям
/security-case,/security-case-note,/security-detection,/security-playbook,/security-playbook-runи/security-protected-entity. См. Справочник API. - ИИ-агенты: у MCP-сервера есть инструменты для кейсов, заметок, обнаружений и плейбуков. См. Сервер MCP.
Устранение неполадок
Правило срабатывает, но кейс не открывается
Проверьте Open a Case on Match на шаге При совпадении правила. Обнаружение о сущности, у которой уже есть открытый кейс, добавляется в этот кейс, а не открывает новый: ищите его в Detections открытого кейса.
Никому не сообщили о кейсе
Посмотрите раздел Хронология кейса: там видно, кого уведомили. Уведомление Новый кейс безопасности уходит тем, чьего выбранного приоритета достигает кейс, поэтому кейс Medium не уведомляет никого, кто оставил значение по умолчанию, Высокий и Критический. Проверьте, что люди, которые должны узнать о кейсе, могут видеть кейсы безопасности (роль Security, Project Owner или Project Admin) и что уведомление у них включено в Настройки пользователя → Настройки уведомлений → Безопасность.
Плейбук не запустился
Проверьте, что он включён, что его настройка Триггер подходит (Case Opened запускается один раз, при открытии кейса) и что кейс соответствует его настройкам For Cases At Least, Only For Detections From и Only For These Detection Rules. У кейса, открытого вручную, нет обнаружения, поэтому плейбук, ограниченный источником или правилами, для него не запускается.
Шаг сдерживания завершился ошибкой
Откройте запуск в кейсе: шаг сообщает для каждого пользователя или хоста, отказал ли продукт, не нашёл ли его или оказался недоступен. Проверьте, что учётные данные подключения позволяют внести это изменение, и используйте Проверить подключение в его строке.
Шаг сдерживания пропущен
Кейс не относится ни к одному пользователю или хосту, а, например, только к адресу, или все пользователи и хосты, к которым он относится, защищены. Откройте запуск в кейсе: шаг сообщает, в чём причина.