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.
Un schéma du modèle ASIM (Advanced Security Information Model) est un ensemble de champs qui représentent une activité. L’utilisation des champs d’un schéma normalisé dans une requête garantit que la requête fonctionnera avec toutes les sources normalisées.
Pour comprendre le fonctionnement des schémas dans l’architecture ASIM, consultez le Diagramme d’architecture ASIM.
Les références de schéma présentent les champs qui composent chaque schéma. ASIM définit actuellement les schémas suivants :
| schéma | Version | Statut |
|---|---|---|
| Événement d'alerte | 0.1 | GA |
| Événement d’audit | 0.1.2 | GA |
| Événement d’authentification | 0.1.4 | GA |
| Activité DNS | 0.1.7 | GA |
| Activité DHCP | 0.1.1 | GA |
| Activité de fichier | 0.2.2 | GA |
| Session réseau | 0.2.7 | GA |
| Événement de processus | 0.1.4 | GA |
| Événement du Registre | 0.1.3 | GA |
| Gestion des utilisateurs | 0.1.2 | GA |
| Session web | 0.2.7 | GA |
Concepts de schéma
Les concepts suivants permettent de comprendre les documents de référence de schéma et d’étendre le schéma de manière normalisée dans le cas où vos données incluent des informations que le schéma ne couvre pas.
Dénomination de champs
Les noms de champs sont au cœur de chaque schéma. Les noms de champs appartiennent aux groupes suivants :
- Champs communs à tous les schémas.
- Champs spécifiques à un schéma.
- Champs qui représentent des entités, telles que des utilisateurs, qui participent au schéma. Les champs qui représentent des entités sont similaires dans tous les schémas.
Lorsque des sources ont des champs qui ne sont pas présentés dans le schéma documenté, ils sont normalisés pour maintenir la cohérence. Si les champs supplémentaires représentent une entité, ils sont normalisés en fonction des recommandations des champs d’entité. Dans le cas contraire, les schémas s’efforcent de maintenir la cohérence entre tous les schémas.
Par exemple, alors que les journaux d’activité du serveur DNS ne fournissent pas d’informations utilisateur, les journaux d’activité DNS d’un point de terminaison peuvent inclure des informations utilisateur, qui peuvent être normalisées conformément aux instructions de l’entité utilisateur. |
Types logiques de champ
Chaque champ de schéma a un type. L’espace de travail Log Analytics possède un ensemble limité de types de données. Pour cette raison, Microsoft Sentinel utilise un type logique pour de nombreux champs de schéma, ce que Log Analytics n’impose pas, mais qui est requis pour la compatibilité des schémas. Les types de champs logiques garantissent que les valeurs et les noms de champs sont cohérents entre les sources.
Pour plus d’informations, consultez Types logiques.
Classes de champ
Les champs peuvent avoir plusieurs classes, qui définissent quand les champs doivent être implémentés par un analyseur :
- Les champs obligatoires doivent apparaître dans chaque analyseur. Si votre source ne fournit pas d’informations pour cette valeur, ou si les données ne peuvent pas être ajoutées par ailleurs, elle ne prend pas en charge la plupart des éléments de contenu qui font référence au schéma normalisé.
- Les champs recommandés doivent être normalisés si disponibles. Toutefois, ils peuvent ne pas être disponibles dans toutes les sources. Tout élément de contenu qui fait référence à ce schéma normalisé doit prendre en compte la disponibilité.
- Les champs facultatifs , le cas échéant, peuvent être normalisés ou laissés sous leur forme d’origine. En règle générale, un analyseur minimal ne les normalise pas pour des raisons de performances.
- Les champs conditionnels sont obligatoires si le champ qu’ils suivent est rempli. Les champs conditionnels sont généralement utilisés pour décrire la valeur dans un autre champ. Par exemple, le champ commun DvcIdType décrit la valeur int du champ commun DvcId ; il est donc obligatoire si ce dernier est rempli.
- L’alias est un type spécial de champ conditionnel et est obligatoire si le champ alias est rempli.
Champs communs
Certains champs sont communs à tous les schémas ASIM. Chaque schéma peut ajouter des directives pour l'utilisation de certains des champs communs dans le contexte du schéma spécifique. Par exemple, les valeurs autorisées pour le champ EventType peuvent varier selon le schéma, tout comme la valeur du champ EventSchemaVersion.
Entités
Les événements évoluent autour des entités, telles que les utilisateurs, les hôtes, les processus ou les fichiers. Chaque entité peut nécessiter plusieurs champs pour la décrire. Par exemple, un hôte peut avoir un nom et une adresse IP.
Un seul enregistrement peut inclure plusieurs entités du même type, comme un hôte source et un hôte de destination.
ASIM définit la manière de décrire les entités de manière cohérente, et les entités permettent d’étendre les schémas.
Par exemple, si le schéma de session réseau n’inclut pas d’informations sur les processus, certaines sources d’événements fournissent des informations sur les processus qui peuvent être ajoutés. Pour plus d’informations, consultez Entités.
Aliases
Les alias autorisent les noms multiples pour une valeur spécifiée. Dans certains cas, les différents utilisateurs s’attendent à ce qu’un champ ait des noms différents. Par exemple, dans la terminologie DNS, il s’agit d’un champ nommé DnsQuery, alors que plus généralement, il contient un nom de domaine. L’alias Domain est pratique, car il permet à l’utilisateur d’employer les deux noms.
Note
Les alias sont destinés à aider un analyste avec des requêtes interactives. Lorsque vous utilisez des requêtes dans du contenu réutilisable, comme des détections personnalisées, des règles analytiques ou des classeurs, utilisez le champ portant l'alias plutôt que l'alias lui-même. L’utilisation du champ alias garantit de meilleures performances, moins d’erreurs et une meilleure lisibilité des requêtes.
Dans certains cas, un alias peut prendre la valeur d’un des différents champs, selon les valeurs disponibles dans l’événement. Par exemple, l’alias Dvc peut être associé à des champs DvcFQDN, DvcId, DvcHostname, DvcIpAddr ou Event Product. Quand un alias peut avoir plusieurs valeurs, son type doit être une chaîne pour prendre en charge toutes les valeurs avec alias possibles. Par conséquent, lorsque vous attribuez une valeur à ce genre d’alias, veillez à convertir le type en chaîne à l’aide de la fonction KQL tostring.
Les tables normalisées natives n’incluent pas d’alias, car ceux-ci nécessitent la duplication du stockage de données. À la place, les analyseurs stub ajoutent les alias. Pour implémenter des alias dans les analyseurs, créez une copie de la valeur d’origine avec l’opérateur extend. |
Types logiques
Chaque champ de schéma a un type. Certains intègrent des types de Log Analytics, tels que string, int, datetime ou dynamic. D’autres champs ont un type logique qui représente la façon dont les valeurs de champ doivent être normalisées.
| Type de données | Type physique | Format et valeur |
|---|---|---|
| Booléen | Bool | Utilisez le type de données boolKQL intégré plutôt qu’une représentation des valeurs booléennes numériques ou sous forme de chaîne. |
| Énuméré | String | Liste de valeurs définies explicitement pour le champ. La définition de schéma répertorie les valeurs acceptées. |
| Date/Heure | Selon la fonctionnalité de méthode d’ingestion, utilisez l’une des représentations physiques suivantes par ordre décroissant des priorités : - Type de DateHeure intégré de Log Analytics - Champ de type entier utilisant une représentation numérique de DateHeure de Log Analytics. - Champ de type chaîne utilisant une représentation numérique de DateHeure de Log Analytics - Champ de chaîne stockant un format de date/heure de Log Analytics pris en charge. |
La représentation de date et d’heure de Log Analytics est similaire, mais différente de celle d’Unix. Pour plus d'informations, consultez les instructions de conversion. Remarque : le cas échéant, l’heure doit être ajustée au fuseau horaire. |
| Adresse MAC | String | Notation hexadécimale à deux-points. |
| Adresse IP | String | Les schémas Microsoft Sentinel n’ont pas d’adresses IPv4 et IPv6 distinctes. Tout champ d’adresse IP peut inclure une adresse IPv4 ou IPv6, comme suit : - IPv4 dans une notation décimale à points - IPv6 en notation 8 hextets, permettant les formes abrégées. Exemple : - IPv4 : 192.168.10.10 - IPv6 : FEDC:BA98:7654:3210:FEDC:BA98:7654:3210- forme abrégée IPv6 : 1080::8:800:200C:417A |
| FQDN | String | Un nom de domaine complet à l’aide d’une notation par points, par exemple learn.microsoft.com. Pour plus d’informations, consultez L’entité appareil. |
| Nom d’hôte | String | Un nom d’hôte qui n’est pas un nom de domaine complet (FQDN) inclut jusqu’à 63 caractères, y compris des lettres, des chiffres et des traits d’union. Pour plus d’informations, consultez L’entité appareil. |
| Domain | String | la partie domaine d'un FQDN, sans le nom d'hôte, par exemple learn.microsoft.com. Pour plus d’informations, consultez L’entité appareil. |
| DomainType | Énuméré | Type de domaine stocké dans les champs de domaine et de nom de domaine complet. Pour plus d’informations et pour retrouver une liste de valeurs, consultez L’entité appareil. |
| DvcIdType | Énuméré | Type de l’ID d’appareil stocké dans les champs DvcId. Pour obtenir la liste des valeurs autorisées et des informations complémentaires, reportez-vous à DvcIdType. |
| DeviceType | Énuméré | Type de l’appareil stocké dans les champs DeviceType. Les valeurs possibles incluent : - Computer- Mobile Device- IOT Device- Other. Pour plus d’informations, consultez L’entité appareil. |
| Nom d’utilisateur | String | Nom d’utilisateur valide dans l’un des types pris en charge. Pour plus d’informations, consultez L’entité utilisateur. |
| UsernameType | Énuméré | Type de nom d’utilisateur stocké dans les champs de nom d’utilisateur. Pour plus d’informations et pour obtenir la liste des valeurs prises en charge, consultez L’entité de l’utilisateur. |
| UserIdType | Énuméré | Type de l’ID stocké dans les champs d’ID d’utilisateur. Les valeurs prises en charge sont SID, UIS, AADID, OktaId, AWSId et PUID. Pour plus d’informations, consultez L’entité utilisateur. |
| UserType | Énuméré | Type d’un utilisateur. Pour plus d’informations et pour obtenir la liste des valeurs autorisées, consultez L’entité de l’utilisateur. |
| AppType | Énuméré | Type d’une application. Les valeurs Process, Service, Resource, URL, SaaS application, CSP et Other sont prises en charge. |
| Pays | String | Chaîne utilisant ISO 3166-1 conformément à la priorité suivante : - Codes alpha-2, tels que US pour les États-Unis. - Codes alpha-3, tels que USA pour les États-Unis. - Nom court. La liste des codes se trouve sur le site Web International Standards Organization (ISO). |
| Région | String | Nom de subdivision du pays/de la région selon la norme ISO 3166-2. La liste des codes se trouve sur le site Web International Standards Organization (ISO). |
| Ville | String | |
| Longitude | Double | Représentation de coordonnée ISO 6709 (décimale signée). |
| Latitude | Double | Représentation de coordonnée ISO 6709 (décimale signée). |
| MD5 | String | 32 caractères hexadécimaux. |
| SHA1 | String | 40 caractères hexadécimaux. |
| SHA256 | String | 64 caractères hexadécimaux. |
| SHA512 | String | 128 caractères hexadécimaux. |
| ConfidenceLevel | Nombre entier | Niveau de confiance normalisé à la plage de 0 à 100. |
| RiskLevel | Nombre entier | Niveau de risque normalisé à la plage de 0 à 100. |
| SchemaVersion | String | Une version de schéma ASIM au format <major>.<minor>.<sub-minor> |
| DnsQueryClassName | String | Le nom de la classe DNS. |
| Nom d’utilisateur | String | Un nom d'utilisateur simple ou qualifié de domaine |
Entités
Les événements évoluent autour des entités, telles que les utilisateurs, les hôtes, les processus ou les fichiers. La représentation d’entité permet à plusieurs entités du même type de faire partie d’un seul enregistrement et prend en charge plusieurs attributs pour les mêmes entités.
Pour activer la fonctionnalité d’entité, la représentation d’entité présente les indications suivantes :
| Instruction | Description |
|---|---|
| Préfixes et alias | Étant donné qu’un événement unique inclut souvent plusieurs entités du même type, telles que les hôtes source et de destination, les préfixes sont utilisés pour identifier l’entité associée à un champ. Pour maintenir la normalisation, ASIM utilise un petit ensemble de préfixes standard, en choisissant les préfixes les plus appropriés pour le rôle spécifique des entités. Si une entité unique d’un type est pertinente pour un événement, il n’est pas nécessaire d’utiliser un préfixe. En outre, un ensemble de champs sans préfixe sert d’alias à l’entité la plus utilisée pour chaque type. |
| Identificateurs et types | Un schéma normalisé autorise plusieurs identificateurs pour chaque entité, qui sont censés coexister dans les événements. Si l’événement source a d’autres identificateurs d’entité qui ne peuvent pas être mappés au schéma normalisé, conservez-les dans le formulaire source ou utilisez le champ dynamique AdditionalFields. Pour conserver les informations de type pour les identificateurs, stockez le type, le cas échéant, dans un champ avec le même nom et un suffixe de Type. Par exemple, UserIdType. |
| Attributs | Les entités ont souvent d’autres attributs qui ne servent pas d’identificateur et peuvent également être qualifiés avec un descripteur. Par exemple, si l’utilisateur source possède des informations de domaine, le champ normalisé est SrcUserDomain. |
Pour plus d’informations sur les types d’entités spécifiques, consultez :
Exemple de mappage d’entité
Cette section utilise l'événement Windows 4624 comme exemple pour décrire comment les données de l'événement sont normalisées pour Microsoft Sentinel.
Cet événement comporte les entités suivantes :
| Terminologie Microsoft | Préfixe du champ d’événement d’origine | Préfixe du champ ASIM | Description |
|---|---|---|---|
| Subject | Subject |
Actor |
Utilisateur qui a signalé des informations sur une connexion réussie. |
| Nouvelle connexion | Target |
TargetUser |
Utilisateur pour lequel la connexion a été effectuée. |
| Processus | - | ActingProcess |
Processus qui a tenté de se connecter. |
| Informations sur le réseau | - | Src |
Ordinateur à partir duquel une tentative de connexion a été effectuée. |
Sur la base de ces entités, l’événement Windows 4624 est normalisé comme suit (certains champs sont facultatifs) :
| Champ normalisé | Champ d'origine | Valeur dans l’exemple | Notes |
|---|---|---|---|
| ActorUserId | SubjectUserSid | S-1-5-18 | |
| ActorUserIdType | - | SID | |
| ActorUserName | SubjectDomainName\ SubjectUserName | WORKGROUP\WIN-GG82ULGC9GO$ | Construit en concaténant les deux champs |
| ActorUserNameType | - | Windows | |
| ActorSessionId | SubjectLogonId | 0x3e7 | |
| TargetUserId | TargetUserSid | S-1-5-21-1377283216-344919071-3415362939-500 | |
| UserId | TargetUserSid | Alias | |
| TargetUserIdType | - | SID | |
| TargetUserName | TargetDomainName\ TargetUserName | Administrator\WIN-GG82ULGC9GO$ | Construit en concaténant les deux champs |
| Nom d’utilisateur | TargetDomainName\ TargetUserName | Alias | |
| TargetUserNameType | - | Windows | |
| TargetSessionId | TargetLogonId | 0x8dcdc | |
| ActingProcessName | ProcessName | C:\Windows\System32\svchost.exe | |
| ActingProcessId | ProcessId | 0x44c | |
| SrcHostname | WorkstationName | Windows | |
| SrcIpAddr | IpAddress | 127.0.0.1 | |
| SrcPortNumber | IpPort | 0 | |
| TargetHostname | Computer | WIN-GG82ULGC9GO | |
| Nom d’hôte | Computer | Alias |
Étapes suivantes
Cet article fournit une vue d’ensemble de la normalisation dans Microsoft Sentinel et ASIM.
Pour plus d'informations, consultez les pages suivantes :
- Regardez le webinaire de formation approfondie sur la normalisation des analyseurs et le contenu normalisé Microsoft Sentinel ou passez en revue les diapositives
- Vue d’ensemble du modèle ASIM (Advanced Security Information Model)
- Analyseurs du modèle ASIM (Advanced Security Information Model)
- Contenu du modèle ASIM (Advanced Security Information Model)