ASIM-parsers (Advanced Security Information Model) beheren (openbare preview)

ASIM-gebruikers (Advanced Security Information Model) gebruiken unifying parsers in plaats van tabelnamen in hun query's om gegevens in een genormaliseerde indeling weer te geven en alle gegevens op te halen die relevant zijn voor het schema in één query. Elke unifying parser maakt gebruik van meerdere bronspecifieke parsers die de specifieke details van elke bron verwerken.

Raadpleeg het diagram ASIM-architectuur om te begrijpen hoe parsers binnen de ASIM-architectuur passen.

Mogelijk moet u de bronspecifieke parsers beheren die door elke unifying-parser worden gebruikt om:

  • Voeg een aangepaste, bronspecifieke parser toe aan een samenvoegende parser.

  • Vervang een ingebouwde, bronspecifieke parser die wordt gebruikt door een unifying-parser door een aangepaste, bronspecifieke parser. Vervang ingebouwde parsers wanneer u het volgende wilt:

    • Gebruik een andere versie van de ingebouwde parser dan de versie die standaard wordt gebruikt in de unifying-parser.

    • Voorkom geautomatiseerde updates door de versie van de bronspecifieke parser te behouden die wordt gebruikt door de samensparingsparser.

    • Gebruik een aangepaste versie van een ingebouwde parser.

  • Configureer een bronspecifieke parser, bijvoorbeeld om de bronnen te definiëren die informatie verzenden die relevant is voor de parser.

In dit artikel wordt u begeleid bij het beheren van uw parsers, of u nu gebruikmaakt van ingebouwde, unifying ASIM-parsers of door werkruimte geïmplementeerde unifying parsers.

Belangrijk

ASIM is momenteel beschikbaar als PREVIEW-versie. De Aanvullende voorwaarden voor Azure-previews omvatten aanvullende juridische voorwaarden die van toepassing zijn op Azure-functies die in bèta of preview zijn of die anders nog niet algemeen beschikbaar zijn.

Vereisten

In de procedures in dit artikel wordt ervan uitgegaan dat alle bronspecifieke parsers al zijn geïmplementeerd in uw Microsoft Sentinel-werkruimte.

Zie ASIM-parsers ontwikkelen voor meer informatie.

Ingebouwde unifying-parsers beheren

Uw werkruimte instellen

Microsoft Sentinel-gebruikers kunnen geen ingebouwde samensparingsparseer bewerken. Gebruik in plaats daarvan de volgende mechanismen om het gedrag van ingebouwde unifying parsers te wijzigen:

  • Ter ondersteuning van het toevoegen van bronspecifieke parsers maakt ASIM gebruik van unifying, aangepaste parsers. Deze aangepaste parsers worden in de werkruimte geïmplementeerd en kunnen daarom worden bewerkt. Ingebouwde, verenigende parsers nemen deze aangepaste parsers automatisch op, als ze bestaan.

    U kunt initiële, lege, eenduidige aangepaste parsers implementeren in uw Microsoft Sentinel-werkruimte voor alle ondersteunde schema's of afzonderlijk voor specifieke schema's. Zie Initial ASIM empty custom unifying parsers implementeren in de GitHub-opslagplaats van Microsoft Sentinel voor meer informatie.

  • Ter ondersteuning van het uitsluiten van ingebouwde bronspecifieke parsers gebruikt ASIM een volglijst. Implementeer de volglijst in uw Microsoft Sentinel-werkruimte vanuit de GitHub-opslagplaats van Microsoft Sentinel.

  • Voor het definiëren van het brontype voor ingebouwde en aangepaste parsers gebruikt ASIM een volglijst. Implementeer de volglijst in uw Microsoft Sentinel-werkruimte vanuit de GitHub-opslagplaats van Microsoft Sentinel.

Een aangepaste parser toevoegen aan een ingebouwde unifying parser

Als u een aangepaste parser wilt toevoegen, voegt u een regel toe aan de aangepaste unifying-parser om te verwijzen naar de nieuwe, aangepaste parser.

Zorg ervoor dat u zowel een aangepaste filterparser als een aangepaste parser met parameters toevoegt. Raadpleeg het document Functies in Azure Monitor-logboekquery's voor meer informatie over het bewerken van parsers.

De syntaxis van de toe te voegen regel verschilt voor elk schema:

Schema Parser Toe te voegen regel
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)

Wanneer u een extra parser toevoegt aan een samenvoegende aangepaste parser die al verwijst naar parsers, moet u een komma toevoegen aan het einde van de vorige regel.

De volgende code toont bijvoorbeeld een aangepaste unifying parser nadat u de added_parserhebt toegevoegd:

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)

Een aangepaste versie van een ingebouwde parser gebruiken

Een bestaande, ingebouwde bronspecifieke parser wijzigen:

  1. Maak een aangepaste parser op basis van de oorspronkelijke parser en voeg deze toe aan de ingebouwde parser.

  2. Voeg een record toe aan de ASim Disabled Parsers volglijst.

  3. Definieer de CallerContext waarde als Exclude<parser name>, waarbij <parser name> de naam is van de samenvoegende parsers waarvan u de parser wilt uitsluiten.

  4. Definieer de SourceSpecificParser waarde Exclude<parser name>, waarbij <parser name>de naam is van de parser die u wilt uitsluiten, zonder een versieaanduiding.

Als u bijvoorbeeld de Azure Firewall DNS-parser wilt uitsluiten, voegt u de volgende record toe aan de volglijst:

CallerContext SourceSpecificParser
Exclude_Im_Dns Exclude_Im_Dns_AzureFirewall

Een automatische update van een ingebouwde parser voorkomen

Gebruik het volgende proces om automatische updates voor ingebouwde, bronspecifieke parsers te voorkomen:

  1. Voeg de ingebouwde parserversie die u wilt gebruiken, zoals _Im_Dns_AzureFirewallV02, toe aan de aangepaste unifying-parser. Zie hierboven Een aangepaste parser toevoegen aan een ingebouwde unifying-parser voor meer informatie.

  2. Voeg een uitzondering toe voor de ingebouwde parser. Als u zich bijvoorbeeld volledig wilt afmelden voor automatische updates en daarom een groot aantal ingebouwde parsers wilt uitsluiten, voegt u het volgende toe:

  • Een record met Any als SourceSpecificParser veld om alle parsers voor de CallerContextuit te sluiten.
  • Een record voor Any in de CallerContext en de SourceSpecificParser velden om alle ingebouwde parsers uit te sluiten.

Zie Een aangepaste versie van een ingebouwde parser gebruiken voor meer informatie.

Door werkruimte geïmplementeerde unifying parsers beheren

Een aangepaste parser toevoegen aan een door een werkruimte geïmplementeerde unifying-parser

Als u een aangepaste parser wilt toevoegen, voegt u een regel toe aan de union instructie in de door de werkruimte geïmplementeerde unifying parser die verwijst naar de nieuwe aangepaste parser.

Zorg ervoor dat u zowel een aangepaste filterparser als een aangepaste parser met parameters toevoegt. De syntaxis van de toe te voegen regel verschilt voor elk schema:

Schema Parser Toe te voegen regel
Verificatie 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)
Bestands gebeurtenis imFileEvent _parser_name_
Netwerksessie 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)
Gebeurtenis verwerken - imProcess
- imProcessCreate
- imProcessTerminate
_parser_name_
Register-gebeurtenis imRegistry

_parser_name_
Websessie imWebSession

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

Wanneer u een extra parser toevoegt aan een unifying parser, moet u een komma toevoegen aan het einde van de vorige regel.

In het volgende voorbeeld ziet u bijvoorbeeld de unifying parser voor DNS-filtering nadat u de aangepaste added_parserhebt toegevoegd:

  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)

Een aangepaste versie van een door een werkruimte geïmplementeerde parser gebruiken

Microsoft Sentinel-gebruikers kunnen door werkruimte geïmplementeerde parsers rechtstreeks wijzigen. Maak een parser op basis van het origineel, markeer het origineel als commentaar en voeg vervolgens de gewijzigde versie toe aan de door de werkruimte geïmplementeerde unifying parser.

De volgende code toont bijvoorbeeld een DNS-filtering unifying parser, waarbij de vimDnsAzureFirewall parser is vervangen door een gewijzigde versie:

  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)

De bronnen configureren die relevant zijn voor een bronspecifieke parser

Voor sommige parsers moet u de lijst met bronnen bijwerken die relevant zijn voor de parser. Een parser die syslog-gegevens gebruikt, kan bijvoorbeeld mogelijk niet bepalen welke Syslog-gebeurtenissen relevant zijn voor de parser. Een dergelijke parser kan de Sources_by_SourceType volglijst gebruiken om te bepalen welke bronnen informatie verzenden die relevant is voor de parser. Voeg voor dergelijke parseringen een record toe voor elke relevante bron aan de volglijst:

  • Stel het SourceType veld in op de parserspecifieke waarde die is opgegeven in de parserdocumentatie.
  • Stel het Source veld in op de id van de bron die in de gebeurtenissen wordt gebruikt. Mogelijk moet u een query uitvoeren op de oorspronkelijke tabel, zoals Syslog, om de juiste waarde te bepalen.

Als de Sources_by_SourceType volglijst niet op uw systeem is geïmplementeerd, implementeert u de volglijst in uw Microsoft Sentinel-werkruimte vanuit de GitHub-opslagplaats van Microsoft Sentinel.

Volgende stappen

In dit artikel wordt het beheren van de ASIM-parsers (Advanced Security Information Model) besproken.

Meer informatie over ASIM-parsers:

Meer informatie over de ASIM in het algemeen: