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 ASIM (Advanced Security Information Model) est un ensemble de champs qui représentent une activité ou une entité. L’utilisation des champs d’un schéma normalisé dans une requête garantit que la requête fonctionne avec chaque source normalisée.
Pour comprendre comment les schémas s’intègrent dans l’architecture ASIM, reportez-vous au diagramme de l’architecture ASIM.
Schémas d’activité/d’événement
Les références de schéma décrivent les champs qui composent chaque schéma. ASIM définit actuellement les schémas suivants pour les événements :
| Schéma | Nom du schéma pour les tests | Version | Statut |
|---|---|---|---|
| Événement d’alerte | AlertEvent |
0,1 | Disponible |
| Événement d’audit | AuditEvent |
0.1.2 | Disponible |
| Événement d’authentification | Authentication |
0.1.4 | Disponible |
| Activité DHCP | DhcpEvent |
0.1.1 | Disponible |
| Activité DNS | Dns |
0.1.7 | Disponible |
| Activité de fichier | FileEvent |
0.2.2 | Disponible |
| Session réseau | NetworkSession |
0.2.7 | Disponible |
| Événement de processus | ProcessEvent |
0.1.4 | Disponible |
| Événement de registre | RegistryEvent |
0.1.3 | Disponible |
| Gestion des utilisateurs | UserManagement |
0.1.2 | Disponible |
| Web Session | WebSession |
0.2.7 | Disponible |
Schémas d’entité
ASIM définit actuellement les schémas suivants pour les entités :
| Schéma | Nom du schéma pour les tests | Version | Statut |
|---|---|---|---|
| Entité de ressource | AssetEntity |
0.1.0 | Disponible |
Pour les entités qui font partie d’autres schémas ASIM, reportez-vous à Entités d’événement.
Nommage des champs
Au cœur de chaque schéma se trouvent ses noms de champs. 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 d’un schéma à l’autre.
Lorsque les 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 instructions de champ d’entité. Sinon, 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.
Champs communs
Certains champs sont communs à tous les schémas ASIM. Chaque schéma peut ajouter des instructions pour l’utilisation de certains des champs courants 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 .
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 autrement, 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 s’ils sont disponibles. Toutefois, elles 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 , s’ils sont disponibles, peuvent être normalisés ou conservés dans 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 dans le champ commun DvcId et est donc obligatoire si ce dernier est rempli.
- Alias est un type spécial d’un champ conditionnel et est obligatoire si le champ avec alias est rempli.
Entités d’événement
Les événements évoluent autour d’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 enregistrement unique peut inclure plusieurs entités du même type, telles qu’un hôte source et un hôte de destination.
ASIM définit comment décrire les entités de manière cohérente, et les entités permettent d’étendre les schémas.
Par exemple, alors que le schéma de session réseau n’inclut pas d’informations de processus, certaines sources d’événements fournissent des informations de processus qui peuvent être ajoutées. Pour plus d’informations, consultez Entités.
Pour activer la fonctionnalité d’entité, la représentation d’entité suit les instructions suivantes :
| Guideline | 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 seule entité 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 d’alias est l’entité la plus utilisée pour chaque type. |
| Identificateurs et types | Un schéma normalisé permet plusieurs identificateurs pour chaque entité, que nous prévoyons de 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 la forme 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 portant le même nom et le suffixe 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 des types d’entités spécifiques, consultez :
Pour plus d’informations sur les schémas d’entité complets, consultez :
Alias
Les alias autorisent plusieurs noms pour une valeur spécifiée. Dans certains cas, différents utilisateurs s’attendent à ce qu’un champ ait des noms différents. Par exemple, dans la terminologie DNS, vous pouvez vous attendre à un champ nommé DnsQuery, alors que plus généralement, il contient un nom de domaine. L’alias Domain aide l’utilisateur en autorisant l’utilisation des deux noms.
Remarque
Les alias sont destinés à aider un analyste à effectuer des requêtes interactives. Lorsque vous utilisez des requêtes dans du contenu réutilisable tel que des détections personnalisées, des règles analytiques ou des classeurs, utilisez le champ avec alias plutôt que l’alias. L’utilisation du champ avec alias garantit de meilleures performances, moins d’erreurs et une meilleure lisibilité des requêtes.
Dans certains cas, un alias peut avoir la valeur d’un des plusieurs champs, selon les valeurs disponibles dans l’événement. Par exemple, l’alias Dvc , les alias sont les champs DvcFQDN, DvcId, DvcHostname ou DvcIpAddr ou Event Product . Lorsqu’un alias peut avoir plusieurs valeurs, son type doit être une chaîne pour prendre en charge toutes les valeurs possibles avec alias. Par conséquent, lorsque vous affectez une valeur à un tel 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 impliquent un stockage de données en double. Au lieu de cela, les analyseurs stub ajoutent les alias. Pour implémenter des alias dans des analyseurs, créez une copie de la valeur d’origine à l’aide de l’opérateur extend .
Types logiques
Chaque champ de schéma a un type . L’espace de travail Log Analytics a un ensemble limité de types de données. Pour cette raison, Microsoft Sentinel utilise un type logique pour de nombreux champs de schéma, que Log Analytics n’applique 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.
| Type de données | Type physique | Format et valeur |
|---|---|---|
| Boolean | Bool | Utilisez le type de données KQL bool intégré plutôt qu’une représentation numérique ou sous forme de chaîne de valeurs booléennes. |
| Énumérés | String | Liste des 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 en priorité décroissante : - Type datetime intégré de Log Analytics - Champ entier utilisant la représentation numérique date/heure Log Analytics. - Champ de chaîne utilisant la représentation numérique date/heure Log Analytics - Champ de chaîne stockant un format de date/heure Log Analytics pris en charge. |
La représentation de date et d’heure Log Analytics est similaire, mais différente de la représentation de l’heure Unix. Pour plus d’informations, consultez les instructions de conversion. Remarque : Le cas échéant, l’heure doit être ajustée. |
| Adresse MAC | String | notation Colon-Hexadecimal. |
| Adresse IP | String | Microsoft Sentinel schémas n’ont pas d’adresses IPv4 et IPv6 distinctes. Tout champ d’adresse IP peut inclure une adresse IPv4 ou une adresse IPv6, comme suit : - IPv4 dans une notation décimale par points. - IPv6 en notation 8 hextets, ce qui permet la forme courte. Par 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 | Nom de domaine complet utilisant une notation par points, par exemple. learn.microsoft.com Pour plus d’informations, consultez L’entité Device. |
| Hostname | String | Un nom d’hôte qui n’est pas un nom de domaine complet comprend jusqu’à 63 caractères, y compris des lettres, des chiffres et des traits d’union. Pour plus d’informations, consultez L’entité Device. |
| Domaine | String | la partie domaine d’un nom de domaine complet, sans le nom d’hôte, par exemple , learn.microsoft.com. Pour plus d’informations, consultez L’entité Device. |
| DomainType | Énumérés | Type de domaine stocké dans les champs domaine et nom de domaine complet. Pour obtenir la liste des valeurs et plus d’informations, consultez L’entité Device. |
| DvcIdType | Énumérés | Type de l’ID d’appareil stocké dans les champs DvcId. Pour obtenir la liste des valeurs autorisées et plus d’informations, consultez DvcIdType. |
| DeviceType | Énumérés | Type de l’appareil stocké dans les champs DeviceType. Les valeurs admises sont les suivantes : - Computer- Mobile Device- IOT Device- Other. Pour plus d’informations, consultez L’entité Device. |
| 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és | Type de nom d’utilisateur stocké dans les champs nom d’utilisateur. Pour plus d’informations et pour obtenir la liste des valeurs prises en charge, consultez l’entité User. |
| UserIdType | Énumérés | Type de l’ID stocké dans les champs d’ID utilisateur. Les valeurs prises en charge sont SID, UIS, AADIDOktaId, AWSId, et PUID. Pour plus d’informations, consultez L’entité Utilisateur. |
| UserType | Énumérés | Type d’utilisateur. Pour plus d’informations et pour obtenir la liste des valeurs autorisées, consultez L’entité Utilisateur. |
| AppType | Énumérés | Type d’une application. Pour obtenir la liste des valeurs prises en charge, consultez L’entité Application. |
| Pays | String | Chaîne utilisant la norme ISO 3166-1, selon la priorité suivante : - Codes alpha-2, tels que US pour le États-Unis. - Codes alpha-3, tels que USA pour le États-Unis. - Nom court. La liste des codes est disponible sur le site web de l’Organisation internationale de normalisation (ISO). |
| Région | String | Nom de la subdivision du pays/de la région, à l’aide de la norme ISO 3166-2. La liste des codes est disponible sur le site web de l’Organisation internationale de normalisation (ISO). |
| City | String | |
| Longitude | Double | Représentation de coordonnées ISO 6709 (décimale signée). |
| Latitude | Double | Représentation de coordonnées 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 | Entier | Niveau de confiance normalisé entre 0 et 100. |
| RiskLevel | Entier | Niveau de risque normalisé entre 0 et 100. |
| SchemaVersion | String | Une version de schéma ASIM au format <major>.<minor>.<sub-minor> |
| DnsQueryClassName | String | Nom de la classe DNS. |
| Username | String | Un nom d’utilisateur simple ou qualifié de domaine |
Exemple de mappage d’entité
Cette section utilise l’événement Windows 4624 comme exemple pour décrire la façon dont les données d’événement sont normalisées pour Microsoft Sentinel.
Cet événement a les entités suivantes :
| Terminologie Microsoft | Préfixe de champ d’événement d’origine | Préfixe de champ ASIM | Description |
|---|---|---|---|
| Subject | Subject |
Actor |
L’utilisateur qui a signalé des informations sur une connexion réussie. |
| Nouvelle ouverture de session | Target |
TargetUser |
Utilisateur pour lequel la connexion a été effectuée. |
| Processus | - | ActingProcess |
Processus qui a tenté la connexion. |
| Informations réseau | - | Src |
Machine à partir de laquelle une tentative de connexion a été effectuée. |
En fonction 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$ | Créé 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 | Administrateur\WIN-GG82ULGC9GO$ | Créé en concaténant les deux champs |
| Username | 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 | Ordinateur* | WIN-GG82ULGC9GO | |
| Hostname (Nom d'hôte) | Ordinateur* | Alias |
Étapes suivantes
Cet article fournit une vue d’ensemble de la normalisation dans Microsoft Sentinel et ASIM.
Pour plus d’informations, reportez-vous aux rubriques suivantes :
- Regardez le webinaire approfondi sur Microsoft Sentinel normalisation des analyseurs et du contenu normalisé ou passez en revue les diapositives
- Vue d’ensemble du modèle ASIM (Advanced Security Information Model)
- Analyseurs ASIM (Advanced Security Information Model)
- Contenu ASIM (Advanced Security Information Model)