Поделиться через


Перенос правил обнаружения QRadar в Microsoft Sentinel

Эта статья содержит сведения об определении, сравнении и переносе правил обнаружения QRadar во встроенные правила Microsoft Sentinel.

Определение и перенос правил

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

  • Обязательно выберите варианты использования, которые позволят согласовать перенос правил, учитывая приоритетность и эффективность для бизнеса.
  • Убедитесь, что вы понимаете типы правил Microsoft Sentinel.
  • Убедитесь, что вы понимаете терминологию правил.
  • Проверьте все правила, которые не активировали оповещения за последние 6–12 месяцев, и определите, по-прежнему ли они актуальны.
  • Устраните низкоуровневые угрозы или оповещения, которые обычно игнорируются.
  • Используйте существующие функции и проверьте, можно ли применить встроенные правила аналитики Microsoft Sentinel в рамках текущих вариантов использования. Так как в Microsoft Sentinel используется аналитика на основе машинного обучения для создания высокоточных инцидентов с действиями, высока вероятность того, что некоторые имеющиеся средства обнаружения могут стать избыточными.
  • Убедитесь, что источники данных подключены, и проверьте методы подключения к данным. Повторно рассмотрите сбор данных, чтобы обеспечить глубину и обширность данных в различных вариантах использования, которые планируется обнаруживать.
  • Ознакомьтесь с такими ресурсами сообщества, как SOC Prime Threat Detection Marketplace, чтобы проверить, доступны ли ваши правила.
  • Подумайте, можно ли использовать для работы с вашими правилами такой преобразователь запросов в сети, как Uncoder.io.
  • Если правила недоступны или не могут быть преобразованы, их необходимо создать вручную с помощью запроса KQL. Проверьте сопоставление правил, чтобы создать новые запросы.

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

Чтобы перенести правила аналитики в Microsoft Sentinel, выполните следующие действия:

  1. Убедитесь в наличии системы тестирования для каждого правила, которое необходимо перенести.

    1. Подготовьте процесс проверки перенесенных правил, включая скрипты и сценарии полного тестирования.

    2. Убедитесь, что у вашей команды есть полезные ресурсы для тестирования перенесенных правил.

    3. Убедитесь, что все необходимые источники данных подключены, и проверьте методы подключения к данным.

  2. Проверьте, доступны ли ваши средства обнаружения в качестве встроенных шаблонов в Microsoft Sentinel:

    • Если встроенных правил достаточно, используйте встроенные шаблоны правил, чтобы создать правила для собственной рабочей области.

      Чтобы создать и изменить соответствующие правила аналитики, в Microsoft Sentinel выберите Configuration (Конфигурация) > Analytics (Аналитика) > Rule templates (Шаблоны правил).

      Дополнительные сведения см. в разделе "Создание правил запланированной аналитики" из шаблонов.

    • При наличии средств обнаружения, не охватываемых встроенными правилами Microsoft Sentinel, попробуйте использовать преобразователь запросов в Интернете, например Uncoder.io, чтобы преобразовать свои запросы в KQL.

      Определите условие триггера и действие правила, а затем создайте и просмотрите запрос KQL.

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

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

      2. Определите все атрибуты, поля или сущности в данных, которые будут использоваться в правилах.

      3. Определите критерии и логику правила. На этом этапе вы можете использовать шаблоны правил в качестве примеров для создания запросов KQL.

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

      4. Определите условие триггера и действие правила, а затем создайте и просмотрите запрос KQL. При просмотре запроса учтите рекомендации по оптимизации KQL.

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

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

См. правила аналитики:

Сравнение терминологии правил

С помощью этой таблицы вы сможете прояснить для себя концепцию правила в Microsoft Sentinel по сравнению с QRadar.

QRadar Microsoft Sentinel
Тип правила • События
• Поток
• Распространенные
• Правонарушение
• Правила обнаружения аномалий
• Запланированный запрос
• Слияние
• Безопасность Microsoft
• Аналитика поведения для машинного обучения (ML)
Критерии Определение в условии теста Определение в KQL
Условие активации Определение в правиле Порог: количество результатов запроса
Действие • Создание правонарушения
• Отправка нового события
• Добавление в эталонный набор или данные
• И прочее
• Создание оповещения или инцидента
• Интеграция с Logic Apps

Сопоставление и сравнение примеров правил

Используйте эти примеры для сравнения и сопоставления правил из QRadar с Microsoft Sentinel в различных сценариях.

Правило Синтаксис Пример правила обнаружения (QRadar) Пример запроса KQL Ресурсы
Тесты общих свойств Синтаксис QRadar • Пример регулярного выражения
• Пример запроса фильтра AQL
• Пример equals/not equals
• Пример регулярного выражения
• Пример запроса фильтра AQL
• Пример equals/not equals
• Регулярное выражение: соответствует регулярному выражению
• Запрос фильтра AQL: строковые операторы
• equals/not equals: строковые операторы
Тесты даты и времени Синтаксис QRadar • Пример выбранного дня месяца
• Пример выбранного дня недели
• Пример after/before/at
• Пример выбранного дня месяца
• Пример выбранного дня недели
• Пример after/before/at
• Операторы даты и времени
• Выбранный день месяца: dayofmonth()
• Выбранный день недели: dayofweek()
• after/before/at: format_datetime()
Тесты свойств события Синтаксис QRadar • Пример протокола IP
• Пример строки полезных данных события
• Пример протокола IP
• Пример строки полезных данных события
• Протокол IP: строковые операторы
• Строка полезных данных события: has
Функции: счетчики Синтаксис QRadar Пример свойства события и времени Пример свойства события и времени summarize
Функции: отрицательные условия Синтаксис QRadar Пример отрицательных условий Пример отрицательных условий • join()
• Строковые операторы
• Числовые операторы
Функции: простые Синтаксис QRadar Пример простых условий Пример простых условий or
Тесты IP-адресов и портов Синтаксис QRadar • Пример порта источника
• Пример IP-адреса источника
• Пример порта источника
• Пример IP-адреса источника
Тесты источника журнала Синтаксис QRadar Пример источника журнала Пример источника журнала

Синтаксис тестов общих свойств

Ниже приведен синтаксис QRadar для правила тестов общих свойств.

Схема, иллюстрирующая синтаксис общего правила тестирования свойств.

Тесты общих свойств: пример регулярного выражения (QRadar)

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

when any of <these properties> match <this regular expression>

Ниже приведен пример правила в QRadar.

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

Тесты общих свойств: пример регулярного выражения (KQL)

Ниже приведено правило тестов общих свойств с регулярным выражением в KQL.

CommonSecurityLog
| where tostring(SourcePort) matches regex @"\d{1,5}" or tostring(DestinationPort) matches regex @"\d{1,5}"

Тесты общих свойств: пример запроса фильтра AQL (QRadar)

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

when the event matches <this> AQL filter query

Ниже приведен пример правила в QRadar.

Схема, иллюстрирующая общее правило теста свойств, использующее запрос фильтра Q L.

Тесты общих свойств: пример запроса фильтра AQL (KQL)

Ниже приведено правило тестов общих свойств с запросом фильтра AQL в KQL.

CommonSecurityLog
| where SourceIP == '10.1.1.10'

Тесты общих свойств: пример equals/not equals (QRadar)

Ниже приведен синтаксис для примера правила тестов общих свойств QRadar, использующего оператор equals или not equals.

and when <this property> <equals/not equals> <this property>

Ниже приведен пример правила в QRadar.

Схема, иллюстрирующая общее правило теста свойств, которое использует равные или не равные.

Тесты общих свойств: пример equals/not equals (KQL)

Ниже приведено правило тестов общих свойств с оператором equals или not equals в KQL.

CommonSecurityLog
| where SourceIP == DestinationIP

Синтаксис тестов даты и времени

Ниже приведен синтаксис QRadar для правила тестов даты и времени.

Схема, демонстрирующая синтаксис правила проверки даты и времени.

Тесты даты и времени: пример выбранного дня месяца (QRadar)

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

and when the event(s) occur <on/after/before> the <selected> day of the month

Ниже приведен пример правила в QRadar.

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

Тесты даты и времени: пример выбранного дня месяца (KQL)

Ниже приведено правило тестов даты и времени с выбранным днем месяца в KQL.

SecurityEvent
 | where dayofmonth(TimeGenerated) < 4

Тесты даты и времени: пример выбранного дня недели (QRadar)

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

and when the event(s) occur on any of <these days of the week{Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday}>

Ниже приведен пример правила в QRadar.

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

Тесты даты и времени: пример выбранного дня недели (KQL)

Ниже приведено правило тестов даты и времени с выбранным днем недели в KQL.

SecurityEvent
 | where dayofweek(TimeGenerated) between (3d .. 5d)

Тесты даты и времени: пример after/before/at (QRadar)

Ниже приведен синтаксис для примера правила тестов даты и времени QRadar, использующего оператор after, before или at.

and when the event(s) occur <after/before/at> <this time{12.00AM, 12.05AM, ...11.50PM, 11.55PM}>

Ниже приведен пример правила в QRadar.

Схема, иллюстрирующая правило тестов даты и времени, которое использует оператор after/before/at.

Тесты даты и времени: пример after/before/at (KQL)

Ниже приведено правило тестов даты и времени, которое использует оператор after, before или at в KQL.

SecurityEvent
| where format_datetime(TimeGenerated,'HH:mm')=="23:55"

TimeGenerated находится в формате UTC/GMT.

Синтаксис тестов свойств событий

Ниже приведен синтаксис QRadar для правила тестов свойств событий.

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

Тесты свойств событий: пример протокола IP (QRadar)

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

and when the IP protocol is one of the following <protocols>

Ниже приведен пример правила в QRadar.

Схема, иллюстрирующая правило тестирования свойств событий, использующее протокол I P.

Тесты свойств событий: пример протокола IP (KQL)

CommonSecurityLog
| where Protocol in ("UDP","ICMP")

Тесты свойств событий: пример строки полезных данных события (QRadar)

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

and when the Event Payload contains <this string>

Ниже приведен пример правила в QRadar.

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

Тесты свойств событий: пример строки полезных данных события (KQL)

CommonSecurityLog
| where DeviceVendor has "Palo Alto"

search "Palo Alto"

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

Функции: синтаксис счетчиков

Ниже приведен синтаксис QRadar для правила функций, использующего счетчики.

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

Счетчики: пример свойства события и времени (QRadar)

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

and when at least <this many> events are seen with the same <event properties> in <this many> <minutes>

Ниже приведен пример правила в QRadar.

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

Счетчики: пример свойства события и времени (KQL)

CommonSecurityLog
| summarize Count = count() by SourceIP, DestinationIP
| where Count >= 5

Функции: синтаксис отрицательных условий

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

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

Пример отрицательных условий (QRadar)

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

and when none of <these rules> match in <this many> <minutes> after <these rules> match with the same <event properties>

Ниже приведены два определенных правила в QRadar. Отрицательные условия будут основываться на этих правилах.

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

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

Ниже приведен пример правила отрицательных условий на основе приведенных выше правил.

Схема, иллюстрирующая правило функций с отрицательными условиями.

Пример отрицательных условий (KQL)

let spanoftime = 10m;
let Test2 = (
CommonSecurityLog
| where Protocol !in ("UDP","ICMP")
| where TimeGenerated > ago(spanoftime)
);
let Test6 = (
CommonSecurityLog
| where SourceIP == DestinationIP
);
Test2
| join kind=rightanti Test6 on $left. SourceIP == $right. SourceIP and $left. Protocol ==$right. Protocol

Функции: синтаксис простых условий

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

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

Пример простых условий (QRadar)

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

and when an event matches <any|all> of the following <rules>

Ниже приведен пример правила в QRadar.

Схема, иллюстрирующая правило функций с простыми условиями.

Пример простых условий (KQL)

CommonSecurityLog
| where Protocol !in ("UDP","ICMP") or SourceIP == DestinationIP

Синтаксис тестов IP-адресов и портов

Ниже приведен синтаксис QRadar для правила тестов IP-адресов и портов.

Схема, иллюстрирующая синтаксис правила тестов IP/порта.

Тесты IP-адресов и портов: пример порта источника (QRadar)

Ниже приведен синтаксис примера правила QRadar, указывающего порт источника.

and when the source port is one of the following <ports>

Ниже приведен пример правила в QRadar.

Схема, иллюстрирующая правило, указывающее исходный порт.

Тесты IP-адресов и портов: пример порта источника (KQL)

CommonSecurityLog
| where SourcePort == 20

Тесты IP-адресов и портов: пример IP-адреса источника (QRadar)

Ниже приведен синтаксис примера правила QRadar, указывающего IP-адрес источника.

and when the source IP is one of the following <IP addresses>

Ниже приведен пример правила в QRadar.

Схема, иллюстрирующая правило, указывающее исходный IP-адрес.

Тесты IP-адресов и портов: пример IP-адреса источника (KQL)

CommonSecurityLog
| where SourceIP in (“10.1.1.1”,”10.2.2.2”)

Синтаксис тестов источника журнала

Ниже приведен синтаксис QRadar для правила тестов источника журнала.

Схема, иллюстрирующая синтаксис правила тестов источника журнала.

Пример источника журнала (QRadar)

Ниже приведен синтаксис примера правила QRadar, указывающего источники журналов.

and when the event(s) were detected by one or more of these <log source types>

Ниже приведен пример правила в QRadar.

Схема, иллюстрирующая правило, указывающее источники журналов.

Пример источника журнала (KQL)

OfficeActivity
| where OfficeWorkload == "Exchange"

Следующие шаги

Из этой статьи вы узнали, как сопоставить правила переноса из QRadar с Microsoft Sentinel.