Изменение содержимого для использования расширенной информационной модели безопасности (ASIM) (общедоступная предварительная версия)
Нормализованное содержимое безопасности в Microsoft Sentinel включает правила аналитики, запросы охоты и книги, работающие с унифицирующими средствами синтаксического анализа для нормализации.
Вы можете найти нормализованное готовое содержимое в коллекциях и решениях Microsoft Sentinel, создать собственное нормализованное содержимое или изменить существующее пользовательское содержимое для использования нормализованных данных.
В этой статье объясняется, как преобразовать существующие правила анализа Microsoft Sentinel для использования нормализованных данных с расширенной информационной моделью безопасности (ASIM).
Чтобы понять, как нормализованное содержимое вписывается в архитектуру ASIM, изучите схему архитектуры ASIM.
Совет
Также ознакомьтесь с подробным вебинаром по средствам синтаксического анализа для нормализации и нормализованному содержимому Microsoft Sentinel или просмотрите слайды. Дополнительные сведения см. в разделе Дальнейшие действия.
Важно!
ASIM сейчас находится на стадии ПРЕДВАРИТЕЛЬНОЙ ВЕРСИИ. Предварительная версия дополнительных условий использования Azure включают дополнительные юридические условия, применимые к функциям Azure, которые находятся в бета-версии, предварительной версии или еще не общедоступны по другим причинам.
Изменение пользовательского содержимого для использования нормализации
Чтобы разрешить пользовательскому содержимому Microsoft Sentinel применять нормализацию:
Измените запросы таким образом, чтобы использовать унифицирующие средства синтаксического анализа, соответствующие запросу.
Измените имена полей в запросе таким образом, чтобы использовать имена полей нормализованной схемы.
Если применимо, измените условия для использования нормализованных значений полей в запросе.
Пример нормализации для правил аналитики
Например, рассмотрим правило аналитики DNS Редкий клиент с высоким уровнем обратного просмотра DNS, которое обрабатывает события DNS, отправляемые DNS-серверами Infoblox:
let threshold = 200;
InfobloxNIOS
| where ProcessName =~ "named" and Log_Type =~ "client"
| where isnotempty(ResponseCode)
| where ResponseCode =~ "NXDOMAIN"
| summarize count() by Client_IP, bin(TimeGenerated,15m)
| where count_ > threshold
| join kind=inner (InfobloxNIOS
| where ProcessName =~ "named" and Log_Type =~ "client"
| where isnotempty(ResponseCode)
| where ResponseCode =~ "NXDOMAIN"
) on Client_IP
| extend timestamp = TimeGenerated, IPCustomEntity = Client_IP
Следующий код не зависит от источника и использует нормализацию для одинакового обнаружения данных из любого источника, из которого поступают события запроса DNS. В следующем примере используются встроенные средства синтаксического анализа ASIM:
_Im_Dns(responsecodename='NXDOMAIN')
| summarize count() by SrcIpAddr, bin(TimeGenerated,15m)
| where count_ > threshold
| join kind=inner (imDns(responsecodename='NXDOMAIN')) on SrcIpAddr
| extend timestamp = TimeGenerated, IPCustomEntity = SrcIpAddr
Чтобы использовать развернутые в рабочей области средства синтаксического анализа ASIM, замените первую строку следующим кодом:
imDns(responsecodename='NXDOMAIN')
Различия между встроенными средствами синтаксического анализа и средствами, развернутыми в рабочей области
Два варианта в приведенном выше примере функционально идентичны. Нормализованная версия, не зависящая от источника, имеет следующие отличия:
Вместо средства синтаксического анализа Infoblox используются нормализованные средства синтаксического анализа
_Im_Dns
илиimDns
.Нормализованные средства синтаксического анализа извлекают только события запроса DNS, поэтому нет необходимости проверять тип события, как это делает
where ProcessName =~ "named" and Log_Type =~ "client"
в версии Infoblox.Поле
SrcIpAddr
используется вместоClient_IP
.Фильтрация параметров средства синтаксического анализа используется для ResponseCodeName, устраняя необходимость в явных предложениях
where
.
Примечание
Помимо поддержки любого нормализованного источника DNS, нормализованная версия короче и проще для понимания.
Если схема или средства синтаксического анализа не поддерживают параметры фильтрации, то изменения схожи, за исключением того, что условия фильтрации сохраняются в исходном запросе. Пример:
let threshold = 200;
imDns
| where isnotempty(ResponseCodeName)
| where ResponseCodeName =~ "NXDOMAIN"
| summarize count() by SrcIpAddr, bin(TimeGenerated,15m)
| where count_ > threshold
| join kind=inner (imDns
| where isnotempty(ResponseCodeName)
| where ResponseCodeName =~ "NXDOMAIN"
) on SrcIpAddr
| extend timestamp = TimeGenerated, IPCustomEntity = SrcIpAddr
Дальнейшие действия
В этой статье рассматривается содержимое модели расширенной информации о безопасности (ASIM).
Дополнительные сведения см. в разделе:
- Ознакомьтесь с подробным вебинаром по средствам синтаксического анализа для нормализации и нормализованному содержимому Microsoft Sentinel или просмотрите слайды
- Обзор расширенной информационной модели безопасности (ASIM)
- Средства синтаксического анализа расширенной информационной модели безопасности (ASIM)
- Схемы расширенной информационной модели безопасности (ASIM)
- Содержимое расширенной информационной модели безопасности (ASIM)