Обработка ложноположительных результатов в Microsoft Sentinel

Правила аналитики Microsoft Sentinel уведомляют о возникновении подозрительных событий в сети. Идеальных правил не существует, поэтому никто не застрахован от получения ложноположительных результатов, требующих обработки. В этой статье описывается, как обрабатывать ложноположительные результаты с помощью автоматизации или путем изменения правил аналитики по расписанию.

Причины возникновения ложноположительных результатов и варианты их предотвращения

Даже в правильно построенном правиле аналитики ложные срабатывания часто обусловлены специфическими сущностями, такими как пользователи или IP-адреса, которые должны быть исключены из правила.

Распространенные сценарии включают в себя:

  • В обычных действиях определенных пользователей, обычно субъектов-служб, просматривается тенденция, которая кажется подозрительной.
  • Намеренные действия по проверке безопасности, исходящие с известных IP-адресов, определяются как вредоносные.
  • Правило, исключающее частные IP-адреса, также исключает некоторые внутренние IP-адреса, которые не являются частными.

В этой статье описываются два метода предотвращения ложных срабатываний.

  • Правила автоматизации создают исключения без изменения правил аналитики.
  • Изменения правил аналитики по расписанию допускают более подробные и постоянные исключения.

В следующей таблице описаны характеристики каждого метода.

Способ Characteristic
Правила автоматизации
  • Могут применяться к нескольким правилам аналитики.
  • Фиксируются в журнале аудита. Исключения немедленно и автоматически закрывают созданные инциденты, записывая причину закрытия и комментариев.
  • Часто создаются аналитиками.
  • Позволяют применять исключения в течение ограниченного времени. Например, работа по обслуживанию может приводить к ложноположительным результатам, которые вне периода обслуживания будут считаться реальными инцидентами.
Изменения правил аналитики
  • Разрешают расширенные логические выражения и исключения на основе подсети.
  • Позволяют использовать списки отслеживания для централизации управления исключениями.
  • Обычно требуют реализации инженерами центра информационной безопасности (SOC).
  • Являются наиболее гибким и полным ложноположительным решением, но при этом имеют более высокий уровень сложности.

Добавление исключений с помощью правил автоматизации

Самый простой способ добавить исключение — добавить правило автоматизации при возникновении ложноположительного инцидента.

Чтобы добавить правило автоматизации для обработки ложноположительного результата, выполните приведенные ниже действия.

  1. В Microsoft Sentinel в разделе Инциденты выберите инцидент, для которого нужно создать исключение.

  2. Щелкните Создать правило автоматизации.

  3. На боковой панели Создание правила автоматизации при необходимости измените имя нового правила так, чтобы оно определяло исключение, а не просто имя правила генерации оповещений.

  4. В разделе Условия при необходимости добавьте дополнительные имена правил аналитики, которые будут применены к исключению. Щелкните раскрывающийся список, содержащий имя правила аналитики, и выберите в списке дополнительные правила аналитики.

  5. На боковой панели отображаются определенные сущности в текущем инциденте, которые могли вызвать ложное срабатывание. Оставьте автоматические предложения или измените их для точной настройки исключения. Например, можно указать в условии IP-адрес, чтобы применить его ко всей подсети.

    Screenshot showing how to create an automation rule for an incident in Microsoft Sentinel.

  6. Если вы удовлетворены условиями, можно продолжить определять действия, выполняемые правилом.

    Screenshot showing how to finish creating and applying an automation rule in Microsoft Sentinel.

    • Правило уже настроено для закрытия инцидента, удовлетворяющего условиям исключения.
    • Вы можете сохранить указанную причину закрытия как есть, или изменить ее, если другая причина является более приемлемой.
    • К автоматически закрываемому инциденту можно добавить комментарий, объясняющий исключение. Например, можно указать, что инцидент произошел в результате известного административного действия.
    • По умолчанию срок действия правила истекает автоматически через 24 часа. Вам может подойти именно этот срок, в течение которого уменьшается вероятность возникновения ложноотрицательных ошибок. Если требуется более длительное исключение, укажите для параметра Срок действия правила более позднее время.
  7. При необходимости можно добавить другие действия. Например, можно добавить тег в инцидент или запустить сборник схем для отправки сообщения электронной почты или уведомления или синхронизации с внешней системой.

  8. Нажмите кнопку Применить, чтобы активировать исключение.

Совет

Можно также создать правило автоматизации с нуля, не обращаясь к инциденту. В Microsoft Sentinel в меню навигации слева выберите пункт Автоматизация, а затем щелкните Создать>Добавить новое правило. Подробнее о правилах автоматизации.

