Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Arbetsytans distribuerade ASIM-parsare (Advanced Security Information Model) används för att utveckla och ändra ASIM-parsers.
Driftsätt parser för arbetsytor
ASIM stöder även distribution av parsers till specifika arbetsytor från GitHub med hjälp av en ARM-mall. Arbetsytedistribuerade parsers används för utveckling och hantering av ASIM-parser. Parser som distribueras till arbetsytan är funktionellt likvärdiga, men har något olika namngivningskonventioner, vilket gör att båda parseruppsättningarna kan finnas sida vid sida med inbyggda parser i samma Microsoft Sentinel-arbetsyta.
Vi rekommenderar att du använder inbyggda parsers när du utvecklar ASIM-innehåll. Parser som distribuerats till arbetsytan används vanligtvis under parserutvecklingsprocessen eller för att tillhandahålla modifierade versioner av inbyggda parser, så som beskrivs i hantera parser
Använda arbetsyteparsrar
När du använder arbetsyteparsrar i dina frågor är im<schema>det enande parsernamnet , där <schema> står för det specifika schema som används.
Följande tabell listar de tillgängliga enhetliga tolkarna:
| Schemat | Enhetlig parser |
|---|---|
| Aviseringshändelse | imAlertEvent |
| Granskningshändelse | imAuditEvent |
| Autentisering | imAuthentication |
| DHCP-händelse | imDhcpEvent |
| DNS | imDns |
| Filhändelse | imFileEvent |
| Nätverkssession | imNetworkSession |
| Processhändelse | imProcessCreate imProcessTerminate |
| Händelse i registret | imRegistry |
| Användarhantering | imUserManagement |
| Webbsession | imWebSession |
Hantera unifierande parser som distribuerats i arbetsytan
Lägg till en anpassad parser till en enhetlig parser som distribuerats till en arbetsyta
Om du vill lägga till en anpassad tolk infogar du en rad i satsen union i den enhetliga tolk som har distribuerats i arbetsytan och som refererar till den nya anpassade tolken.
Se till att lägga till både en anpassad parser för filtrering och en parameterlös anpassad parser. 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 | 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) |
| Granskningshändelse | imAuditEvent |
_parser_name_ (starttime, endtime, srcipaddr_has_any_prefix, eventtype_in, eventresult, actorusername_has_any, operation_has_any, object_has_any, newvalue_has_any) |
| Autentisering | 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) |
| Användarhantering | 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) |
När du lägger till ytterligare en parser i en enande parser, se till att du lägger till ett kommatecken i slutet av föregående rad.
I följande exempel visas till exempel DNS-filtreringens enande parser när du har lagt till den anpassade 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)
Använda en ändrad version av en arbetsytedistribuerad parser
Microsoft Sentinel användare kan direkt ändra arbetsytedistribuerade parsers. Skapa en parser baserat på originalet, kommentera ut originalet och lägg sedan till den ändrade versionen i den arbetsytedistribuerade enande parsern.
Till exempel visar följande kod en enhetlig parser för DNS-filtrering, där vimDnsAzureFirewall parsern har ersatts med en modifierad version:
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)