Управление средствами синтаксического анализа расширенной информационной модели безопасности (ASIM) (общедоступная предварительная версия)

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

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

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

  • Добавить настраиваемое средство синтаксического анализа для конкретного источника в объединяющее средство синтаксического анализа.

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

    • Использовать версию встроенного средства синтаксического анализа, отличную от используемой по умолчанию в объединяющем средстве синтаксического анализа.

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

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

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

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

Важно!

ASIM сейчас находится на стадии ПРЕДВАРИТЕЛЬНОЙ ВЕРСИИ. Предварительная версия дополнительных условий использования Azure включают дополнительные юридические условия, применимые к функциям Azure, которые находятся в бета-версии, предварительной версии или еще не общедоступны по другим причинам.

Предварительные требования

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

Дополнительные сведения см. в статье Разработка средств синтаксического анализа ASIM.

Управление встроенными объединяющими средствами синтаксического анализа

Настройка рабочей области

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

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

    Вы можете развернуть начальные пустые объединяющие пользовательские средства синтаксического анализа в рабочей области Microsoft Sentinel для всех поддерживаемых схем или по отдельности для определенных схем. Дополнительные сведения см. в статье Развертывание исходных пустых объединяющих пользовательских средств синтаксического анализа ASIM в репозитории Microsoft Sentinel на GitHub.

  • Для поддержки исключения встроенных средств синтаксического анализа для конкретных источников ASIM использует список наблюдения. Разверните список наблюдения в рабочей области Microsoft Sentinel из репозитория Microsoft Sentinel на GitHub.

  • Для определения типа источника для встроенных и пользовательских средств синтаксического анализа ASIM использует список наблюдения. Разверните список наблюдения в рабочей области Microsoft Sentinel из репозитория Microsoft Sentinel на GitHub.

Добавление пользовательского средства синтаксического анализа во встроенное объединяющее средство синтаксического анализа

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

Обязательно добавьте как фильтрующее пользовательское средство синтаксического анализа, так и пользовательское средство синтаксического анализа без параметров. Дополнительные сведения об изменении средств синтаксического анализа см. в разделе Функции в запросах журнала Azure Monitor.

Синтаксис добавляемой строки отличается для каждой схемы:

схема Parser Добавляемая строка
DNS Im_DnsCustom _parser_name_ (starttime, endtime, srcipaddr, domain_has_any, responsecodename, response_has_ipv4, response_has_any_prefix, eventtype)
NetworkSession Im_NetworkSessionCustom _parser_name_ (starttime, endtime, srcipaddr_has_any_prefix, dstipaddr_has_any_prefix, dstportnumber, hostname_has_any, dvcaction, eventresult)
WebSession Im_WebSessionCustom _parser_name_ (starttime, endtime, srcipaddr_has_any_prefix, url_has_any, httpuseragent_has_any, eventresultdetails_in, eventresult)

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

Например, следующий код демонстрирует объединяющее пользовательское средство синтаксического анализа после добавления added_parser:

union isfuzzy=true
existing_parser(starttime, endtime, srcipaddr, domain_has_any, responsecodename, response_has_ipv4, response_has_any_prefix, eventtype),
added_parser(starttime, endtime, srcipaddr, domain_has_any, responsecodename, response_has_ipv4, response_has_any_prefix, eventtype)

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

Чтобы изменить существующее встроенное средство синтаксического анализа для конкретного источника:

  1. Создайте пользовательское средство синтаксического анализа на основе исходного средства синтаксического анализа и добавьте его во встроенное средство синтаксического анализа.

  2. Добавьте запись в список наблюдения ASim Disabled Parsers.

  3. Определите значение CallerContext как Exclude<parser name>, где <parser name> — это имя объединяющих средств синтаксического анализа, из которых вы хотите исключить средство синтаксического анализа.

  4. Определите значение SourceSpecificParser как Exclude<parser name>, где <parser name> — это имя средства синтаксического анализа, которое вы хотите исключить, без описателя версии.

Например, чтобы исключить средство синтаксического анализа DNS Брандмауэра Azure, добавьте следующую запись в список наблюдения:

CallerContext SourceSpecificParser
Exclude_Im_Dns Exclude_Im_Dns_AzureFirewall

Предотвращение автоматического обновления встроенного средства синтаксического анализа

Чтобы запретить автоматическое обновление встроенных средств синтаксического анализа для конкретного источника:

  1. Добавьте версию встроенного средства синтаксического анализа, которую вы хотите использовать, например _Im_Dns_AzureFirewallV02, в объединяющее пользовательское средство синтаксического анализа. Дополнительные сведения см. выше в разделе Добавление пользовательского средства синтаксического анализа во встроенное объединяющее средство синтаксического анализа.

  2. Добавьте исключение для встроенного средства синтаксического анализа. Например, если вы хотите полностью отказаться от автоматического обновления и, следовательно, исключить большое количество встроенных средств синтаксического анализа, добавьте:

  • Запись с Any в качестве поля SourceSpecificParser, чтобы исключить все средства синтаксического анализа для CallerContext.
  • Запись для Any в CallerContext и поля SourceSpecificParser для исключения всех встроенных средств синтаксического анализа.

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

Управление развернутыми в рабочей области объединяющими средствами синтаксического анализа

Добавление пользовательского анализатора в развернутое в рабочей области объединяющее средство синтаксического анализа

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

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

схема Parser Добавляемая строка
Аутентификация ImAuthentication _parser_name_ (starttime, endtime, targetusername_has)
DNS ImDns _parser_name_ (starttime, endtime, srcipaddr, domain_has_any,
responsecodename, response_has_ipv4, response_has_any_prefix,
eventtype)
Событие файла imFileEvent _parser_name_
Сетевой сеанс imNetworkSession _parser_name_ (starttime, endtime, srcipaddr_has_any_prefix, dstipaddr_has_any_prefix, dstportnumber, url_has_any,
httpuseragent_has_any, hostname_has_any, dvcaction, eventresult)
Событие процесса - imProcess
- imProcessCreate
- imProcessTerminate
_parser_name_
Событие реестра imRegistry

_parser_name_
Веб-сеанс imWebSession

_parser_name_ parser (starttime, endtime, srcipaddr_has_any, url_has_any, httpuseragent_has_any, eventresultdetails_in, eventresult)

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

Например, следующий пример демонстрирует фильтрующее объединяющее средство синтаксического анализа DNS после добавления added_parser:

  let Generic=(starttime:datetime=datetime(null), endtime:datetime=datetime(null) , srcipaddr:string='*' , domain_has_any:dynamic=dynamic([]) , responsecodename:string='*', response_has_ipv4:string='*' , response_has_any_prefix:dynamic=dynamic([]) , eventtype:string='lookup' ){
  let DisabledParsers=materialize(_GetWatchlist('ASimDisabledParsers') | where SearchKey in ('Any', 'imDns') | extend SourceSpecificParser=column_ifexists('SourceSpecificParser','') | distinct SourceSpecificParser);
  let imDnsBuiltInDisabled=toscalar('imDnsBuiltIn' in (DisabledParsers) or 'Any' in (DisabledParsers)); 
  union isfuzzy=true
      vimDnsEmpty
    , vimDnsCiscoUmbrella  ( starttime, endtime, srcipaddr, domain_has_any, responsecodename, response_has_ipv4, response_has_any_prefix, eventtype, (imDnsBuiltInDisabled or('vimDnsCiscoUmbrella'   in (DisabledParsers) )))
    , vimDnsInfobloxNIOS   ( starttime, endtime, srcipaddr, domain_has_any, responsecodename, response_has_ipv4, response_has_any_prefix, eventtype, (imDnsBuiltInDisabled or('vimDnsInfobloxNIOS'    in (DisabledParsers) )))
    ...
    , vimDnsAzureFirewall  ( starttime, endtime, srcipaddr, domain_has_any, responsecodename, response_has_ipv4, response_has_any_prefix, eventtype, (imDnsBuiltInDisabled or('vimDnsAzureFirewall'   in (DisabledParsers) )))
    , vimDnsMicrosoftNXlog ( starttime, endtime, srcipaddr, domain_has_any, responsecodename, response_has_ipv4, response_has_any_prefix, eventtype, (imDnsBuiltInDisabled or('vimDnsMicrosoftNXlog'  in (DisabledParsers) ))),
    added_parser ( starttime, endtime, srcipaddr, domain_has_any, responsecodename, response_has_ipv4, response_has_any_prefix, eventtype)
     };
  Generic( starttime, endtime, srcipaddr, domain_has_any, responsecodename, response_has_ipv4, response_has_any_prefix, eventtype)

Использование измененной версии развернутого в рабочей области средства синтаксического анализа

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

Например, в следующем коде показана фильтрующее объединяющее средство синтаксического анализа DNS с заменой средства синтаксического анализа vimDnsAzureFirewall измененной версией:

  let Generic=(starttime:datetime=datetime(null), endtime:datetime=datetime(null) , srcipaddr:string='*' , domain_has_any:dynamic=dynamic([]) , responsecodename:string='*', response_has_ipv4:string='*' , response_has_any_prefix:dynamic=dynamic([]) , eventtype:string='lookup' ){
  let DisabledParsers=materialize(_GetWatchlist('ASimDisabledParsers') | where SearchKey in ('Any', 'imDns') | extend SourceSpecificParser=column_ifexists('SourceSpecificParser','') | distinct SourceSpecificParser);
  let imDnsBuiltInDisabled=toscalar('imDnsBuiltIn' in (DisabledParsers) or 'Any' in (DisabledParsers)); 
  union isfuzzy=true
      vimDnsEmpty
    , vimDnsCiscoUmbrella  ( starttime, endtime, srcipaddr, domain_has_any, responsecodename, response_has_ipv4, response_has_any_prefix, eventtype, (imDnsBuiltInDisabled or('vimDnsCiscoUmbrella'   in (DisabledParsers) )))
    , vimDnsInfobloxNIOS   ( starttime, endtime, srcipaddr, domain_has_any, responsecodename, response_has_ipv4, response_has_any_prefix, eventtype, (imDnsBuiltInDisabled or('vimDnsInfobloxNIOS'    in (DisabledParsers) )))
    ...
    // , vimDnsAzureFirewall  ( starttime, endtime, srcipaddr, domain_has_any, responsecodename, response_has_ipv4, response_has_any_prefix, eventtype, (imDnsBuiltInDisabled or('vimDnsAzureFirewall'   in (DisabledParsers) )))
    , vimDnsMicrosoftNXlog ( starttime, endtime, srcipaddr, domain_has_any, responsecodename, response_has_ipv4, response_has_any_prefix, eventtype, (imDnsBuiltInDisabled or('vimDnsMicrosoftNXlog'  in (DisabledParsers) ))),
    modified_vimDnsAzureFirewall ( starttime, endtime, srcipaddr, domain_has_any, responsecodename, response_has_ipv4, response_has_any_prefix, eventtype)
     };
  Generic( starttime, endtime, srcipaddr, domain_has_any, responsecodename, response_has_ipv4, response_has_any_prefix, eventtype)

Настройка источников, относящихся к средству синтаксического анализа для конкретного источника

Некоторые средства синтаксического анализа требуют обновления списка источников, относящихся к средству синтаксического анализа. Например, средство синтаксического анализа, использующее данные Syslog, может быть не в состоянии определить, какие события Syslog имеют отношение к средству синтаксического анализа. Такое средство синтаксического анализа может использовать список наблюдения Sources_by_SourceType, чтобы определить, какие источники отправляют информацию, относящуюся к средству синтаксического анализа. Для таких средств синтаксического анализа добавьте запись для каждого соответствующего источника в список наблюдения:

  • Задайте для поля SourceType конкретное значение средства синтаксического анализа, указанное в документации средства синтаксического анализа.
  • Задайте для поля Source идентификатор источника, используемый в событиях. Возможно, вам придется запросить исходную таблицу, например Syslog, чтобы определить правильное значение.

Если в вашей системе Sources_by_SourceType не развернут список отслеживания, разверните его в рабочей области Microsoft Sentinel из репозитория Microsoft Sentinel на GitHub .

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

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

Дополнительные сведения о средствах синтаксического анализа ASIM см. в следующих статьях:

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