Skip to content

Commit 9639e80

Browse files
Merge pull request #224836 from oshezaf/asim/update-file-schema
asim/update-file-schema
2 parents c6da54b + 44c4862 commit 9639e80

6 files changed

+20
-15
lines changed

articles/sentinel/authentication-normalization-schema.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ The following list mentions fields that have specific guidelines for authenticat
108108

109109
| Field | Class | Type | Description |
110110
|---------------------|-------------|------------|--------------------|
111-
| **EventType** | Mandatory | Enumerated | Describes the operation reported by the record. <br><br>For Authentication records, supported values include: <br>- `Logon` <br>- `Logoff`|
111+
| **EventType** | Mandatory | Enumerated | Describes the operation reported by the record. <br><br>For Authentication records, supported values include: <br>- `Logon` <br>- `Logoff`<br>- `Elevate`|
112112
| <a name ="eventresultdetails"></a>**EventResultDetails** | Recommended | String | One of the following values: <br><br>- `No such user or password`. This value should be used also when the original event reports that there is no such user, without reference to a password. <br>- `Incorrect password`<br>- `Account expired`<br>- `Password expired`<br>- `User locked`<br>- `User disabled`<br>- `Logon violates policy`. This value should be used when the original event reports, for example: MFA required, logon outside of working hours, conditional access restrictions, or too frequent attempts.<br>- `Session expired`<br>- `Other`<br><br>**Note**: The value may be provided in the source record using different terms, which should be normalized to these values. The original value should be stored in the field [EventOriginalResultDetails](normalization-common-fields.md#eventoriginalresultdetails)|
113113
| **EventSubType** | Optional | String | The sign-in type. Allowed values include: `System`, `Interactive`, `Service`, `RemoteInteractive`, `RemoteService`, `AssumeRole`. <br><br>Example: `Interactive`. Store the original value in [EventOriginalSubType](normalization-common-fields.md#eventoriginalsubtype). |
114114
| **EventSchemaVersion** | Mandatory | String | The version of the schema. The version of the schema documented here is `0.1.2` |

articles/sentinel/network-normalization-schema.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ Fields that appear in the table below are common to all ASIM schemas. Any guidel
136136

137137
| Field | Class | Type | Description |
138138
|---------------------|-------------|------------|--------------------|
139-
| **NetworkApplicationProtocol** | Optional | String | The application layer protocol used by the connection or session. If the [DstPortNumber](#dstportnumber) value is provided, we recommend that you include **NetworkApplicationProtocol** too. If the value isn't available from the source, derive the value from the [DstPortNumber](#dstportnumber) value.<br><br>Example: `FTP` |
139+
| **NetworkApplicationProtocol** | Optional | String | The application layer protocol used by the connection or session. The value should be in all uppercase.<br><br>Example: `FTP` |
140140
| <a name="networkprotocol"></a> **NetworkProtocol** | Optional | Enumerated | The IP protocol used by the connection or session as listed in [IANA protocol assignment](https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml), which is typically `TCP`, `UDP`, or `ICMP`.<br><br>Example: `TCP` |
141141
| **NetworkProtocolVersion** | Optional | Enumerated | The version of [NetworkProtocol](#networkprotocol). When using it to distinguish between IP version, use the values `IPv4` and `IPv6`. |
142142
| <a name="networkdirection"></a>**NetworkDirection** | Optional | Enumerated | The direction of the connection or session:<br><br> - For the [EventType](#eventtype) `NetworkSession`, `Flow` or `L2NetworkSession`, **NetworkDirection** represents the direction relative to the organization or cloud environment boundary. Supported values are `Inbound`, `Outbound`, `Local` (to the organization), `External` (to the organization) or `NA` (Not Applicable).<br><br> - For the [EventType](#eventtype) `EndpointNetworkSession`, **NetworkDirection** represents the direction relative to the endpoint. Supported values are `Inbound`, `Outbound`, `Local` (to the system), `Listen` or `NA` (Not Applicable). The `Listen` value indicates that a device has started accepting network connections but isn't actually, necessarily, connected. |

articles/sentinel/normalization-about-schemas.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ Each schema field has a type. Some have built-in, Log Analytics types, such as `
6565
|<a name="devicetype"></a>**DeviceType** | Enumerated | The type of the device stored in DeviceType fields. Possible values include:<br>- `Computer`<br>- `Mobile Device`<br>- `IOT Device`<br>- `Other`. For more information, see [The Device entity](#the-device-entity). |
6666
|<a name="username"></a>**Username** | String | A valid username in one of the supported [types](#usernametype). For more information, see [The User entity](#the-user-entity). |
6767
|<a name="usernametype"></a>**UsernameType** | Enumerated | The type of username stored in username fields. For more information and list of supported values, see [The User entity](#the-user-entity). |
68-
|<a name="useridtype"></a>**UserIdType** | Enumerated | The type of the ID stored in user ID fields. <br><br>Supported values are `SID`, `UIS`, `AADID`, `OktaId`, and `AWSId`. For more information, see [The User entity](#the-user-entity). |
68+
|<a name="useridtype"></a>**UserIdType** | Enumerated | The type of the ID stored in user ID fields. <br><br>Supported values are `SID`, `UIS`, `AADID`, `OktaId`, `AWSId`, and `PUID`. For more information, see [The User entity](#the-user-entity). |
6969
|<a name="usertype"></a>**UserType** | Enumerated | The type of a user. For more information and list of allowed values, see [The User entity](#the-user-entity). |
7070
|<a name="apptype"></a>**AppType** | Enumerated | The type of an application. Supported values include: `Process`<br>, `Service`, `Resource`, `URL`, `SaaS application`, `CSP`, and `Other`. |
7171
|**Country** | String | A string using [ISO 3166-1](https://www.iso.org/iso-3166-country-codes.html), according to the following priority: <br><br> - Alpha-2 codes, such as `US` for the United States. <br> - Alpha-3 codes, such as `USA` for the United States. <br>- Short name.<br><br>The list of codes can be found on the [International Standards Organization (ISO) website](https://www.iso.org/obp/ui/#search).|
@@ -106,7 +106,7 @@ Users are central to activities reported by events. The fields listed in this se
106106
| <a name="userscope"></a>**UserScope** | Optional | string | The scope in which [UserId](#userid) and [Username](#username) are defined. For example, an Azure AD tenant domain name. The [UserIdType](#useridtype) field represents also the type of the associated with this field. |
107107
| <a name="userscopeid"></a>**UserScopeId** | Optional | string | The ID of the scope in which [UserId](#userid) and [Username](#username) are defined. For example, an Azure AD tenant directory ID. The [UserIdType](#useridtype) field represents also the type of the associated with this field. |
108108
| <a name="useridtype"></a>**UserIdType** | Optional | UserIdType | The type of the ID stored in the [UserId](#userid) field. |
109-
| **UserSid**, **UserUid**, **UserAadId**, **UserOktaId**, **UserAWSId** | Optional | String | Fields used to store specific user IDs. Select the ID most associated with the event as the primary ID stored in [UserId](#userid). Populate the relevant specific ID field, in addition to [UserId](#userid), even if the event has only one ID. |
109+
| **UserSid**, **UserUid**, **UserAadId**, **UserOktaId**, **UserAWSId**, **UserPuid** | Optional | String | Fields used to store specific user IDs. Select the ID most associated with the event as the primary ID stored in [UserId](#userid). Populate the relevant specific ID field, in addition to [UserId](#userid), even if the event has only one ID. |
110110
| **UserAADTenant**, **UserAWSAccount** | Optional | String | Fields used to store specific scopes. Use the [UserScope](#userscope) field for the scope associated with the ID stored in the [UserId](#userid) field. Populate the relevant specific scope field, in addition to [UserScope](#userscope), even if the event has only one ID. |
111111

112112
The allowed values for a user ID type are:
@@ -118,6 +118,7 @@ The allowed values for a user ID type are:
118118
| **AADID**| An Azure Active Directory user ID.| `9267d02c-5f76-40a9-a9eb-b686f3ca47aa` |
119119
| **OktaId** | An Okta user ID. | `00urjk4znu3BcncfY0h7` |
120120
| **AWSId** | An AWS user ID. | `72643944673` |
121+
| **PUID** | A Microsoft 365 User ID. | `10032001582F435C` |
121122

122123
#### The user name
123124

articles/sentinel/normalization-common-fields.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ The currently supported list of vendors and products used in the [EventVendor](#
109109
| Corelight | Zeek |
110110
| GCP | Cloud DNS |
111111
| Infoblox | NIOS |
112-
| Microsoft | - AAD<br> - Azure<br> - Azure Firewall<br> - Azure Blob Storage<br> - Azure File Storage<br> - Azure NSG flows<br> - Azure Queue Storage<br> - Azure Table Storage <br> - DNS Server<br> - Microsoft 365 Defender for Endpoint<br> - Microsoft Defender for IoT<br> - Security Events<br> - Sharepoint 365<br>- Sysmon<br> - Sysmon for Linux<br> - VMConnection<br> - Windows Firewall<br> - WireData <br>
112+
| Microsoft | - AAD<br> - Azure<br> - Azure Firewall<br> - Azure Blob Storage<br> - Azure File Storage<br> - Azure NSG flows<br> - Azure Queue Storage<br> - Azure Table Storage <br> - DNS Server<br> - Microsoft 365 Defender for Endpoint<br> - Microsoft Defender for IoT<br> - Security Events<br>- SharePoint<br>- OneDrive<br>- Sysmon<br> - Sysmon for Linux<br> - VMConnection<br> - Windows Firewall<br> - WireData <br>
113113
| Okta | - Okta<BR> - Auth0<br> |
114114
| Palo Alto | - PanOS<br> - CDL<br> |
115115
| PostgreSQL | PostgreSQL |

articles/sentinel/normalization-schema-file-event.md

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,8 @@ The following list mentions fields that have specific guidelines for File activi
6969

7070
| **Field** | **Class** | **Type** | **Description** |
7171
| --- | --- | --- | --- |
72-
| **EventType** | Mandatory | Enumerated | Describes the operation reported by the record. <br><br>For File records, supported values include: <br><br>- `FileAccessed`<br>- `FileCreated`<br>- `FileModified`<br>- `FileDeleted`<br>- `FileRenamed`<br>- `FileCopied`<br>- `FileMoved`<br>- `FolderCreated`<br>- `FolderDeleted` |
72+
| <a name='eventtype'></a>**EventType** | Mandatory | Enumerated | Describes the operation reported by the record. <br><br>Supported values include: <br><br>- `FileAccessed`<br>- `FileCreated`<br>- `FileModified`<br>- `FileDeleted`<br>- `FileRenamed`<br>- `FileCopied`<br>- `FileMoved`<br>- `FolderCreated`<br>- `FolderDeleted`<br>- `FolderMoved`<br>- `FolderModified`<br>- `FileCreatedOrModified` |
73+
| **EventSubType** | Optional | Enumerated | Describes details about the operation reported in [EventType](#eventtype). Supported values per event type include:<br>- `FileCreated` - `Upload`, `Checkin`<br>- `FileModified` - `Checkin`<br>- `FileCreatedOrModified` - `Checkin` <br>- `FileAccessed` - `Download`, `Preview`, `Checkout`, `Extended`<br>- `FileDeleted` - `Recycled`, `Versions`, `Site` |
7374
| **EventSchema** | Mandatory | String | The name of the schema documented here is **FileEvent**. |
7475
| **EventSchemaVersion** | Mandatory | String | The version of the schema. The version of the schema documented here is `0.2.1` |
7576
| **Dvc** fields| - | - | For File activity events, device fields refer to the system on which the file activity occurred. |
@@ -110,7 +111,7 @@ The following fields represent information about the target file in a file opera
110111
| **TargetFileSHA512**| Optional| SHA512|The SHA-512 hash of the source file. |
111112
| **Hash** | Alias | |Alias to the best available Target File hash. |
112113
| **HashType** | Recommended | String | The type of hash stored in the HASH alias field, allowed values are `MD5`, `SHA`, `SHA256`, `SHA512` and `IMPHASH`. Mandatory if `Hash` is populated. |
113-
| **TargetFileSize** |Optional | Integer|The size of the target file in bytes. |
114+
| **TargetFileSize** |Optional | Long |The size of the target file in bytes. |
114115

115116
### Source file fields
116117

@@ -129,7 +130,7 @@ The following fields represent information about the source file in a file opera
129130
|**SrcFileSHA1**|Optional |SHA1 |The SHA-1 hash of the source file.<br><br>Example:<br>`d55c5a4df19b46db8c54`<br>`c801c4665d3338acdab0` |
130131
|**SrcFileSHA256** | Optional|SHA256 |The SHA-256 hash of the source file. <br><br>Example:<br> `e81bb824c4a09a811af17deae22f22dd`<br>`2e1ec8cbb00b22629d2899f7c68da274`|
131132
|**SrcFileSHA512** |Optional | SHA512|The SHA-512 hash of the source file. |
132-
|**SrcFileSize**| Optional|Integer | The size of the source file in bytes.|
133+
|**SrcFileSize**| Optional| Long | The size of the source file in bytes.|
133134

134135

135136
### Actor fields
@@ -222,8 +223,8 @@ The following fields are used to represent that inspection performed by a securi
222223
| **ThreatId** | Optional | String | The ID of the threat or malware identified in the file activity. |
223224
| **ThreatName** | Optional | String | The name of the threat or malware identified in the file activity.<br><br>Example: `EICAR Test File` |
224225
| **ThreatCategory** | Optional | String | The category of the threat or malware identified in the file activity.<br><br>Example: `Trojan` |
225-
| **ThreatRiskLevel** | Optional | Integer | The risk level associated with the identified threat. The level should be a number between **0** and **100**.<br><br>**Note**: The value might be provided in the source record by using a different scale, which should be normalized to this scale. The original value should be stored in [ThreatRiskLevelOriginal](#threatoriginalriskleveloriginal). |
226-
| <a name="threatoriginalriskleveloriginal"></a>**ThreatOriginalRiskLevel** | Optional | String | The risk level as reported by the reporting device. |
226+
| **ThreatRiskLevel** | Optional | Integer | The risk level associated with the identified threat. The level should be a number between **0** and **100**.<br><br>**Note**: The value might be provided in the source record by using a different scale, which should be normalized to this scale. The original value should be stored in [ThreatRiskLevelOriginal](#threatoriginalrisklevel). |
227+
| <a name="threatoriginalrisklevel"></a>**ThreatOriginalRiskLevel** | Optional | String | The risk level as reported by the reporting device. |
227228
| **ThreatFilePath** | Optional | String | A file path for which a threat was identified. The field [ThreatField](#threatfield) contains the name of the field **ThreatFilePath** represents. |
228229
| <a name="threatfield"></a>**ThreatField** | Optional | Enumerated | The field for which a threat was identified. The value is either `SrcFilePath` or `DstFilePath`. |
229230
| **ThreatConfidence** | Optional | Integer | The confidence level of the threat identified, normalized to a value between 0 and a 100.|

articles/sentinel/web-normalization-schema.md

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -117,12 +117,12 @@ The following list mentions fields that have specific guidelines for Web Session
117117

118118
| Field | Class | Type | Description |
119119
|---------------------|-------------|------------|--------------------|
120-
| **EventType** | Mandatory | Enumerated | Describes the operation reported by the record and should be set to `HTTPsession`. |
120+
| <a name='eventtype'></a>**EventType** | Mandatory | Enumerated | Describes the operation reported by the record. Allowed values are:<br> - `HTTPsession`: Denotes a network session used for HTTP or HTTPS, typically reported by an intermediary device, such as a proxy or a Web security gateway.<br> - `WebServerSession`: Denotes an HTTP request reported by a web server. Such an event typically has less network related information. The URL reported should not include a schema and a server name, but only the path and parameters part of the URL. <br> - `Api`: Denotes an HTTP request reported associated with an API call, typically reported by an application server. Such an event typically has less network related information. When reported by the application server, the URL reported should not include a schema and a server name, but only the path and parameters part of the URL. |
121121
| **EventResult** | Mandatory | Enumerated | Describes the event result, normalized to one of the following values: <br> - `Success` <br> - `Partial` <br> - `Failure` <br> - `NA` (not applicable) <br><br>For an HTTP session, `Success` is defined as a status code lower than `400`, and `Failure` is defined as a status code higher than `400`. For a list of HTTP status codes, refer to [W3 Org](https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html).<br><br>The source may provide only a value for the [EventResultDetails](#eventresultdetails) field, which must be analyzed to get the **EventResult** value. |
122122
| <a name="eventresultdetails"></a>**EventResultDetails** | Mandatory | String | For HTTP sessions, the value should be the HTTP status code. <br><br>**Note**: The value may be provided in the source record using different terms, which should be normalized to these values. The original value should be stored in the **EventOriginalResultDetails** field.|
123123
| **EventSchema** | Mandatory | String | The name of the schema documented here is `WebSession`. |
124-
| **EventSchemaVersion** | Mandatory | String | The version of the schema. The version of the schema documented here is `0.2.5` |
125-
| **Dvc** fields| | | For Web Session events, device fields refer to the system reporting the Web Session event. |
124+
| **EventSchemaVersion** | Mandatory | String | The version of the schema. The version of the schema documented here is `0.2.6` |
125+
| **Dvc** fields| | | For Web Session events, device fields refer to the system reporting the Web Session event. This is typically an intermediary device for `HTTPSession` events, and the destination web or application server for `WebServerSession` and `ApiRequest` events. |
126126

127127

128128
#### All common fields
@@ -157,7 +157,7 @@ The following are additional fields that are specific to web sessions:
157157

158158
| Field | Class | Type | Description |
159159
| --- | --- | --- | --- |
160-
| <a name="url"></a>**Url** | Mandatory | String | The full HTTP request URL, including parameters.<br><br>Example: `https://contoso.com/fo/?k=v&amp;q=u#f` |
160+
| <a name="url"></a>**Url** | Mandatory | String | The HTTP request URL, including parameters. For `HTTPSession` events, the URL should include the schema and server parts. For `WebServerSession` and for `ApiRequest` the URL would typlicaly not include the schema and server, which can be found in the `NetworkApplicationProtocol` and `DstFQDN` fields respectively. <br><br>Example: `https://contoso.com/fo/?k=v&amp;q=u#f` |
161161
| **UrlCategory** | Optional | String | The defined grouping of a URL or the domain part of the URL. The category is commonly provided by web security gateways and is based on the content of the site the URL points to.<br><br>Example: search engines, adult, news, advertising, and parked domains. |
162162
| **UrlOriginal** | Optional | String | The original value of the URL, when the URL was modified by the reporting device and both values are provided. |
163163
| **HttpVersion** | Optional | String | The HTTP Request Version.<br><br>Example: `2.0` |
@@ -179,7 +179,7 @@ The following are additional fields that are specific to web sessions:
179179
| **FileSHA512** | Optional | SHA512 | For HTTP uploads, the SHA512 hash of the uploaded file. |
180180
| <a name="hash"></a>**Hash** | Alias || Alias to the available Hash field. |
181181
| **FileHashType** | Optional | Enumerated | The type of the hash in the [Hash](#hash) field. Possible values include: `MD5`, `SHA1`, `SHA256`, and `SHA512`. |
182-
| **FileSize** | Optional | Integer | For HTTP uploads, the size in bytes of the uploaded file. |
182+
| **FileSize** | Optional | Long | For HTTP uploads, the size in bytes of the uploaded file. |
183183
| **FileContentType** | Optional | String | For HTTP uploads, the content type of the uploaded file. |
184184

185185

@@ -194,6 +194,9 @@ The Web Session schema relies on the Network Session schema. Therefore, [Network
194194
The following are the changes in version 0.2.5 of the schema:
195195
- Added the field `HttpHost`.
196196

197+
The following are the changes in version 0.2.6 of the schema:
198+
- The type of FileSize was changed from Integer to Long.
199+
197200
## Next steps
198201

199202
For more information, see:

0 commit comments

Comments
 (0)