Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les analyseurs ASIM (Advanced Security Information Model) déployés dans l’espace de travail sont utilisés pour prendre en charge le développement et la modification des analyseurs ASIM.
Déployer des analyseurs d’espace de travail
ASIM prend également en charge le déploiement d’analyseurs dans des espaces de travail spécifiques à partir de GitHub, à l’aide d’un modèle ARM. Les analyseurs déployés par l’espace de travail sont utilisés pour le développement et la gestion de l’analyseur ASIM. Les analyseurs déployés par l’espace de travail sont fonctionnellement équivalents, mais ont des conventions d’affectation de noms légèrement différentes, ce qui permet aux deux jeux d’analyseurs de coexister avec des analyseurs intégrés dans le même Microsoft Sentinel’espace de travail.
Il est recommandé d’utiliser des analyseurs intégrés lors du développement de contenu ASIM. Les analyseurs déployés par l’espace de travail sont généralement utilisés pendant le processus de développement de l’analyseur ou pour fournir des versions modifiées des analyseurs intégrés, comme décrit dans Gestion des analyseurs
Utiliser des analyseurs d’espace de travail
Lorsque vous utilisez des analyseurs d’espace de travail dans vos requêtes, le nom de l’analyseur d’unification est im<schema>, où <schema> signifie le schéma spécifique qu’il sert.
Le tableau suivant répertorie les analyseurs d’unification disponibles :
| Schéma | Analyseur d’unification |
|---|---|
| Événement d’alerte | imAlertEvent |
| Événement d’audit | imAuditEvent |
| Authentification | imAuthentication |
| Événement DHCP | imDhcpEvent |
| Dns | imDns |
| Événement de fichier | imFileEvent |
| Session réseau | imNetworkSession |
| Événement de processus | imProcessCreate imProcessTerminate |
| Événement de registre | imRegistry |
| User Management | imUserManagement |
| Web Session | imWebSession |
Gérer les analyseurs d’unification déployés par l’espace de travail
Ajouter un analyseur personnalisé à un analyseur d’unification déployé dans un espace de travail
Pour ajouter un analyseur personnalisé, insérez une ligne à l’instruction dans l’analyseur union d’unification déployé dans l’espace de travail qui fait référence au nouvel analyseur personnalisé.
Veillez à ajouter un analyseur personnalisé de filtrage et un analyseur personnalisé sans paramètre. La syntaxe de la ligne à ajouter est différente pour chaque schéma :
| Schéma | Analyseur | Ligne à ajouter |
|---|---|---|
| Événement d’alerte | 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) |
| AuditEvent | imAuditEvent |
_parser_name_ (starttime, endtime, srcipaddr_has_any_prefix, eventtype_in, eventresult, actorusername_has_any, operation_has_any, object_has_any, newvalue_has_any) |
| Authentification | 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) |
| UserManagement | 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) |
Lorsque vous ajoutez un analyseur supplémentaire à un analyseur d’unification, veillez à ajouter une virgule à la fin de la ligne précédente.
Par exemple, l’exemple suivant montre l’analyseur d’unification de filtrage DNS, après avoir ajouté le personnalisé 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)
Utiliser une version modifiée d’un analyseur déployé dans un espace de travail
Microsoft Sentinel utilisateurs peuvent modifier directement les analyseurs déployés dans l’espace de travail. Créez un analyseur basé sur l’original, commentez l’original, puis ajoutez votre version modifiée à l’analyseur d’unification déployé dans l’espace de travail.
Par exemple, le code suivant montre un analyseur d’unification de filtrage DNS, après avoir remplacé l’analyseur vimDnsAzureFirewall par une version modifiée :
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)
Contenu connexe
Pour plus d’informations, reportez-vous aux rubriques suivantes :