You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
| <aname="actoruserid"></a>**ActorUserId**| Optional | String | A machine-readable, alphanumeric, unique representation of the Actor. For more information, and for alternative fields for other IDs, see [The User entity](normalization-about-schemas.md#the-user-entity). <br><br>Example: `S-1-12-1-4141952679-1282074057-627758481-2916039507`|
133
133
|**ActorScope**| Optional | String | The scope, such as Azure AD Domain Name, in which [ActorUserId](#actoruserid) and [ActorUsername](#actorusername) are defined. or more information and list of allowed values, see [UserScope](normalization-about-schemas.md#userscope) in the [Schema Overview article](normalization-about-schemas.md).|
134
-
|**ActorScopeId**| Optional | String | The scope ID, such as Azure AD Directory ID, in which [ActorUserId](#actoruserid) and [ActorUsername](#actorusername) are defined. or more information and list of allowed values, see [UserScopeId](normalization-about-schemas.md#userscopeid) in the [Schema Overview article](normalization-about-schemas.md).|
134
+
|**ActorScopeId**| Optional | String | The scope ID, such as Azure AD Directory ID, in which [ActorUserId](#actoruserid) and [ActorUsername](#actorusername) are defined. for more information and list of allowed values, see [UserScopeId](normalization-about-schemas.md#userscopeid) in the [Schema Overview article](normalization-about-schemas.md).|
135
135
|**ActorUserIdType**| Optional | UserIdType | The type of the ID stored in the [ActorUserId](#actoruserid) field. For more information and list of allowed values, see [UserIdType](normalization-about-schemas.md#useridtype) in the [Schema Overview article](normalization-about-schemas.md).|
136
136
| <aname="actorusername"></a>**ActorUsername**| Recommended | Username | The Actor’s username, including domain information when available. For more information, see [The User entity](normalization-about-schemas.md#the-user-entity).<br><br>Example: `AlbertE`|
137
137
|**User**| Alias || Alias to [ActorUsername](#actorusername)|
Copy file name to clipboardExpand all lines: articles/sentinel/normalization-schema-dns.md
+19-6Lines changed: 19 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -130,10 +130,10 @@ The following list mentions fields that have specific guidelines for DNS events:
130
130
131
131
|**Field**|**Class**|**Type**|**Description**|
132
132
| --- | --- | --- | --- |
133
-
|**EventType**| Mandatory | Enumerated | Indicates the operation reported by the record. <br><br> For DNS records, this value would be the [DNS op code](https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml). <br><br>Example: `lookup`|
133
+
|**EventType**| Mandatory | Enumerated | Indicates the operation reported by the record. <br><br> For DNS records, this value would be the [DNS op code](https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml). <br><br>Example: `Query`|
134
134
|**EventSubType**| Optional | Enumerated | Either `request` or `response`. <br><br>For most sources, [only the responses are logged](#guidelines-for-collecting-dns-events), and therefore the value is often **response**. |
135
135
| <aname=eventresultdetails></a>**EventResultDetails**| Mandatory | Enumerated | For DNS events, this field provides the [DNS response code](https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml). <br><br>**Notes**:<br>- IANA doesn't define the case for the values, so analytics must normalize the case.<br> - If the source provides only a numerical response code and not a response code name, the parser must include a lookup table to enrich with this value. <br>- If this record represents a request and not a response, set to **NA**. <br><br>Example: `NXDOMAIN`|
136
-
|**EventSchemaVersion**| Mandatory | String | The version of the schema documented here is **0.1.6**. |
136
+
|**EventSchemaVersion**| Mandatory | String | The version of the schema documented here is **0.1.7**. |
137
137
|**EventSchema**| Mandatory | String | The name of the schema documented here is **Dns**. |
138
138
|**Dvc** fields| - | - | For DNS events, device fields refer to the system that reports the DNS event. |
139
139
@@ -164,6 +164,7 @@ Fields that appear in the table below are common to all ASIM schemas. Any guidel
164
164
|**SrcGeoLatitude**| Optional | Latitude | The latitude of the geographical coordinate associated with the source IP address.<br><br>Example: `44.475833`|
165
165
|**SrcGeoLongitude**| Optional | Longitude | The longitude of the geographical coordinate associated with the source IP address.<br><br>Example: `73.211944`|
166
166
|**SrcRiskLevel**| Optional | Integer | The risk level associated with the source. The value should be adjusted to a range of `0` to `100`, with `0` for benign and `100` for a high risk.<br><br>Example: `90`|
167
+
|**SrcOriginalRiskLevel**| Optional | Integer | The risk level associated with the source, as reported by the reporting device. <br><br>Example: `Suspicious`|
|**Hostname**| Alias || Alias to [SrcHostname](#srchostname)|
169
170
|<aname="srcdomain"></a> **SrcDomain**| Recommended | String | The domain of the source device.<br><br>Example: `Contoso`|
@@ -174,6 +175,7 @@ Fields that appear in the table below are common to all ASIM schemas. Any guidel
174
175
| <aname="srcdvcscope"></a>**SrcDvcScope**| Optional | String | The cloud platform scope the device belongs to. **SrcDvcScope** map to a subscription ID on Azure and to an account ID on AWS. |
175
176
|**SrcDvcIdType**| Optional | Enumerated | The type of [SrcDvcId](#srcdvcid), if known. Possible values include:<br> - `AzureResourceId`<br>- `MDEid`<br><br>If multiple IDs are available, use the first one from the list, and store the others in the **SrcDvcAzureResourceId** and **SrcDvcMDEid**, respectively.<br><br>**Note**: This field is required if [SrcDvcId](#srcdvcid) is used. |
176
177
|**SrcDeviceType**| Optional | Enumerated | The type of the source device. Possible values include:<br>- `Computer`<br>- `Mobile Device`<br>- `IOT Device`<br>- `Other`|
178
+
| <aname = "srcdescription"></a>**SrcDescription**| Optional | String | A descriptive text associated with the device. For example: `Primary Domain Controller`. |
177
179
178
180
179
181
### Source user fields
@@ -182,6 +184,7 @@ Fields that appear in the table below are common to all ASIM schemas. Any guidel
182
184
|-------|-------|------|-------------|
183
185
| <aname="srcuserid"></a>**SrcUserId**| Optional | String | A machine-readable, alphanumeric, unique representation of the source user. For more information, and for alternative fields for additional IDs, see [The User entity](normalization-about-schemas.md#the-user-entity). <br><br>Example: `S-1-12-1-4141952679-1282074057-627758481-2916039507`|
184
186
|**SrcUserScope**| Optional | String | The scope, such as Azure AD tenant, in which [SrcUserId](#srcuserid) and [SrcUsername](#srcusername) are defined. or more information and list of allowed values, see [UserScope](normalization-about-schemas.md#userscope) in the [Schema Overview article](normalization-about-schemas.md).|
187
+
|**SrcUserScopeId**| Optional | String | The scope ID, such as Azure AD Directory ID, in which [SrcUserId](#srcuserid) and [SrcUsername](#srcusername) are defined. for more information and list of allowed values, see [UserScopeId](normalization-about-schemas.md#userscopeid) in the [Schema Overview article](normalization-about-schemas.md).|
185
188
| <aname="srcuseridtype"></a>**SrcUserIdType**| Optional | UserIdType | The type of the ID stored in the [SrcUserId](#srcuserid) field. For more information and list of allowed values, see [UserIdType](normalization-about-schemas.md#useridtype) in the [Schema Overview article](normalization-about-schemas.md).|
186
189
| <aname="srcusername"></a>**SrcUsername**| Optional | Username | The source username, including domain information when available. For more information, see [The User entity](normalization-about-schemas.md#the-user-entity).<br><br>Example: `AlbertE`|
187
190
| <aname="srcusernametype"></a>**SrcUsernameType**| Optional | UsernameType | Specifies the type of the user name stored in the [SrcUsername](#srcusername) field. For more information, and list of allowed values, see [UsernameType](normalization-about-schemas.md#usernametype) in the [Schema Overview article](normalization-about-schemas.md). <br><br>Example: `Windows`|
@@ -212,6 +215,7 @@ Fields that appear in the table below are common to all ASIM schemas. Any guidel
212
215
|**DstGeoLatitude**| Optional | Latitude | The latitude of the geographical coordinate associated with the destination IP address. For more information, see [Logical types](normalization-about-schemas.md#logical-types).<br><br>Example: `44.475833`|
213
216
|**DstGeoLongitude**| Optional | Longitude | The longitude of the geographical coordinate associated with the destination IP address. For more information, see [Logical types](normalization-about-schemas.md#logical-types).<br><br>Example: `73.211944`|
214
217
|**DstRiskLevel**| Optional | Integer | The risk level associated with the destination. The value should be adjusted to a range of 0 to 100, which 0 being benign and 100 being a high risk.<br><br>Example: `90`|
218
+
|**DstOriginalRiskLevel**| Optional | Integer | The risk level associated with the destination, as reported by the reporting device. <br><br>Example: `Malicious`|
215
219
|**DstPortNumber**| Optional | Integer | Destination Port number.<br><br>Example: `53`|
216
220
| <aname="dsthostname"></a>**DstHostname**| Optional | String | The destination device hostname, excluding domain information. If no device name is available, store the relevant IP address in this field.<br><br>Example: `DESKTOP-1282V4D`<br><br>**Note**: This value is mandatory if [DstIpAddr](#dstipaddr) is specified. |
217
221
| <aname="dstdomain"></a>**DstDomain**| Optional | String | The domain of the destination device.<br><br>Example: `Contoso`|
@@ -222,6 +226,7 @@ Fields that appear in the table below are common to all ASIM schemas. Any guidel
222
226
| <aname="dstdvcscope"></a>**DstDvcScope**| Optional | String | The cloud platform scope the device belongs to. **DstDvcScope** map to a subscription ID on Azure and to an account ID on AWS. |
223
227
|**DstDvcIdType**| Optional | Enumerated | The type of [DstDvcId](#dstdvcid), if known. Possible values include:<br> - `AzureResourceId`<br>- `MDEidIf`<br><br>If multiple IDs are available, use the first one from the list above, and store the others in the **DstDvcAzureResourceId** or **DstDvcMDEid** fields, respectively.<br><br>Required if **DstDeviceId** is used.|
224
228
|**DstDeviceType**| Optional | Enumerated | The type of the destination device. Possible values include:<br>- `Computer`<br>- `Mobile Device`<br>- `IOT Device`<br>- `Other`|
229
+
| <aname = "dstdescription"></a>**DstDescription**| Optional | String | A descriptive text associated with the device. For example: `Primary Domain Controller`. |
225
230
226
231
### DNS specific fields
227
232
@@ -235,10 +240,11 @@ Fields that appear in the table below are common to all ASIM schemas. Any guidel
235
240
| <aname=responsecodename></a>**DnsResponseCodeName**| Alias || Alias to [EventResultDetails](#eventresultdetails)|
| <aname="transactionidhex"></a>**TransactionIdHex**| Recommended | String | The DNS query unique ID as assigned by the DNS client, in hexadecimal format. Note that this value is part of the DNS protocol and different from [DnsSessionId](#dnssessionid), the network layer session ID, typically assigned by the reporting device. |
238
-
|**NetworkProtocol**| Optional | Enumerated | The transport protocol used by the network resolution event. The value can be **UDP** or **TCP**, and is most commonly set to **UDP** for DNS. <br><br>Example: `UDP`|
243
+
| <aname="networkprotocol"></a>**NetworkProtocol**| Optional | Enumerated | The transport protocol used by the network resolution event. The value can be **UDP** or **TCP**, and is most commonly set to **UDP** for DNS. <br><br>Example: `UDP`|
244
+
|**NetworkProtocolVersion**| Optional | Enumerated | The version of [NetworkProtocol](#networkprotocol). When using it to distinguish between IP version, use the values `IPv4` and `IPv6`. |
239
245
|**DnsQueryClass**| Optional | Integer | The [DNS class ID](https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml).<br> <br>In practice, only the **IN** class (ID 1) is used, and therefore this field is less valuable.|
240
246
|**DnsQueryClassName**| Optional | String | The [DNS class name](https://www.iana.org/assignments/dns-parameters/dns-parameters.xhtml).<br> <br>In practice, only the **IN** class (ID 1) is used, and therefore this field is less valuable.<br><br>Example: `IN`|
241
-
| <aname=flags></a>**DnsFlags**| Optional |List of strings| The flags field, as provided by the reporting device. If flag information is provided in multiple fields, concatenate them with comma as a separator. <br><br>Since DNS flags are complex to parse and are less often used by analytics, parsing, and normalization aren't required. Microsoft Sentinel can use an auxiliary function to provide flags information. For more information, see [Handling DNS response](#handling-dns-response). <br><br>Example: `["DR"]`|
247
+
| <aname=flags></a>**DnsFlags**| Optional |String| The flags field, as provided by the reporting device. If flag information is provided in multiple fields, concatenate them with comma as a separator. <br><br>Since DNS flags are complex to parse and are less often used by analytics, parsing, and normalization aren't required. Microsoft Sentinel can use an auxiliary function to provide flags information. For more information, see [Handling DNS response](#handling-dns-response). <br><br>Example: `["DR"]`|
242
248
| <aname="dnsnetworkduration"></a>**DnsNetworkDuration**| Optional | Integer | The amount of time, in milliseconds, for the completion of DNS request.<br><br>Example: `1500`|
243
249
|**Duration**| Alias || Alias to [DnsNetworkDuration](#dnsnetworkduration)|
244
250
|**DnsFlagsAuthenticated**| Optional | Boolean | The DNS `AD` flag, which is related to DNSSEC, indicates in a response that all data included in the answer and authority sections of the response have been verified by the server according to the policies of that server. For more information, see [RFC 3655 Section 6.1](https://tools.ietf.org/html/rfc3655#section-6.1) for more information. |
@@ -249,7 +255,7 @@ Fields that appear in the table below are common to all ASIM schemas. Any guidel
249
255
|**DnsFlagsTruncated**| Optional | Boolean | The DNS `TC` flag indicates that a response was truncated as it exceeded the maximum response size. |
250
256
|**DnsFlagsZ**| Optional | Boolean | The DNS `Z` flag is a deprecated DNS flag, which might be reported by older DNS systems. |
251
257
|<aname="dnssessionid"></a>**DnsSessionId**| Optional | string | The DNS session identifier as reported by the reporting device. This value is different from [TransactionIdHex](#transactionidhex), the DNS query unique ID as assigned by the DNS client.<br><br>Example: `EB4BFA28-2EAD-4EF7-BC8A-51DF4FDF5B55`|
252
-
|**SessionId**| Alias |String | Alias to [DnsSessionId](#dnssessionid)|
258
+
|**SessionId**| Alias || Alias to [DnsSessionId](#dnssessionid)|
253
259
|**DnsResponseIpCountry**| Optional | Country | The country associated with one of the IP addresses in the DNS response. For more information, see [Logical types](normalization-about-schemas.md#logical-types).<br><br>Example: `USA`|
254
260
|**DnsResponseIpRegion**| Optional | Region | The region, or state, within a country associated with one of the IP addresses in the DNS response. For more information, see [Logical types](normalization-about-schemas.md#logical-types).<br><br>Example: `Vermont`|
255
261
|**DnsResponseIpCity**| Optional | City | The city associated with one of the IP addresses in the DNS response. For more information, see [Logical types](normalization-about-schemas.md#logical-types).<br><br>Example: `Burlington`|
@@ -263,7 +269,11 @@ The following fields are used to represent an inspection, which a DNS security d
263
269
| Field | Class | Type | Description |
264
270
|-------|-------|------|-------------|
265
271
| <aname=UrlCategory></a>**UrlCategory**| Optional | String | A DNS event source may also look up the category of the requested Domains. The field is called **UrlCategory** to align with the Microsoft Sentinel network schema. <br><br>**DomainCategory** is added as an alias that's fitting to DNS. <br><br>Example: `Educational \\ Phishing`|
266
-
|**DomainCategory**| Optional | Alias | Alias to [UrlCategory](#UrlCategory). |
272
+
|**DomainCategory**| Alias || Alias to [UrlCategory](#UrlCategory). |
273
+
| <aname="networkrulename"></a>**NetworkRuleName**| Optional | String | The name or ID of the rule which identified the threat.<br><br> Example: `AnyAnyDrop`|
274
+
| <aname="networkrulenumber"></a>**NetworkRuleNumber**| Optional | Integer | The number of the rule which identified the threat.<br><br>Example: `23`|
275
+
|**Rule**| Mandatory | String | Either the value of [NetworkRuleName](#networkrulename) or the value of [NetworkRuleNumber](#networkrulenumber). If the value of [NetworkRuleNumber](#networkrulenumber) is used, the type should be converted to string. |
276
+
|**ThreatId**| Optional | String | The ID of the threat or malware identified in the network session.<br><br>Example: `Tr.124`|
267
277
|**ThreatCategory**| Optional | String | If a DNS event source also provides DNS security, it may also evaluate the DNS event. For example, it can search for the IP address or domain in a threat intelligence database, and assign the domain or IP address with a Threat Category. |
268
278
|**ThreatIpAddr**| Optional | IP Address | An IP address for which a threat was identified. The field [ThreatField](#threatfield) contains the name of the field **ThreatIpAddr** represents. If a threat is identified in the [Domain](#domain) field, this field should be empty. |
269
279
| <aname="threatfield"></a>**ThreatField**| Optional | Enumerated | The field for which a threat was identified. The value is either `SrcIpAddr`, `DstIpAddr`, `Domain`, or `DnsResponseName`. |
@@ -314,6 +324,9 @@ The changes in version 0.1.5 of the schema are:
314
324
The changes in version 0.1.6 of the schema are:
315
325
- Added the fields `DnsResponseIpCountry`, `DnsResponseIpRegion`, `DnsResponseIpCity`, `DnsResponseIpLatitude`, and `DnsResponseIpLongitude`.
316
326
327
+
The changes in version 0.1.7 of the schema are:
328
+
- Added the fields `SrcDescription`, `SrcOriginalRiskLevel`, `DstDescription`, `DstOriginalRiskLevel`, `SrcUserScopeId`, `NetworkProtocolVersion`, `Rule`, `RuleName`, `RuleNumber`, and `ThreatId`.
0 commit comments