Добавление исключений путем изменения правил аналитики

Другим вариантом реализации исключений является изменение запроса правила аналитики. Исключения можно включить непосредственно в правило или, если возможно, использовать ссылку на список отслеживания. Затем можно управлять списком исключений в списке отслеживания.

Изменение запроса

Чтобы изменить существующие правила аналитики, в Microsoft Sentinel в меню навигации слева выберите пункт Автоматизация. Выберите правило, которое необходимо изменить, а затем щелкните Изменить в нижнем правом углу, чтобы открыть мастер правил аналитики.

Подробные инструкции по использованию мастера правил аналитики для создания и изменения правил аналитики см. в статье о создании настраиваемых правил аналитики для обнаружения угроз.

Чтобы реализовать исключение в стандартной начальной части правила, можно добавить условие, например where IPAddress !in ('<ip addresses>'), в начале запроса правила. Эта строка исключает из правила определенные IP-адреса.

let timeFrame = 1d;
SigninLogs
| where TimeGenerated >= ago(timeFrame)
| where IPAddress !in ('10.0.0.8', '192.168.12.1')
...

Этот тип исключения не ограничен IP-адресами. Можно исключить конкретных пользователей с помощью поля UserPrincipalName или исключить определенные приложения с помощью AppDisplayName.

Можно также исключить несколько атрибутов. Например, чтобы исключить оповещения, поступающие с IP-адреса 10.0.0.8 или от пользователя user@microsoft.com, используйте следующую команду.

| where IPAddress !in ('10.0.0.8')
| where UserPrincipalName != 'user@microsoft.com'

Чтобы реализовать более детализированное исключение, когда это применимо, и снизить вероятность получения ложноотрицательных результатов, можно объединить атрибуты. Следующее исключение применяется только в том случае, если в одном оповещении отображаются оба значения.

| where IPAddress != '10.0.0.8' and UserPrincipalName != 'user@microsoft.com'

Исключение подсетей

Для исключения диапазонов IP-адресов, используемых организацией, требуется исключить подсеть. Ниже представлен пример исключения подсетей.

Оператор ipv4_lookup является оператором обогащения, а не оператором фильтрации. Строка where isempty(network) фактически выполняет фильтрацию, проверяя те события, которые не показывают совпадения.

let subnets = datatable(network:string) [ "111.68.128.0/17", "5.8.0.0/19", ...];
let timeFrame = 1d;
SigninLogs
| where TimeGenerated >= ago(timeFrame)
| evaluate ipv4_lookup(subnets, IPAddress, network, return_unmatched = true)
| where isempty(network)
...

Использование списков отслеживания для управления исключениями

С помощью списка отслеживания можно управлять списком исключений вне самого правила. Это решение имеет следующие преимущества.

  • Аналитик может добавлять исключения без изменения правила, что оптимально соответствует рекомендациям центра информационной безопасности.
  • Один и тот же список отслеживания может применяться к нескольким правилам, что позволяет вести централизованное управление исключениями.

Использование списка отслеживания аналогично использованию прямого исключения. Используйте _GetWatchlist('<watchlist name>') для вызова списка отслеживания.

let timeFrame = 1d;
let logonDiff = 10m;
let allowlist = (_GetWatchlist('ipallowlist') | project IPAddress);
SigninLogs
| where TimeGenerated >= ago(timeFrame)
| where IPAddress !in (allowlist)
...

С помощью списка отслеживания можно также фильтровать подсети. Например, в приведенном выше коде исключения подсетей можно заменить определение datatable подсетей на список отслеживания:

let subnets = _GetWatchlist('subnetallowlist');

Пример. Управление исключениями для решения Microsoft Sentinel для приложений SAP®

Решение Microsoft Sentinel для приложений SAP® предоставляет функции, которые можно использовать для исключения пользователей или систем из активации оповещений.

  • Исключите пользователей. Используйте функцию SAPUsersGetVIP , чтобы:

    • Вызов тегов для пользователей, которые необходимо исключить из триггеров оповещений. Пометьте пользователей в списке отслеживания SAP_User_Config, используя звездочки (*) как дикие карта для тега всех пользователей с указанным синтаксисом именования.
    • Список определенных ролей SAP и (или) профилей, которые необходимо исключить из триггеров оповещений.
  • Исключите системы. Используйте функции, поддерживающие параметр SelectedSystemRoles, чтобы определить, что только определенные типы систем активируют оповещения, включая только производственные системы, только системы UAT или оба.

Дополнительные сведения см. в разделе "Решение Microsoft Sentinel" для справочника по данным приложений SAP®.

Дальнейшие действия

Дополнительные сведения см. в разделе: