Verwalten der Parser für das erweiterte Sicherheitsinformationsmodell (Advanced Security Information Model, ASIM) (Öffentliche Vorschau)

Benutzer des erweiterten Sicherheitsinformationsmodells (Advanced Security Information Model, ASIM) verwenden in ihren Abfragen vereinheitlichende Parser anstelle von Tabellennamen, um Daten in einem normalisierten Format anzuzeigen und mit einer einzelnen Abfrage alle für das Schema relevanten Daten abzurufen. Von jedem vereinheitlichenden Parser werden mehrere quellenspezifische Parser zur Verarbeitung der spezifischen Details der jeweiligen Quelle verwendet.

Informationen zu Parsern in der ASIM-Architektur finden Sie im ASIM-Architekturdiagramm.

Die quellenspezifischen Parser, die von den einzelnen vereinheitlichenden Parsern verwendet werden, müssen ggf. verwaltet werden, wenn Sie eine der folgenden Aktionen ausführen möchten:

  • Hinzufügen eines benutzerdefinierten quellenspezifischen Parsers zu einem vereinheitlichenden Parser

  • Ersetzen eines integrierten quellenspezifischen Parsers, der von einem vereinheitlichenden Parser verwendet wird, durch einen benutzerdefinierten, quellenspezifischen Parser. Integrierte Parser können ersetzt werden, um Folgendes zu erreichen:

    • Verwenden einer Version des integrierten Parsers, die nicht der Version entspricht, die standardmäßig im vereinheitlichenden Parser verwendet wird

    • Verhindern automatisierter Updates durch Beibehalten der Version des quellenspezifischen Parsers, der vom vereinheitlichenden Parser verwendet wird

    • Verwenden einer modifizierten Version eines integrierten Parsers

  • Konfigurieren Sie einen quellspezifischen Parser, um beispielsweise die Quellen zu definieren, die relevante Informationen an den Parser senden.

In diesem Artikel erfahren Sie, wie Sie Ihre Parser verwalten. Die Informationen in diesem Artikel gelten sowohl für integrierte vereinheitlichende ASIM-Parser als auch für im Arbeitsbereich bereitgestellte vereinheitlichende Parser.

Wichtig

ASIM befindet sich derzeit in der Vorschauphase. In den zusätzlichen Nutzungsbestimmungen für Microsoft Azure-Vorschauen finden Sie weitere rechtliche Bedingungen, die für Azure-Features gelten, die sich in der Beta- oder Vorschauversion befinden oder anderweitig noch nicht zur allgemeinen Verfügbarkeit freigegeben sind.

Voraussetzungen

Bei den Verfahren in diesem Artikel wird davon ausgegangen, dass alle quellenspezifischen Parser bereits in Ihrem Microsoft Sentinel-Arbeitsbereich bereitgestellt wurden.

Weitere Informationen finden Sie im Artikel „Entwicklung von Parsern gemäß des erweiterten SIEM-Informationsmodells (Advanced SIEM Information Model, ASIM) (öffentliche Vorschau)“ unter Bereitstellen von Parsern.

Verwalten integrierter vereinheitlichender Parser

Einrichten des Arbeitsbereichs

Integrierte vereinheitlichende Parser können von Microsoft Sentinel-Benutzern nicht bearbeitet werden. Verwenden Sie stattdessen die folgenden Mechanismen, um das Verhalten integrierter vereinheitlichender Parser zu ändern:

  • Um das Hinzufügen quellenspezifischer Parser zu unterstützen, werden von ASIM vereinheitlichende benutzerdefinierte Parser verwendet. Diese benutzerdefinierten Parser werden im Arbeitsbereich bereitgestellt und können daher bearbeitet werden. Integrierte vereinheitlichende Parser nutzen diese benutzerdefinierten Parser automatisch (sofern vorhanden).

    Sie können in Ihrem Microsoft Sentinel-Arbeitsbereich zunächst leere vereinheitlichende benutzerdefinierte Parser für alle unterstützten Schemas (oder einzeln für bestimmte Schemas) bereitstellen. Weitere Informationen finden Sie im GitHub-Repository für Microsoft Sentinel unter Anfängliches Bereitstellen leerer benutzerdefinierter vereinheitlichender ASIM-Parser.

  • Um das Ausschließen integrierter quellenspezifischer Parser zu unterstützen, wird von ASIM eine Beobachtungsliste verwendet. Stellen Sie die Beobachtungsliste aus dem GitHub-Repository für Microsoft Sentinel in Ihrem Microsoft Sentinel-Arbeitsbereich bereit.

  • Zum Definieren des Quelltyps für integrierte und benutzerdefinierte Parser verwendet ASIM eine Watchlist. Stellen Sie die Beobachtungsliste aus dem GitHub-Repository für Microsoft Sentinel in Ihrem Microsoft Sentinel-Arbeitsbereich bereit.

Hinzufügen eines benutzerdefinierten Parsers zu einem integrierten vereinheitlichenden Parser

Wenn Sie einen benutzerdefinierten Parser hinzufügen möchten, fügen Sie eine Zeile in den benutzerdefinierten vereinheitlichenden Parser ein, um auf den neuen benutzerdefinierten Parser zu verweisen.

Fügen Sie sowohl einen benutzerdefinierten Filterparser als auch einen parameterlosen benutzerdefinierten Parser hinzu. Weitere Informationen zum Bearbeiten von Parsern finden Sie im Dokument „Funktionen in Azure Monitor-Protokollabfragen“ unter Bearbeiten einer Funktion.

Die Syntax der hinzuzufügenden Zeile variiert je nach Schema:

Schema Parser Hinzuzufügende Zeile
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)

Wenn Sie einem vereinheitlichenden benutzerdefinierten Parser, der bereits auf Parser verweist, einen weiteren Parser hinzufügen, muss am Ende der vorherigen Zeile ein Komma hinzugefügt werden.

Der folgende Code zeigt beispielsweise einen benutzerdefinierten vereinheitlichenden Parser nach dem Hinzufügen von 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)

Verwenden einer modifizierten Version eines integrierten Parsers

So ändern Sie einen bereits vorhandenen integrierten quellenspezifischen Parser

  1. Erstellen Sie einen benutzerdefinierten Parser auf der Grundlage des ursprünglichen Parsers, und fügen Sie ihn dem integrierten Parser hinzu.

  2. Fügen Sie der Beobachtungsliste ASim Disabled Parsers einen Eintrag hinzu.

  3. Definieren Sie den CallerContext-Wert als Exclude<parser name>, wobei <parser name> der Name der vereinheitlichenden Parser ist, aus denen der Parser ausgeschlossen werden soll.

  4. Definieren Sie den SourceSpecificParser-Wert als Exclude<parser name>, wobei <parser name> der Name des auszuschließenden Parsers ist (ohne Versionsangabe).

Wenn Sie also beispielsweise den DNS-Parser von Azure Firewall ausschließen möchten, muss der Watchlist folgender Eintrag hinzugefügt werden:

CallerContext SourceSpecificParser
Exclude_Im_Dns Exclude_Im_Dns_AzureFirewall

Verhindern der automatisierten Aktualisierung eines integrierten Parsers

Verwenden Sie den folgenden Prozess, um automatische Updates für integrierte quellenspezifische Parser zu verhindern:

  1. Fügen Sie dem benutzerdefinierten vereinheitlichenden Parser die Version des integrierten Parsers hinzu, die Sie verwenden möchten (beispielsweise _Im_Dns_AzureFirewallV02). Weitere Informationen finden Sie weiter oben unter Hinzufügen eines benutzerdefinierten Parsers zu einem integrierten vereinheitlichenden Parser.

  2. Fügen Sie eine Ausnahme für den integrierten Parser hinzu. Wenn Sie also beispielsweise automatische Updates vollständig deaktivieren und somit eine große Anzahl integrierter Parser ausschließen möchten, fügen Sie Folgendes hinzu:

  • Einen Eintrag mit Any für das Feld SourceSpecificParser, um alle Parser für den Aufruferkontext (CallerContext) auszuschließen
  • Einen Eintrag für Any in den Feldern für Aufruferkontext (CallerContext) und quellenspezifischen Parser (SourceSpecificParser), um alle integrierten Parser auszuschließen

Weitere Informationen finden Sie unter Verwenden einer modifizierten Version eines integrierten Parsers.

Verwalten von im Arbeitsbereich bereitgestellten vereinheitlichenden Parsern

Hinzufügen eines benutzerdefinierten Parsers zu einem im Arbeitsbereich bereitgestellten vereinheitlichenden Parser

Wenn Sie einen benutzerdefinierten Parser hinzufügen möchten, fügen Sie der union-Anweisung in dem im Arbeitsbereich bereitgestellten vereinheitlichenden Parser eine Zeile hinzu, die auf den neuen benutzerdefinierten Parser verweist.

Fügen Sie sowohl einen benutzerdefinierten Filterparser als auch einen parameterlosen benutzerdefinierten Parser hinzu. Die Syntax der hinzuzufügenden Zeile variiert je nach Schema:

Schema Parser Hinzuzufügende Zeile
Authentifizierung 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)
Dateiereignis imFileEvent _parser_name_
Netzwerksitzung 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)
Prozessereignis - imProcess
- imProcessCreate
- imProcessTerminate
_parser_name_
Registrierungsereignis imRegistry

_parser_name_
Websitzung imWebSession

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

Wenn Sie einem vereinheitlichenden Parser einen weiteren Parser hinzufügen, muss am Ende der vorherigen Zeile ein Komma hinzugefügt werden.

Das folgende Beispiel zeigt den vereinheitlichenden DNS-Filterparser nach dem Hinzufügen des benutzerdefinierten zusätzlichen Parsers (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)

Verwenden einer modifizierten Version eines im Arbeitsbereich bereitgestellten Parsers

Im Arbeitsbereich bereitgestellte Parser können von Microsoft Sentinel-Benutzern direkt geändert werden. Erstellen Sie einen Parser auf der Grundlage des ursprünglichen Parsers, kommentieren Sie den ursprünglichen Parser aus, und fügen Sie dann Ihre modifizierte Version dem im Arbeitsbereich bereitgestellten vereinheitlichenden Parser hinzu.

Der folgende Code zeigt beispielsweise einen vereinheitlichenden DNS-Filterparser, nachdem der Parser vimDnsAzureFirewall durch eine modifizierte Version ersetzt wurde:

  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)

Konfigurieren der für einen quellspezifischen Parser relevanten Quellen

Für einige Parser müssen Sie die Liste der Quellen aktualisieren, die für den Parser relevant sind. Beispielsweise kann ein Parser, der Syslog-Daten verwendet, möglicherweise nicht ermitteln, welche Syslog-Ereignisse für den Parser relevant sind. Ein solcher Parser kann die Sources_by_SourceType-Watchlist verwenden, um zu ermitteln, welche Quellen Informationen senden, die für den Parser relevant sind. Fügen Sie für solche Parser der Watchlist einen Datensatz für jede relevante Quelle hinzu:

  • Legen Sie das SourceType-Feld auf den parserspezifischen Wert fest, der in der Parserdokumentation angegeben ist.
  • Legen Sie das Source-Feld auf den Bezeichner der Quelle fest, die in den Ereignissen verwendet wird. Möglicherweise müssen Sie die ursprüngliche Tabelle abfragen, z. B. Syslog, um den richtigen Wert zu ermitteln.

Wenn für Ihr System die Watchlist Sources_by_SourceType nicht bereitgestellt ist, stellen Sie die Watchlist aus dem Microsoft Sentinel-GitHub-Repository in Ihrem Microsoft Sentinel-Arbeitsbereich bereit.

Nächste Schritte

Dieser Artikel enthält Informationen zum Verwalten der ASIM-Parser (Advanced Security Information Model, erweitertes Sicherheitsinformationsmodell).

Weitere Informationen zu ASIM-Parsern finden Sie hier:

Weitere Informationen zur ASIM im Allgemeinen finden Sie hier: