Udostępnij przez


Parsery wdrożone w przestrzeni roboczej zaawansowanego modelu informacji o zabezpieczeniach (ASIM)

Analizatory Modelu Informacji o Zaawansowanym Bezpieczeństwie (ASIM) wdrożone w środowisku pracy są używane do rozwijania i modyfikowania analizatorów ASIM.

Wdrażanie analizatorów obszarów roboczych

Usługa ASIM obsługuje również wdrażanie parserów do określonych obszarów roboczych z GitHub, przy użyciu szablonu ARM. Analizatory wdrożone w przestrzeni roboczej są używane do tworzenia i zarządzania analizatorami ASIM. Analizatory wdrożone w obszarze roboczym są funkcjonalnie równoważne, ale mają nieco inne konwencje nazewnictwa, umożliwiając współistnienie obu zestawów analizatorów z wbudowanymi analizatorami w tym samym obszarze roboczym usługi Microsoft Sentinel.

Zaleca się używanie wbudowanych analizatorów podczas tworzenia zawartości ASIM. Analizatory wdrożone w obszarze roboczym są zwykle używane podczas procesu tworzenia analizatora lub do udostępniania zmodyfikowanych wersji wbudowanych analizatorów zgodnie z opisem w temacie zarządzanie analizatorami

Użyj analizatorów obszarów roboczych

W przypadku korzystania z analizatorów obszarów roboczych w zapytaniach jednocząca nazwa analizatora to im<schema>, gdzie <schema> oznacza określony schemat, który obsługuje.

W poniższej tabeli wymieniono dostępne analizatory ujednolicania:

Schema Ujednolicanie analizatora
Zdarzenie alertu imAlertEvent
Zdarzenie inspekcji imAuditEvent
Authentication imAuthentication
Zdarzenie DHCP imDhcpEvent
Dns imDns
Zdarzenie plikowe imFileEvent
Sesja sieciowa imNetworkSession
Zdarzenie procesu imProcessCreate
imProcessTerminate
Zdarzenie rejestru imRegistry
Zarządzanie użytkownikami imUserManagement
Sesja sieci Web imWebSession

Zarządzanie analizatorami ujednolicania wdrożonych w obszarze roboczym

Dodawanie analizatora niestandardowego do modułu ujednolicania wdrożonego w obszarze roboczym

Aby dodać analizator niestandardowy, wstaw wiersz do instrukcji w module ujednolicania wdrożonym w obszarze roboczym, który odwołuje się do union nowego analizatora niestandardowego.

Pamiętaj, aby dodać zarówno analizator niestandardowy filtrowania, jak i analizator niestandardowy bez parametrów. Składnia wiersza do dodania jest inna dla każdego schematu:

Schema Analizator składniowy Wiersz do dodania
Zdarzenie alarmowe imAlertEvent _parser_name_ (starttime, endtime, ipaddr_has_any_prefix, hostname_has_any, username_has_any, attacktactics_has_any, attacktechniques_has_any, threatcategory_has_any, alertverdict_has_any, eventseverity_has_any)
Zdarzenie audytu imAuditEvent _parser_name_ (starttime, endtime, srcipaddr_has_any_prefix, eventtype_in, eventresult, actorusername_has_any, operation_has_any, object_has_any, newvalue_has_any)
Authentication imAuthentication _parser_name_ (starttime, endtime, targetusername_has_any, actorusername_has_any, srcipaddr_has_any_prefix, srchostname_has_any, targetipaddr_has_any_prefix, dvcipaddr_has_any_prefix, dvchostname_has_any, eventtype_in, eventresultdetails_in, eventresult)
DhcpEvent imDhcpEvent _parser_name_ (starttime, endtime, srcipaddr_has_any_prefix, srchostname_has_any, srcusername_has_any, eventresult)
Dns imDns _parser_name_ (starttime, endtime, srcipaddr, domain_has_any, responsecodename, response_has_ipv4, response_has_any_prefix, eventtype)
FileEvent imFileEvent _parser_name_ (starttime, endtime, eventtype_in, srcipaddr_has_any_prefix, actorusername_has_any, targetfilepath_has_any, srcfilepath_has_any, hashes_has_any, dvchostname_has_any)
NetworkSession imNetworkSession _parser_name_ (starttime, endtime, srcipaddr_has_any_prefix, dstipaddr_has_any_prefix, ipaddr_has_any_prefix, dstportnumber, hostname_has_any, dvcaction, eventresult)
ProcessEvent imProcessCreate, imProcessTerminate _parser_name_ (starttime, endtime, commandline_has_any, commandline_has_all, commandline_has_any_ip_prefix, actingprocess_has_any, targetprocess_has_any, parentprocess_has_any, targetusername_has, actorusername_has, dvcipaddr_has_any_prefix, dvchostname_has_any, eventtype)
RegistryEvent imRegistry _parser_name_ (starttime, endtime, eventtype_in, actorusername_has_any, registrykey_has_any, registryvalue_has_any, registryvaluedata_has_any, dvchostname_has_any)
Zarządzanie Użytkownikami imUserManagement _parser_name_ (starttime, endtime, srcipaddr_has_any_prefix, targetusername_has_any, actorusername_has_any, eventtype_in)
WebSession imWebSession _parser_name_ (starttime, endtime, srcipaddr_has_any_prefix, ipaddr_has_any_prefix, url_has_any, httpuseragent_has_any, eventresultdetails_in, eventresult)

Podczas dodawania dodatkowego analizatora do analizatora ujednolicania upewnij się, że na końcu poprzedniego wiersza dodano przecinek.

Na przykład w poniższym przykładzie pokazano filtrowanie DNS ujednolicające analizator, po dodaniu niestandardowego added_parserelementu :

  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)

Używanie zmodyfikowanej wersji analizatora wdrożonego w obszarze roboczym

Użytkownicy usługi Microsoft Sentinel mogą bezpośrednio modyfikować analizatory wdrożone w obszarze roboczym. Utwórz analizator na podstawie oryginalnego elementu, oznacz jako komentarz oryginalny, a następnie dodaj zmodyfikowaną wersję do modułu ujednolicania wdrożonego w obszarze roboczym.

Na przykład poniższy kod przedstawia filtrowanie DNS jednoczący analizator, po zastąpieniu vimDnsAzureFirewall analizatora zmodyfikowaną wersją:

  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)

Aby uzyskać więcej informacji, zobacz: