Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Im Workspace bereitgestellte Parser des Advanced Security Information Model (ASIM) werden verwendet, um die Entwicklung und Änderung von ASIM-Parsern zu unterstützen.
Bereitstellen von Arbeitsbereichsparsern
ASIM unterstützt außerdem die Bereitstellung von Parsern für bestimmte Arbeitsbereiche von GitHub mithilfe einer ARM-Vorlage. Parser, die im Arbeitsbereich bereitgestellt werden, werden für die Entwicklung und Verwaltung von ASIM-Parsern verwendet. Vom Arbeitsbereich bereitgestellte Parser sind funktional gleichwertig, weisen jedoch geringfügig unterschiedliche Benennungskonventionen auf, sodass beide Parsersätze mit integrierten Parsern im selben Microsoft Sentinel-Arbeitsbereich koexistieren können.
Es wird empfohlen, integrierte Parser beim Entwickeln von ASIM-Inhalten zu verwenden. Vom Arbeitsbereich bereitgestellte Parser werden in der Regel während des Parser-Entwicklungsprozesses verwendet oder um geänderte Versionen von integrierten Parsern bereitzustellen, wie in der Verwaltung von Parsern beschrieben.
Verwenden von Arbeitsbereichsparsern
Bei der Verwendung von Arbeitsbereichsparsern in Ihren Abfragen lautet im<schema> der vereinheitlichende Parsername, wobei <schema> für das spezifische Schema steht, dem es dient.
In der folgenden Tabelle sind die verfügbaren vereinheitlichenden Parser aufgeführt:
| Schema | Vereinheitlichen des Parsers |
|---|---|
| Alert-Ereignis | imAlertEvent |
| Überwachungsereignis | imAuditEvent |
| Authentifizierung | imAuthentication |
| DHCP-Ereignis | imDhcpEvent |
| DNS | imDns |
| Dateiereignis | imFileEvent |
| Netzwerksitzung | imNetworkSession |
| Prozessereignis | imProcessCreate imProcessTerminate |
| Registrierungsereignis | imRegistry |
| Benutzerverwaltung | imUserManagement |
| Websitzung | imWebSession |
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 |
|---|---|---|
| AlertEvent | 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) |
| Audit-Ereignis | imAuditEvent |
_parser_name_ (starttime, endtime, srcipaddr_has_any_prefix, eventtype_in, eventresult, actorusername_has_any, operation_has_any, object_has_any, newvalue_has_any) |
| Authentifizierung | 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) |
| Benutzerverwaltung | 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) |
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)
Verwandte Inhalte
Weitere Informationen finden Sie unter: