Hantera parser för Advanced Security Information Model (ASIM)

ASIM-användare (Advanced Security Information Model) använder enande parser i stället för tabellnamn i sina frågor för att visa data i ett normaliserat format och hämta alla data som är relevanta för schemat i en enda fråga. Varje enande parser använder flera källspecifika parser som hanterar varje källas specifika information.

För att förstå hur parsers passar in i ASIM-arkitekturen, se avsnittet om ASIM-komponenter i ASIM-arkitekturdiagrammet.

Du kan behöva hantera de källspecifika tolkar som används av varje enhetlig tolk för att:

  • Lägg till en anpassad, källspecifik parser till en enhetlig parser.

  • Ersätt en inbyggd, källspecifik parser som används av en parser för sammanställning med en anpassad, källspecifik parser. Ersätt inbyggda tolkar när du vill:

    • Använd en annan version av den inbyggda parsern än den som används som standard i den enhetliga parsern.

    • Förhindra automatiska uppdateringar genom att bevara den version av den källspecifika parsern som används av den enande parsern.

    • Använd en modifierad version av en inbyggd parser.

  • Konfigurera en källspecifik parser, till exempel för att definiera de källor som skickar information som är relevant för parsern.

Den här artikeln guidar dig genom hur du hanterar de källspecifika tolkar som används av enhetliga tolkar.

Förhandskrav

Procedurerna i den här artikeln förutsätter att alla källspecifika parsers redan har distribuerats till din Microsoft Sentinel arbetsyta.

För distributionsinstruktioner, se avsnittet Deploy parsers i Develop ASIM parsers.

Hantera inbyggda enhetliga tolkar

Eftersom inbyggda enande parsers inte kan redigeras direkt hanterar du dem genom att distribuera anpassade enande parsers, lägga till eller exkludera källspecifika parsare och använda bevakningslistor för att kontrollera parserbeteendet.

Konfigurera din arbetsyta

Microsoft Sentinel-användare kan inte redigera inbyggda enhetliga parser. Använd i stället följande mekanismer för att ändra beteendet hos inbyggda enhetliga parserkomponenter:

  • För att stödja tillägg av källspecifika parsers använder ASIM enhetliga, anpassade parsers. Dessa anpassade parsare är distribuerade till arbetsytan och kan därför redigeras. De inbyggda, enhetliga parserna identifierar automatiskt dessa anpassade parser om de finns.

    Du kan distribuera initiala, tomma, enhetliga anpassade parser i din Microsoft Sentinel-arbetsyta för alla scheman som stöds eller separat för specifika scheman. Mer information finns i Distribuera initiala tomma anpassade ASIM-parser för enhetliggöring i GitHub-lagringsplatsen för Microsoft Sentinel.

  • För att stödja exkludering av inbyggda källspecifika parsers använder ASIM en visningslista. Distribuera watchlistan till din Microsoft Sentinel-arbetsyta från Microsoft Sentinel ASIM-watchlistdistributionsmallen på GitHub.

  • För att definiera källtyp för inbyggda och anpassade parsers använder ASIM en visningslista. Distribuera watchlistan till din Microsoft Sentinel-arbetsyta från Microsoft Sentinel ASIM-watchlistdistributionsmallen på GitHub.

Lägg till en anpassad tolk i en inbyggd enhetlig tolk

Om du vill lägga till en anpassad parser, infogar du en rad i den anpassade unifierande parsern som refererar till den nya anpassade parsern.

Se till att lägga till både en anpassad filterparser (en som accepterar filtreringsparametrar för att optimera prestandan) och en parameterlös anpassad parser (en som returnerar alla resultat utan att filtrera parametrar). Mer information om hur du redigerar parsers finns i dokumentet Funktioner i Azure Övervaka loggfrågor.

Syntaxen för raden som ska läggas till är olika för varje schema:

Schemat Parser Linje som ska läggas till
Aviseringshändelse Im_AlertEventCustom _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)
Granskningshändelse Im_AuditEventCustom _parser_name_ (starttime, endtime, srcipaddr_has_any_prefix, eventtype_in, eventresult, actorusername_has_any, operation_has_any, object_has_any, newvalue_has_any)
Autentisering Im_AuthenticationCustom _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 Im_DhcpEventCustom _parser_name_ (starttime, endtime, srcipaddr_has_any_prefix, srchostname_has_any, srcusername_has_any, eventresult)
DNS Im_DnsCustom _parser_name_ (starttime, endtime, srcipaddr, domain_has_any, responsecodename, response_has_ipv4, response_has_any_prefix, eventtype)
FileEvent Im_FileEventCustom _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 Im_NetworkSessionCustom _parser_name_ (starttime, endtime, srcipaddr_has_any_prefix, dstipaddr_has_any_prefix, ipaddr_has_any_prefix, dstportnumber, hostname_has_any, dvcaction, eventresult)
ProcessEvent Im_ProcessEventCustom _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 Im_RegistryEventCustom _parser_name_ (starttime, endtime, eventtype_in, actorusername_has_any, registrykey_has_any, registryvalue_has_any, registryvaluedata_has_any, dvchostname_has_any)
Användarhantering Im_UserManagementCustom _parser_name_ (starttime, endtime, srcipaddr_has_any_prefix, targetusername_has_any, actorusername_has_any, eventtype_in)
WebSession Im_WebSessionCustom _parser_name_ (starttime, endtime, srcipaddr_has_any_prefix, ipaddr_has_any_prefix, url_has_any, httpuseragent_has_any, eventresultdetails_in, eventresult)

När du lägger till ytterligare en parser i en anpassad parser för sammanfogning som redan refererar till andra parser, se till att lägga till ett kommatecken i slutet av den föregående raden.

Följande kod visar till exempel en anpassad enande parser när du har lagt till added_parser. Satsen union isfuzzy=true kombinerar resultat från både den befintliga och den nya anpassade parsern så att båda bidrar till den normaliserade utdatan, med mindre schema-skillnader mellan dem:

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)

Använda en modifierad version av en inbyggd parser

Så här ändrar du en befintlig, inbyggd källspecifik parser:

  1. Skapa en anpassad parser baserat på den ursprungliga parsern och lägg till den anpassade parsern i den inbyggda enande parsern. Du kan använda den arbetsytedistribuerade ASIM-parsers-versionen av parsern som utgångspunkt.

  2. Lägg till en post på ASim Disabled Parsers bevakningslistan.

  3. Definiera värdet CallerContext som Exclude<parser name>, där <parser name> är namnet på de enande parsers som du vill undanta parsern från.

  4. SourceSpecificParser Definiera värdet Exclude<parser name>, där <parser name>är namnet på den parser som du vill exkludera, utan en versionsspecificerare.

Om du till exempel vill exkludera Azure Firewall DNS-parser lägger du till följande post i visningslistan:

CallerContext SourceSpecificParser
Exclude_Im_Dns Exclude_Im_Dns_AzureFirewall

Förhindra en automatisk uppdatering av en inbyggd parser

Utför följande steg för att fästa en inbyggd, källspecifik parser på en viss version och förhindra automatiska uppdateringar:

  1. Lägg till den inbyggda parserversion som du vill använda, till exempel _Im_Dns_AzureFirewallV02, i den anpassade enande parsern. Mer information finns i Lägga till en anpassad parser i en inbyggd parser för samordning.

  2. Lägg till ett undantag för den inbyggda parsern. Om du till exempel helt vill välja bort automatiska uppdateringar och därför exkludera ett stort antal inbyggda parsers lägger du till:

  • En post med Any som SourceSpecificParser fält för att exkludera alla parsers för CallerContext.
  • En post för Any i CallerContext och fälten SourceSpecificParser för att exkludera alla inbyggda tolkar.

För detaljer om hur man utesluter inbyggda parsers med bevakningslistan, se avsnittet Använd en modifierad version av en inbyggd parser .

Konfigurera de källor som är relevanta för en källspecifik parser

Vissa parsers kräver att du uppdaterar listan över källor som är relevanta för parsern. En parser som använder Syslog-data kanske till exempel inte kan avgöra vilka Syslog-händelser som är relevanta för parsern. En sådan parser kan använda Sources_by_SourceType visningslistan för att avgöra vilka källor som skickar information som är relevant för parsern. För sådana parsar lägger du till en post för varje relevant källa i visningslistan:

  • Ange fältet SourceType till det parserspecifika värde som anges i parserdokumentationen.
  • Source Ange fältet till identifieraren för källan som används i händelserna. Du kan behöva fråga den ursprungliga tabellen, till exempel Syslog, för att fastställa rätt värde.

Om systemet inte har Sources_by_SourceType visningslistan distribuerad distribuerar du visningslistan till din Microsoft Sentinel arbetsyta från distributionsmallen för ASIM-bevakningslistan på GitHub.

Läs mer om ASIM-parsers:

Läs mer om ASIM i allmänhet: