Informations de référence sur le schéma d’alerte ASIM (Advanced Security Information Model)
Le schéma d’alerte Microsoft Sentinel est conçu pour normaliser les alertes liées à la sécurité à partir de différents produits dans un format standardisé au sein du modèle DSIM (Advanced Security Information Model). Ce schéma se concentre exclusivement sur les événements de sécurité, ce qui garantit une analyse cohérente et efficace sur différentes sources de données.
Le schéma d’alerte représente différents types d’alertes de sécurité, comme les menaces, les activités suspectes, les anomalies de comportement utilisateur et les violations de conformité. Ces alertes sont signalées par différents produits et systèmes de sécurité, notamment les EDR, les logiciels antivirus, les systèmes de détection des intrusions, les outils de protection contre la perte de données, etc.
Pour plus d’informations sur la normalisation dans Microsoft Sentinel, consultez Normalisation et modèle ASIM (Advanced Security Information Model).
Important
Le schéma de normalisation des alertes est actuellement en préversion. Cette fonctionnalité est fournie sans contrat de niveau de service. Nous ne la recommandons pas pour les charges de travail de production.
Les Conditions d’utilisation supplémentaires des préversions Microsoft Azure incluent des conditions légales supplémentaires qui s’appliquent aux fonctionnalités Azure en version bêta, en préversion ou pas encore disponibles dans la version en disponibilité générale.
Analyseurs
Pour plus d’informations sur les analyseurs ASIM, consultez Vue d’ensemble des analyseurs ASIM.
Unifier les analyseurs
Pour utiliser des analyseurs qui unifient tous les analyseurs ASIM prêtes à l’emploi et vérifiez que votre analyse s’exécute sur toutes les sources configurées, utilisez l’analyseur _Im_AlertEvent
de filtrage ou l’analyseur _ASim_AlertEvent
sans paramètre. Vous pouvez également utiliser les analyseurs imAlertEvent
et ASimAlertEvent
déployés par l’espace de travail en les déployant à partir du référentiel GitHub Microsoft Sentinel.
Pour plus d’informations, consultez Analyseurs ASIM intégrés et analyseurs déployés par l’espace de travail.
Analyseurs spécifiques à la source, prêtes à l’emploi
Pour obtenir la liste des analyseurs d’alerte que Microsoft Sentinel fournit prête à l’emploi, reportez-vous à la liste des analyseurs ASIM.
Ajouter vos propres analyseurs normalisés
Lors du développement d’analyseurs personnalisés pour le modèle d’informations d’alerte, nommez vos fonctions KQL à l’aide de la syntaxe suivante :
-
vimAlertEvent<vendor><Product>
pour les analyseurs paramétrés -
ASimAlertEvent<vendor><Product>
pour les analyseurs standard
Reportez-vous à l’article Gestion des analyseurs ASIM pour apprendre à ajouter vos analyseurs personnalisés à l’alerte unifiant les analyseurs.
Filtrage des paramètres de l’analyseur
Les analyseurs d’alerte prennent en charge différents paramètres de filtrage pour améliorer les performances des requêtes. Ces paramètres sont facultatifs, mais peuvent améliorer les performances de votre requête. Les paramètres de filtrage suivants sont disponibles :
Nom | Type | Description |
---|---|---|
starttime | DATETIME | Filtrez uniquement les alertes qui ont démarré ou après cette période. |
endtime | DATETIME | Filtrez uniquement les alertes qui ont démarré à ou avant cette heure. |
ipaddr_has_any_prefix | dynamic | Filtrez uniquement les alertes pour lesquelles le champ « DvcIpAddr » se trouve dans l’une des valeurs répertoriées. |
hostname_has_any | dynamic | Filtrez uniquement les alertes pour lesquelles le champ « DvcHostname » se trouve dans l’une des valeurs répertoriées. |
username_has_any | dynamic | Filtrez uniquement les alertes pour lesquelles le champ « Nom d’utilisateur » se trouve dans l’une des valeurs répertoriées. |
attacktactics_has_any | dynamic | Filtrez uniquement les alertes pour lesquelles le champ « AttackTactics » se trouve dans l’une des valeurs répertoriées. |
attacktechniques_has_any | dynamic | Filtrez uniquement les alertes pour lesquelles le champ « AttackTechniques » se trouve dans l’une des valeurs répertoriées. |
threatcategory_has_any | dynamic | Filtrez uniquement les alertes pour lesquelles le champ « ThreatCategory » se trouve dans l’une des valeurs répertoriées. |
alertverdict_has_any | dynamic | Filtrez uniquement les alertes pour lesquelles le champ « AlertVerdict » se trouve dans l’une des valeurs répertoriées. |
eventseverity_has_any | dynamic | Filtrez uniquement les alertes pour lesquelles le champ « EventSeverity » se trouve dans l’une des valeurs répertoriées. |
Vue d’ensemble du schéma
Le schéma d’alerte sert plusieurs types d’événements de sécurité, qui partagent les mêmes champs. Ces événements sont identifiés par le champ EventType :
- Informations sur les menaces : alertes liées à différents types d’activités malveillantes telles que les programmes malveillants, le hameçonnage, les ransomwares et d’autres cybermenaces.
- Activités suspectes : alertes pour les activités qui ne sont pas nécessairement confirmées, mais qui sont suspectes et justifient une enquête supplémentaire, comme plusieurs tentatives de connexion ayant échoué ou l’accès aux fichiers restreints.
- Anomalies de comportement de l’utilisateur : alertes indiquant un comportement utilisateur inhabituel ou inattendu qui peut suggérer un problème de sécurité, tel que des heures de connexion anormales ou des modèles d’accès aux données inhabituels.
- Violations de conformité : alertes liées à la non-conformité avec les stratégies réglementaires ou internes. Par exemple, une machine virtuelle exposée avec des ports publics ouverts vulnérables aux attaques (alerte de sécurité cloud).
Important
Pour préserver la pertinence et l’efficacité du schéma d’alerte, seules les alertes liées à la sécurité doivent être mappées.
Le schéma d’alerte fait référence aux entités suivantes pour capturer des détails sur l’alerte :
-
Les champs Dvc sont utilisés pour capturer des détails sur l’hôte ou l’adresse IP associée à l’alerte
-
Les champs utilisateur sont utilisés pour capturer des détails sur l’utilisateur associé à l’alerte.
- De même , les champs Processus, Fichier, Url, Registre et e-mail sont utilisés pour capturer uniquement les détails clés du processus, du fichier, de l’URL, du Registre et de l’e-mail associés à l’alerte respectivement.
Important
- Lors de la création d’un analyseur spécifique au produit, utilisez le schéma d’alerte ASIM lorsque l’alerte contient des informations sur un incident de sécurité ou une menace potentielle, et les détails principaux peuvent être mappés directement aux champs de schéma d’alerte disponibles. Le schéma d’alerte est idéal pour capturer des informations récapitulatives sans champs spécifiques à l’entité.
- Toutefois, si vous trouvez vous-même placer des champs essentiels dans « AdditionalFields » en raison d’un manque de correspondances directes de champs, envisagez un schéma plus spécialisé. Par exemple, si une alerte inclut des détails liés au réseau, tels que plusieurs adresses IP, par exemple SrcIpAdr, DstIpAddr, PortNumber, etc. vous pouvez choisir le schéma NetworkSession sur le schéma d’alerte. Les schémas spécialisés fournissent également des champs dédiés pour capturer des informations liées aux menaces, améliorer la qualité des données et faciliter l’analyse efficace.
Détails du schéma
Champs ASIM courants
La liste suivante mentionne les champs qui ont des instructions spécifiques pour les événements d’alerte :
Champ | Classe | Type | Description |
---|---|---|---|
EventType | Obligatoire | Énuméré | Type de l’événement. Les valeurs prises en charge sont les suivantes : - Alert |
EventSubType | Recommandé | Énuméré | Spécifie le sous-type ou la catégorie de l’événement d’alerte, fournissant des détails plus précis dans la classification d’événements plus large. Ce champ permet de distinguer la nature du problème détecté, d’améliorer la hiérarchisation des incidents et les stratégies de réponse. Les valeurs prises en charge sont : - Threat (Représente une activité confirmée ou hautement malveillante susceptible de compromettre le système ou le réseau)- Suspicious Activity (Signale le comportement ou les événements qui apparaissent inhabituels ou suspects, mais qui ne sont pas encore confirmés comme malveillants)- Anomaly (Identifie les écarts des modèles normaux susceptibles d’indiquer un risque de sécurité ou un problème opérationnel potentiel)- Compliance Violation (Met en évidence les activités qui respectent les normes réglementaires, de stratégie ou de conformité) |
EventUid | Obligatoire | string | Chaîne alphanumérique lisible par l’ordinateur qui identifie de manière unique une alerte au sein d’un système. Exemple : A1bC2dE3fH4iJ5kL6mN7oP8qR9s |
EventMessage | Facultatif | string | Informations détaillées sur l’alerte, notamment son contexte, sa cause et son impact potentiel. Exemple : Potential use of the Rubeus tool for kerberoasting, a technique used to extract service account credentials from Kerberos tickets. |
IpAddr | Alias | Alias ou nom convivial pour DvcIpAddr le champ. |
|
Hostname | Alias | Alias ou nom convivial pour DvcHostname le champ. |
|
EventSchema | Obligatoire | string | Schéma utilisé pour l’événement. Le schéma documenté ici est AlertEvent . |
EventSchemaVersion | Obligatoire | string | Version du schéma. La version du schéma documenté ici est 0.1 . |
Tous les champs communs
Les champs qui apparaissent dans le tableau ci-dessous sont communs à tous les schémas ASIM. Toute instruction spécifiée ci-dessus remplace les instructions générales pour le champ. Par exemple, un champ peut être facultatif en général, mais obligatoire pour un schéma spécifique. Pour plus d’informations sur chaque champ, reportez-vous à l’article Champs communs ASIM.
Classe | Champs |
---|---|
Obligatoire |
-
EventCount - EventStartTime - EventEndTime - EventType - EventUid - EventProduct - EventVendor - EventSchema - EventSchemaVersion |
Recommandé |
-
EventSubType - EventSeverity - DvcIpAddr - DvcHostname - DvcDomain - DvcDomainType - DvcFQDN - DvcId - DvcIdType |
Facultatif |
-
EventMessage - EventOriginalType - EventOriginalSubType - EventOriginalSeverity - EventProductVersion - EventOriginalUid - EventReportUrl - EventResult - EventOwner - DvcZone - DvcMacAddr - DvcOs - DvcOsVersion - DvcAction - DvcOriginalAction - DvcInterface - AdditionalFields - DvcDescription - DvcScopeId - DvcScope |
Champs d’inspection
Le tableau suivant couvre les champs qui fournissent des insights critiques sur les règles et les menaces associées aux alertes. Ensemble, ils aident à enrichir le contexte de l’alerte, ce qui facilite la compréhension de son origine et de sa signification par les analystes de sécurité.
Champ | Classe | Type | Description |
---|---|---|---|
AlertId | Alias | string | Alias ou nom convivial pour EventUid le champ. |
AlertName | Recommandé | string | Titre ou nom de l’alerte. Exemple : Possible use of the Rubeus kerberoasting tool |
AlertDescription | Alias | string | Alias ou nom convivial pour EventMessage le champ. |
AlertVerdict | Facultatif | Énuméré | Détermination ou résultat final de l’alerte, indiquant si l’alerte a été confirmée comme une menace, considérée suspecte ou résolue comme un faux positif. Les valeurs prises en charge sont les suivantes : - True Positive (Confirmé comme une menace légitime)- False Positive (Identifié de manière incorrecte comme une menace)- Benign Positive (lorsque l’événement est déterminé comme inoffensif)- Unknown (État incertain ou indéterminé) |
AlertStatus | Facultatif | Énuméré | Indique l’état actuel ou la progression de l’alerte. Les valeurs prises en charge sont les suivantes : - Active - Closed |
AlertOriginalStatus | Facultatif | string | État de l’alerte tel qu’il est signalé par le système d’origine. |
DetectionMethod | Facultatif | Énuméré | Fournit des informations détaillées sur la méthode de détection, la technologie ou la source de données spécifiques qui ont contribué à la génération de l’alerte. Ce champ offre plus d’informations sur la façon dont l’alerte a été détectée ou déclenchée, ce qui vous aide à comprendre le contexte de détection et la fiabilité. Les valeurs prises en charge sont : - EDR : systèmes de détection et de réponse de point de terminaison qui surveillent et analysent les activités de point de terminaison pour identifier les menaces.- Behavioral Analytics : techniques qui détectent des modèles anormaux dans le comportement de l’utilisateur, de l’appareil ou du système.- Reputation : détection des menaces basée sur la réputation des adresses IP, des domaines ou des fichiers.- Threat Intelligence : les flux de renseignement externe ou interne fournissent des données sur les menaces connues ou les tactiques adversaires.- Intrusion Detection : systèmes qui surveillent le trafic réseau ou les activités pour détecter des intrusions ou des attaques.- Automated Investigation : systèmes automatisés qui analysent et examinent les alertes, réduisant ainsi la charge de travail manuelle.- Antivirus : moteurs antivirus traditionnels qui détectent des programmes malveillants basés sur des signatures et des heuristiques.- Data Loss Prevention : Solutions axées sur la prévention des transferts ou fuites de données non autorisés.- User Defined Blocked List : listes personnalisées définies par les utilisateurs pour bloquer des adresses IP, des domaines ou des fichiers spécifiques.- Cloud Security Posture Management : outils qui évaluent et gèrent les risques de sécurité dans les environnements cloud.- Cloud Application Security : solutions qui sécurisent les applications et données cloud.- Scheduled Alerts : alertes générées en fonction de planifications ou de seuils prédéfinis.- Other : toute autre méthode de détection non couverte par les catégories ci-dessus. |
Règle | Alias | string | Valeur de RuleName ou valeur de RuleNumber. Si la valeur de RuleNumber est utilisée, le type doit être converti en chaîne. |
RuleNumber | Facultatif | int | Numéro de la règle associée à l’alerte. Exemple : 123456 |
RuleName | Facultatif | string | Nom ou ID de la règle associée à l’alerte. Exemple : Server PSEXEC Execution via Remote Access |
RuleDescription | Facultatif | string | Description de la règle associée à l’alerte. Exemple : This rule detects remote execution on a server using PSEXEC, which may indicate unauthorized administrative activity or lateral movement within the network |
ThreatId | Facultatif | string | ID de la menace ou des programmes malveillants identifiés dans l’alerte. Exemple : 1234567891011121314 |
ThreatName | Facultatif | string | Nom de la menace ou des programmes malveillants identifiés dans l’alerte. Exemple : Init.exe |
ThreatFirstReportedTime | Facultatif | DATETIME | Date et heure à laquelle la menace a été signalée pour la première fois. Exemple : 2024-09-19T10:12:10.0000000Z |
ThreatLastReportedTime | Facultatif | DATETIME | Date et heure à laquelle la menace a été signalée pour la dernière fois. Exemple : 2024-09-19T10:12:10.0000000Z |
ThreatCategory | Recommandé | Énuméré | Catégorie des menaces ou programmes malveillants identifiés dans l’alerte. Les valeurs prises en charge sont les suivantes : Malware , , , Cryptominor Virus Spam MaliciousUrl Spoofing Trojan Adware Security Policy Violation Worm Spyware Rootkit Phishing Ransomware Unknown |
ThreatOriginalCategory | Facultatif | string | Catégorie de la menace signalée par le système d’origine. |
ThreatIsActive | Facultatif | bool | Indique si la menace est actuellement active. Les valeurs prises en charge sont les suivantes : True , False |
ThreatRiskLevel | Facultatif | int | Niveau de risque associé à la menace. Le niveau doit être un nombre compris entre 0 et 100. Remarque : la valeur peut être fournie dans l’enregistrement source en utilisant une échelle différente, qui doit être normalisée à cette échelle. La valeur d’origine doit être stockée dans le champ ThreatRiskLevelOriginal. |
ThreatOriginalRiskLevel | Facultatif | string | Niveau de risque indiqué par le système d’origine. |
ThreatConfidence | Facultatif | int | Niveau de confiance de la menace identifiée, normalisé à une valeur comprise entre 0 et 100. |
ThreatOriginalConfidence | Facultatif | string | Niveau de confiance tel qu’indiqué par le système d’origine. |
IndicatorType | Recommandé | Énuméré | Type ou catégorie de l’indicateur Les valeurs prises en charge sont les suivantes : - Ip - User - Process - Registry - Url - Host - Cloud Resource - Application - File - Email - Mailbox - Logon Session |
IndicateurAssociation | Facultatif | Énuméré | Spécifie si l’indicateur est lié ou directement affecté par la menace. Les valeurs prises en charge sont les suivantes : - Associated - Targeted |
AttackTactics | Recommandé | string | Tactiques d’attaque (nom, ID ou les deux) associées à l’alerte. Format préféré : par exemple : Persistence, Privilege Escalation |
AttackTechniques | Recommandé | string | Techniques d’attaque (nom, ID ou les deux) associées à l’alerte. Format préféré : par exemple : Local Groups (T1069.001), Domain Groups (T1069.002) |
AttackRemediationSteps | Recommandé | string | Actions ou étapes recommandées pour atténuer ou corriger l’attaque ou la menace identifiée. Par exemple : 1. Make sure the machine is completely updated and all your software has the latest patch. 2. Contact your incident response team. |
Champs utilisateurs
Cette section définit les champs liés à l’identification et à la classification des utilisateurs associés à une alerte, ce qui donne de la clarté sur l’utilisateur concerné et le format de son identité. Si l’alerte contient d’autres champs liés à l’utilisateur qui dépassent ce qui est mappé ici, vous pouvez déterminer si un schéma spécialisé, tel que le schéma d’événement d’authentification, peut être plus approprié pour représenter entièrement les données.
Champ | Classe | Type | Description |
---|---|---|---|
UserId | Facultatif | string | Représentation unique, alphanumérique et lisible par l’ordinateur de l’utilisateur associé à l’alerte. Exemple : A1bC2dE3fH4iJ5kL6mN7o |
UserIdType | Logique conditionnelle | Énuméré | Type de l’ID utilisateur, tel que GUID , SID ou Email .Les valeurs prises en charge sont les suivantes : - GUID - SID - Email - Username - Phone - Other |
Nom d’utilisateur | Recommandé | string | Nom de l’utilisateur associé à l’alerte, y compris les informations de domaine lorsqu’il est disponible. par exemple Contoso\JSmith , ou john.smith@contoso.com |
Utilisateur | Alias | string | Alias ou nom convivial pour Username le champ. |
UsernameType | Logique conditionnelle | UsernameType | Spécifie le type du nom d’utilisateur stocké dans le Username champ. Pour plus d’informations et pour obtenir la liste des valeurs autorisées, consultez UsernameType dans l'article Vue d’ensemble du schéma.Exemple : Windows |
UserType | Facultatif | UserType | Type de l’intervenant. Pour plus d’informations et pour obtenir la liste des valeurs autorisées, consultez UserIdType dans l'article Vue d’ensemble du schéma. Exemple : Guest |
OriginalUserType | Facultatif | string | Type d’utilisateur signalé par le dispositif de reporting. |
UserSessionId | Facultatif | string | ID unique de la session de l’utilisateur associée à l’alerte. Exemple : a1bc2de3-fh4i-j5kl-6mn7-op8qr9st0u |
UserScopeId | Facultatif | string | ID d’étendue, tel que l’ID d’annuaire Microsoft Entra, dans lequel UserId et Username sont définis. Exemple : a1bc2de3-fh4i-j5kl-6mn7-op8qrs |
UserScope | Facultatif | string | Étendue, telle que le locataire Microsoft Entra, dans laquelle UserId et Username sont définis. Pour plus d’informations et pour obtenir la liste des valeurs autorisées, consultez UserScope dans l’article Vue d’ensemble du schéma. Exemple : Contoso Directory |
Champs de processus
Cette section vous permet de capturer les détails liés à une entité de processus impliquée dans une alerte à l’aide des champs spécifiés. Si l’alerte contient des champs supplémentaires et détaillés liés au processus qui dépassent ce qui est mappé ici, vous pouvez déterminer si un schéma spécialisé, tel que le schéma d’événement de processus, peut être plus approprié pour représenter entièrement les données.
Champ | Classe | Type | Description |
---|---|---|---|
ProcessId | Facultatif | string | ID de processus (PID) associé à l’alerte. Exemple : 12345678 |
ProcessCommandLine | Facultatif | string | Ligne de commande utilisée pour démarrer le processus. Exemple : "choco.exe" -v |
ProcessName | Facultatif | string | Nom du processus. Exemple : C:\Windows\explorer.exe |
ProcessFileCompany | Facultatif | string | Société qui a créé le fichier image de processus. Exemple : Microsoft |
Champs de fichier
Cette section vous permet de capturer les détails liés à une entité de fichier impliquée dans une alerte. Si l’alerte contient des champs supplémentaires et détaillés liés aux fichiers qui dépassent ce qui est mappé ici, vous pouvez déterminer si un schéma spécialisé, tel que le schéma d’événement de fichier, peut être plus approprié pour représenter entièrement les données.
Champ | Classe | Type | Description |
---|---|---|---|
FileName | Facultatif | string | Nom du fichier associé à l’alerte, sans chemin d’accès ni emplacement. Exemple : Notepad.exe |
FilePath | Facultatif | string | il est complet, normalisé du fichier cible, y compris le dossier ou l’emplacement, le nom du fichier et l’extension. Exemple : C:\Windows\System32\notepad.exe |
FileSHA1 | Facultatif | string | Hachage SHA1 du fichier. Exemple : j5kl6mn7op8qr9st0uv1 |
FileSHA256 | Facultatif | string | Hachage SHA256 du fichier. Exemple : a1bc2de3fh4ij5kl6mn7op8qrs2de3 |
FileMD5 | Facultatif | string | Hachage MD5 du fichier. Exemple : j5kl6mn7op8qr9st0uv1wx2yz3ab4c |
FileSize | Facultatif | long | Taille du fichier en octets. Exemple : 123456 |
Champ d’URL
Si votre alerte inclut des informations sur l’entité URL, les champs suivants peuvent capturer des données liées à l’URL.
Champ | Classe | Type | Description |
---|---|---|---|
Url | Facultatif | string | Chaîne d’URL capturée dans l’alerte. Exemple : https://contoso.com/fo/?k=v&q=u#f |
Champs du Registre
Si votre alerte inclut des détails sur l’entité de Registre, utilisez les champs suivants pour capturer des informations spécifiques relatives au Registre.
Champ | Classe | Type | Description |
---|---|---|---|
RegistryKey | Facultatif | string | Clé de Registre associée à l’alerte, normalisée aux conventions d’affectation de noms de clé racine standard. Exemple : HKEY_LOCAL_MACHINE\SOFTWARE\MTG |
RegistryValue | Facultatif | string | Valeur du Registre. Exemple : ImagePath |
RegistryValueData | Facultatif | string | Données de la valeur de Registre. Exemple : C:\Windows\system32;C:\Windows; |
RegistryValueType | Facultatif | Énuméré | Type de la valeur de Registre. Exemple : Reg_Expand_Sz |
Champs d’e-mail
Si votre alerte inclut des informations sur l’entité de messagerie, utilisez les champs suivants pour capturer des détails spécifiques liés à l’e-mail.
Champ | Classe | Type | Description |
---|---|---|---|
EmailMessageId | Facultatif | string | Identificateur unique du message électronique associé à l’alerte. Exemple : Request for Invoice Access |
EmailSubject | Facultatif | string | Objet de l’e-mail. Exemple : j5kl6mn7-op8q-r9st-0uv1-wx2yz3ab4c |
Mises à jour des schémas
Voici les modifications apportées aux différentes versions du schéma :
- Version 0.1 : version initiale.