Создание настраиваемых правил аналитики для обнаружения угроз

Примечание

Azure Sentinel теперь называется Microsoft Sentinel, и мы будем обновлять эти страницы в ближайшие недели. Узнайте подробнее о последних усовершенствованиях в системе безопасности Майкрософт.

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

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

Совет

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

  • создание правил аналитики;
  • определение правил обработки событий и оповещений;
  • определение правил создания оповещений и инцидентов;
  • выбор автоматизированных ответов на угрозы для ваших правил;

создание настраиваемого правила аналитики с запросом по расписанию.

  1. В меню навигации Microsoft Sentinel выберите Аналитика.

  2. На панели действий в верхней части выберите действие +Создать и пункт Правило запроса по расписанию. Откроется Мастер правил аналитики.

    Create scheduled query

Мастер правил аналитики — вкладка "Общие"

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

  • В поле Тактика и методы можно выбрать категории атак, по которым будет классифицироваться это правило. Они основаны на тактиках и методах, используемых платформой MITRE ATT&CK.

    Инциденты, созданные на основе оповещений, которые обнаружены с помощью правил, сопоставленных с тактикой и методами MITRE ATT&CK, автоматически наследуют сопоставление правил.

  • Задайте для оповещения соответствующее значение параметра Серьезность.

  • При создании правила его Состояние по умолчанию получает значение Включено, то есть правило начинает работу немедленно после его создания. Если вы не хотите сразу выполнять его, выберите значение Отключено. Такое правило просто появится на вкладке Активные правила, и вы сможете при необходимости включить его из этого списка.

    Start creating a custom analytics rule

Определение логики запроса правила и настройка параметров

На вкладке Задать логику правила можно создать запрос прямо в поле Запрос правила. Либо заранее создайте запрос в Log Analytics и скопируйте его в это поле.

  • Запросы пишутся на языке запросов Kusto (KQL). Дополнительные сведения об основных понятиях и запросах языка запросов Kusto вы найдете в удобном кратком справочнике.

  • Пример на этом снимке экрана запрашивает таблицу SecurityEvent и отображает неудачные события входа в Windows.

    Configure query rule logic and settings

  • Вот еще один пример запроса, который оповещает вас о создании аномального количества ресурсов в действии Azure.

    AzureActivity
    | where OperationName == "Create or Update Virtual Machine" or OperationName =="Create Deployment"
    | where ActivityStatus == "Succeeded"
    | make-series dcount(ResourceId)  default=0 on EventSubmissionTimestamp in range(ago(7d), now(), 1d) by Caller
    

    Важно!

    Мы рекомендуем использовать в запросе средство синтаксического анализа модели расширенной информации о безопасности (ASIM), а не собственную таблицу. Так запрос будет точно поддерживать текущий или будущий подходящий источник данных, а не единственный источник данных.

    Примечание

    Рекомендации по запросам для правил:

    • Длина запроса должна составлять от 1 до 10 000 символов и не может содержать операции "search *" или "union *". Чтобы обойти ограничение длины запроса, можно использовать определяемые пользователем функции.

    • В окне запроса в Log Analytics не поддерживается использование функций Azure Data Explorer для создания запросов Azure Data Explorer.

    • Если в запросе используется функция bag_unpack, при этом столбцы проецируются в формат полей с помощью project field1, а указанный столбец не существует, запрос завершится ошибкой. Чтобы защититься от этой проблемы, необходимо проецировать столбец следующим образом:

      • project field1 = column_ifexists("field1","")

Обогащение оповещений

  • Используйте раздел конфигурации Сопоставление сущностей для сопоставления параметров из результатов запроса с сущностями, распознаваемыми в Microsoft Sentinel. Сущности дополняют выходные данные правил (оповещения и инциденты) важной информацией, которая станет важной основой для любых последующих процессов расследования и действий по исправлению. Они также выполняют роль критериев, по которым можно группировать оповещения в инциденты на вкладке Параметры инцидента.

    Подробнее о сущностях в Microsoft Sentinel.

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

  • Раздел конфигурации Настраиваемые сведения позволяет извлекать из запроса элементы данных о событиях и отображать их в оповещениях, создаваемых этим правилом. Так вы сможете немедленно получать сведения о событиях в оповещениях и инцидентах.

    Дополнительные сведения об отображении настраиваемых сведений в оповещениях см. в подробной инструкции.

  • Раздел конфигурации Сведения об оповещении позволяет настроить формат отображения оповещения с учетом его содержимого. Например, сведения об оповещении позволяют отображать имя учетной записи или IP-адрес злоумышленника прямо в заголовке оповещения, чтобы вы сразу видели эти данные в очереди инцидентов и могли быстрее получить больше сведений о текущем состоянии угроз.

    См. также подробные инструкции о настройке сведений об оповещениях.

Примечание

Ограничение по размеру для всего оповещения: 64 КБ.

  • Оповещения более 64 КБ будут усечены. По мере определения сущностей они добавляются в оповещение по одному, пока размер оповещения не достигнет 64 КБ. Оставшиеся сущности не добавляются.

  • Другие дополнения также влияют на размер оповещения.

  • Чтобы уменьшить его, используйте в запросе оператор project-away, для удаления ненужных полей. (Также рассмотрите возможность использовать оператор project, если нужно сохранить только несколько полей.)

Расписание запросов и порог оповещений

  • В разделе Планирование запросов задайте следующие параметры:

    Set query schedule and event grouping

    • Настройте параметр Выполнять запрос каждые, чтобы управлять частотой запуска запроса — от каждых 5 минут до каждых 14 дней.

    • Настройте параметр Данные поиска за последние, чтобы задать период времени, за который этот запрос будет извлекать данные. Например, можно запрашивать данные за последние 10 минут или за последние 6 часов. Максимально допустимое значение — 14 дней.

      Примечание

      Интервалы запросов и период поиска

      Эти два параметра не зависят друг от друга, с одной оговоркой. Вы можете выполнять запрос через короткие интервалы, охватывая более долгий период, чем эти интервалы (фактически запросы перекрываются), но не наоборот. Если интервал выполнения запросов будет превышать период покрытия, в общем покрытии запроса возникнут пробелы. >>Задержка приема>>Чтобы учесть задержку, которая может возникать с момент создания события в источнике до его приема в Microsoft Sentinel, а также обеспечить полное покрытие без дублирования данных, Microsoft Sentinel выполняет запланированные правила аналитики с пятиминутной задержкой относительно назначенного в расписании времени. >> Дополнительные сведения см. в статье Обработка задержки приема в запланированных правилах аналитики.

  • Раздел Порог оповещения позволяет определить уровни чувствительности для правила. Например, выберите для параметра Создавать оповещение, если число результатов запроса вариант превышает и число 1000, чтобы это правило создавало оповещение только в том случае, когда запрос возвращает более 1000 результатов при каждом запуске. Это обязательное поле. Если вы не хотите устанавливать порог, то есть предпочитаете создавать оповещение по каждому событию, введите в это поле значение "0".

Имитация результатов

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

Примерно так может выглядеть результат имитации результатов для запроса, приведенного на снимке экрана выше. Левая часть содержит представление по умолчанию, а информация в правой части отображается при наведении указателя мыши на любой момент времени на диаграмме.

Results simulation screenshots

Если вы видите, что запрос создает слишком много оповещений или создает их слишком часто, попробуйте изменить параметры в разделахПланирование запросов и Порог оповещений, затем повторно выберите Протестировать на основе текущих данных.

Группирование событий и подавление правил

  • В разделе Группирование событий выберите один из двух способов группирования событий в оповещения:

    • Группировать все события в одно оповещение (вариант по умолчанию). В этом режиме правило создает одно оповещение при каждом запуске, если запрос возвращает больше результатов, чем указанный Порог оповещения. Созданное оповещение содержит сводку по всем событиям, полученным в результатах запроса.

    • Выдавать оповещение для каждого события. В этом режиме правило создает уникальное оповещение для каждого события, возвращенного запросом. Это полезно в тех случаях, когда события нужно отображать по отдельности или группировать по некоторым параметрам, например по имени пользователя или имени узла. Такие параметры можно определить в запросе.

      Сейчас количество оповещений, которое может создать правило, ограничено до 150. Если в определенном правиле для параметра Группирование событий задано значение Выдавать оповещение для каждого события, а запрос правила возвращает более 150 событий, каждое из первых 149-ти событий создаст уникальное оповещение, а в 150-м будет представлена сводная информация по всем остальным событиям. Иными словами, 150-е оповещение будет таким, как если бы был выбран вариант Группировать все события в одно оповещение.

      Если вы выберете такой вариант, Microsoft Sentinel добавит в результаты запроса дополнительное поле OriginalQuery. Ниже представлено сравнение существующего поля Query и нового поля:

      Имя поля Содержит Выполнение запроса в этом поле
      Возвращаемый результат
      Запрос Сжатая сводка по событию, которое создало этот экземпляр оповещения Событие, которое создало этот экземпляр оповещения
      OriginalQuery Исходный запрос, созданный правилом аналитики Самое свежее событие в том диапазоне времени, по которому выполнялся запрос, которое подходит под определенные в запросе параметры

      Как вы видите, поведение поля OriginalQuery совпадает с обычным поведением поля Query. Добавление этого поля позволяет решить проблему, описанную в первом пункте раздела Устранение неполадок далее в этой статье.

    Примечание

    В чем разница между событиями и оповещениями?

    • Событие представляет собой описание одного конкретного действия. Например, событием может считаться одна запись в файле журнала. В этом контексте событием называется один результат, возвращенный запросом в правиле аналитики.

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

    • Кстати, давайте разберемся еще и с инцидентами. Внутренняя логика Microsoft Sentinel создает инциденты на основе оповещений или групп оповещений. Очередь инцидентов представляет собой основную зону внимания для аналитиков центра информационной безопасности, где выполняются рассмотрение, исследование и исправление.

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

  • В разделе Подавление можно присвоить параметру Остановить выполнение запроса после создания оповещения значение Включено, если вы хотите при получении оповещения приостановить обработку этого правила на некоторый период времени, превышающий интервал запросов. После включения этого параметра обязательно задайте в параметре Остановить выполнение запроса на период времени, на который запрос будет приостановлен (вплоть до 24 часов).

Настройка параметров создания инцидентов

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

Пример:

Define the incident creation and alert grouping settings

Параметры инцидента

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

  • Если вы не хотите, чтобы это правило создавало инциденты (например, если правило лишь собирает сведения для анализа), установите для этого параметра значение Отключено.

  • Если вы предпочитаете создавать один инцидент для целой группы оповещений, а не отдельный инцидент для каждого из них, изучите следующий раздел.

Группирование оповещений

Если вы хотите создавать один инцидент для группы схожих или повторяющихся оповещений (до 150 оповещений, см. также примечание), в разделе Группирование оповещений задайте для параметра Группировать связанные оповещения, активируемые этим правилом анализа, в инциденты значение Включено и настройте следующие параметры.

  • Ограничить группу оповещениями, созданными за выбранный интервал времени: определите интервал времени, за который будут группироваться схожие или повторяющиеся оповещения. Все подходящие оповещения за указанный промежуток времени будут объединяться в один или несколько инцидентов (с учетом указанных ниже параметров группирования). Оповещения за пределами этого промежутка времени будут приводить к созданию отдельных инцидентов или наборов инцидентов.

  • Группировать оповещения, активируемые этим правилом анализа, в один инцидент по: выберите принцип группирования оповещений:

    Параметр Описание
    Группирование предупреждений в один инцидент, если все сущности совпадают Оповещения будут объединяться, если они имеют одинаковые значения по каждой из сопоставленных сущностей (как определено на описанной выше вкладке Задание логики правила). Это рекомендуемый параметр.
    Группировать все предупреждения, активируемые этим правилом, в один инцидент Будут объединяться все оповещения, созданные этим правилом, даже если у них нет совпадающих значений.
    Группирование оповещений в один инцидент, если выбранные сущности и сведения совпадают Будут объединяться оповещения, у которых совпадают значения всех сопоставленных сущностей, сведений об оповещении и настраиваемых параметров, выбранных в соответствующих раскрывающихся списках.

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

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

    Примечание

    В одном инциденте можно объединить до 150 оповещений. Если правило создаст более 150 оповещений, которые по настроенным параметрам должны группироваться в один инцидент, будет создан еще один инцидент с аналогичными сведениями, и в него будут объединены дополнительные оповещения.

Установка автоматических ответов и создание правила

  1. На вкладке Автоматические ответы можно настроить автоматизацию на основе одного или нескольких оповещений, создаваемых правилом аналитики, или на основе инцидента, созданного оповещениями.

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

    • Для автоматизации на основе инцидентов в сетке, отображаемой в разделе Автоматизация инцидентов, представлены правила автоматизации, которые уже применяются к этому правилу аналитики (в силу данного правила соответствуя условиям, определенным в этих правилах). Вы можете изменить любое из них, щелкнув многоточие в конце каждой строки. Кроме того, можно создать новое правило автоматизации.

      В этих правилах автоматизации вы можете вызывать сборники схем (используя триггер инцидента) или автоматизировать рассмотрение, назначение и закрытие.

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

    • Дополнительные сведения о том, когда следует использовать триггер оповещения или триггер инцидента, см. в статье об использовании триггеров и действий в сборниках схем Microsoft Sentinel.

    Define the automated response settings

  2. Выберите Проверить и создать, чтобы проверить все параметры нового правила генерации оповещений. Когда появится сообщение "Проверка пройдена", щелкните Создать, чтобы инициализировать это правило генерации оповещений.

    Review all settings and create the rule

Просмотр правила и выходных данных

  • Новое настраиваемое правило (с типом "Запланировано") можно найти в таблице на вкладке Активные правила на главной странице средства Аналитика. В этом списке вы можете включить, отключить или удалить любое правило.

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

  • По полученным результатам вы можете изменить правило, чтобы исключить ложноположительные результаты. Дополнительные сведения см. в статье Обработка ложноположительных результатов в Microsoft Sentinel.

Примечание

Оповещения, созданные в Microsoft Sentinel, можно получать в Microsoft Graph Security. Дополнительные сведения см. в документации по оповещениям Microsoft Graph Security.

Экспорт правила в шаблон ARM

Если вы хотите упаковать правило для последующего управления и развертывания в формате кода, его можно легко экспортировать в шаблон ARM (Azure Resource Manager). Кроме того, можно импортировать правила из файлов шаблонов, чтобы просматривать и изменять их в пользовательском интерфейсе.

Устранение неполадок

Проблема. В результатах запроса не отображаются события

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

  • Результаты автоматически сохраняются в оповещениях. Однако если результаты слишком большие, они не будут сохранены. В этом случае при повторном просмотре результатов запроса данные будут отсутствовать.
  • Если есть задержка приема или запрос недетерминированный из-за агрегирования, результат оповещения может отличаться от результата, показанного при выполнении запроса вручную.

Примечание

Эта проблема теперь устранена добавлением нового поля OriginalQuery в результаты запроса, для которого выбран этот вариант группирования событий. См. также описание поля выше.

Проблема. Не удается выполнить запланированное правило или к его имени добавлена подстрока AUTO DISABLED (автоматически отключено)

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

Временный сбой

Временным считается сбой, возникший из-за временной ситуации, которая вскоре разрешится. После восстановления выполнение правила будет успешно завершено. Ниже приведены некоторые примеры сбоев, которые Microsoft Sentinel может классифицировать как временные.

  • Запрос правила выполняется слишком долго и приводит к превышению времени ожидания.
  • Проблемы с подключением Log Analytics к источникам данных или Microsoft Sentinel к Log Analytics.
  • Также все новые и неизвестные сбои считаются временными.

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

Постоянный сбой. Правило автоматически отключено

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

  • Удалена целевая рабочая область (в которой выполняется запрос правила).
  • Удалена целевая таблица (в которой выполняется запрос правила).
  • Из целевой рабочей области удалена служба Microsoft Sentinel.
  • Функция, используемая запросом правила, недействительна, то есть был изменена или удалена.
  • Изменены требуемые разрешения для одного из источников данных в запросе правила.
  • Один из источников данных в запросе правила был удален или отключен.

Если при определенном числе последовательных запусков одного правила происходят постоянные сбои одного и того же типа, Microsoft Sentinel прекращает попытки выполнить правило и применяет следующие действия:

  • Отключает проблемное правило.
  • Добавляет слова AUTO DISABLED (автоматически отключено) в начало имени этого правила.
  • Добавляет причину сбоя (и отключения) в описание этого правила.

Наличие автоматически отключенных правил можно очень легко определить, отсортировав список правил по именам. Автоматически отключенные правила окажутся в самом верху списка или где-то рядом с ним.

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

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

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

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

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

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

Кроме того, изучите пример настраиваемых правил аналитики для мониторинга Zoom с применением пользовательского соединителя.