Skip to content

Commit fa2e410

Browse files
authored
Merge pull request #206657 from oshezaf/asim/aug-updates
Sentinel ASIM Doc Updates, Aug 2022
2 parents 3cebc81 + 38f75cd commit fa2e410

File tree

8 files changed

+129
-51
lines changed

8 files changed

+129
-51
lines changed

articles/sentinel/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -474,6 +474,8 @@
474474
href: normalization-common-fields.md
475475
- name: ASIM helper functions
476476
href: normalization-functions.md
477+
- name: ASIM known issues
478+
href: normalization-known-issues.md
477479
- name: ASIM schemas
478480
items:
479481
- name: ASIM authentication schema

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ The following list mentions fields that have specific guidelines for File activi
6565

6666
| **Field** | **Class** | **Type** | **Description** |
6767
| --- | --- | --- | --- |
68-
| **EventType** | Mandatory | Enumerated | Describes the operation reported by the record. <br><br>For File records, supported values include: <br><br>- `FileCreated`<br>- `FileModified`<br>- `FileDeleted`<br>- `FileRenamed`<br>- `FileCopied`<br>- `FileMoved`<br>- `FolderCreated`<br>- `FolderDeleted` |
68+
| **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` |
6969
| **EventSchema** | Optional | String | The name of the schema documented here is **FileEvent**. |
7070
| **EventSchemaVersion** | Mandatory | String | The version of the schema. The version of the schema documented here is `0.1` |
7171
| **Dvc** fields| - | - | For File activity events, device fields refer to the system on which the file activity occurred. |
12.1 KB
Loading
96.3 KB
Loading

articles/sentinel/network-normalization-schema.md

Lines changed: 25 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ The following list mentions fields that have specific guidelines for Network Ses
108108
| <a name="eventsubtype"></a>**EventSubType** | Optional | String | Additional description of the event type, if applicable. <br> For Network Session records, supported values include:<br>- `Start`<br>- `End` |
109109
| **EventResult** | Mandatory | Enumerated | If the source device does not provide an event result, **EventResult** should be based on the value of [DvcAction](#dvcaction). If [DvcAction](#dvcaction) is `Deny`, `Drop`, `Drop ICMP`, `Reset`, `Reset Source`, or `Reset Destination`<br>, **EventResult** should be `Failure`. Otherwise, **EventResult** should be `Success`. |
110110
| **EventSchema** | Mandatory | String | The name of the schema documented here is `NetworkSession`. |
111-
| **EventSchemaVersion** | Mandatory | String | The version of the schema. The version of the schema documented here is `0.2.3`. |
111+
| **EventSchemaVersion** | Mandatory | String | The version of the schema. The version of the schema documented here is `0.2.4`. |
112112
| <a name="dvcaction"></a>**DvcAction** | Recommended | Enumerated | The action taken on the network session. Supported values are:<br>- `Allow`<br>- `Deny`<br>- `Drop`<br>- `Drop ICMP`<br>- `Reset`<br>- `Reset Source`<br>- `Reset Destination`<br>- `Encrypt`<br>- `Decrypt`<br>- `VPNroute`<br><br>**Note**: The value might be provided in the source record by using different terms, which should be normalized to these values. The original value should be stored in the [DvcOriginalAction](normalization-common-fields.md#dvcoriginalaction) field.<br><br>Example: `drop` |
113113
| **EventSeverity** | Optional | Enumerated | If the source device does not provide an event severity, **EventSeverity** should be based on the value of [DvcAction](#dvcaction). If [DvcAction](#dvcaction) is `Deny`, `Drop`, `Drop ICMP`, `Reset`, `Reset Source`, or `Reset Destination`<br>, **EventSeverity** should be `Low`. Otherwise, **EventSeverity** should be `Informational`. |
114114
| **DvcInterface** | | | The DvcInterface field should alias either the [DvcInboundInterface](#dvcinboundinterface) or the [DvcOutboundInterface](#dvcoutboundinterface) fields. |
@@ -136,8 +136,8 @@ Fields that appear in the table below are common to all ASIM schemas. Any guidel
136136
| <a name="networkdirection"></a>**NetworkDirection** | Optional | Enumerated | The direction of the connection or session:<br><br> - For the [EventType](#eventtype) `NetworkSession`, **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. |
137137
| <a name="networkduration"></a>**NetworkDuration** | Optional | Integer | The amount of time, in milliseconds, for the completion of the network session or connection.<br><br>Example: `1500` |
138138
| **Duration** | Alias | | Alias to [NetworkDuration](#networkduration). |
139-
| **NetworkIcmpCode** | Optional | Integer | For an ICMP message, the ICMP message type numeric value as described in [RFC 2780](https://datatracker.ietf.org/doc/html/rfc2780) for IPv4 network connections, or in [RFC 4443](https://datatracker.ietf.org/doc/html/rfc4443) for IPv6 network connections. If a [NetworkIcmpType](#networkicmptype) value is provided, this field is mandatory. If the value isn't available from the source, derive the value from the [NetworkIcmpType](#networkicmptype) field instead.<br><br>Example: `34` |
140-
|<a name="networkicmptype"></a> **NetworkIcmpType** | Optional | String | For an ICMP message, the ICMP message type text representation, as described in [RFC 2780](https://datatracker.ietf.org/doc/html/rfc2780) for IPv4 network connections, or in [RFC 4443](https://datatracker.ietf.org/doc/html/rfc4443) for IPv6 network connections.<br><br>Example: `Destination Unreachable` |
139+
|<a name="networkicmptype"></a> **NetworkIcmpType** | Optional | String | For an ICMP message, the ICMP message type number, as described in [RFC 2780](https://datatracker.ietf.org/doc/html/rfc2780) for IPv4 network connections, or in [RFC 4443](https://datatracker.ietf.org/doc/html/rfc4443) for IPv6 network connections. |
140+
| **NetworkIcmpCode** | Optional | Integer | For an ICMP message, the ICMP code number as described in [RFC 2780](https://datatracker.ietf.org/doc/html/rfc2780) for IPv4 network connections, or in [RFC 4443](https://datatracker.ietf.org/doc/html/rfc4443) for IPv6 network connections. |
141141
| **NetworkConnectionHistory** | Optional | String | TCP flags and other potential IP header information. |
142142
| **DstBytes** | Recommended | Long | The number of bytes sent from the destination to the source for the connection or session. If the event is aggregated, **DstBytes** should be the sum over all aggregated sessions.<br><br>Example: `32455` |
143143
| **SrcBytes** | Recommended | Long | The number of bytes sent from the source to the destination for the connection or session. If the event is aggregated, **SrcBytes** should be the sum over all aggregated sessions.<br><br>Example: `46536` |
@@ -147,6 +147,15 @@ Fields that appear in the table below are common to all ASIM schemas. Any guidel
147147
| **NetworkPackets** | Optional | Long | The number of packets sent in both directions. If both **PacketsReceived** and **PacketsSent** exist, **BytesTotal** should equal their sum. The meaning of a packet is defined by the reporting device. If the event is aggregated, **NetworkPackets** should be the sum over all aggregated sessions.<br><br>Example: `6924` |
148148
|<a name="networksessionid"></a>**NetworkSessionId** | Optional | string | The session identifier as reported by the reporting device. <br><br>Example: `172\_12\_53\_32\_4322\_\_123\_64\_207\_1\_80` |
149149
| **SessionId** | Alias | String | Alias to [NetworkSessionId](#networksessionid). |
150+
| **TcpFlagsAck** | Optional | Boolean | The TCP ACK Flag reported. The acknowledgment flag is used to acknowledge the successful receipt of a packet. As we can see from the diagram above, the receiver sends an ACK as well as a SYN in the second step of the three way handshake process to tell the sender that it received its initial packet. |
151+
| **TcpFlagsFin** | Optional | Boolean | The TCP FIN Flag reported. The finished flag means there is no more data from the sender. Therefore, it is used in the last packet sent from the sender. |
152+
| **TcpFlagsSyn** | Optional | Boolean | The TCP SYN Flag reported. The synchronization flag is used as a first step in establishing a three way handshake between two hosts. Only the first packet from both the sender and receiver should have this flag set. |
153+
| **TcpFlagsUrg** | Optional | Boolean | The TCP URG Flag reported. The urgent flag is used to notify the receiver to process the urgent packets before processing all other packets. The receiver will be notified when all known urgent data has been received. See [RFC 6093](https://tools.ietf.org/html/rfc6093) for more details. |
154+
| **TcpFlagsPsh** | Optional | Boolean | The TCP PSH Flag reported. The push flag is somewhat similar to the URG flag and tells the receiver to process these packets as they are received instead of buffering them. |
155+
| **TcpFlagsRst** | Optional | Boolean | The TCP RST Flag reported. The reset flag gets sent from the receiver to the sender when a packet is sent to a particular host that was not expecting it. |
156+
| **TcpFlagsEce** | Optional | Boolean | The TCP ECE Flag reported. This flag is responsible for indicating if the TCP peer is [ECN capable](https://en.wikipedia.org/wiki/Explicit_Congestion_Notification). See [RFC 3168](https://tools.ietf.org/html/rfc3168) for more details. |
157+
| **TcpFlagsCwr** | Optional | Boolean | The TCP CWR Flag reported. The congestion window reduced flag is used by the sending host to indicate it received a packet with the ECE flag set. See [RFC 3168](https://tools.ietf.org/html/rfc3168) for more details. |
158+
| **TcpFlagsNs** | Optional | Boolean | The TCP NS Flag reported. The nonce sum flag is still an experimental flag used to help protect against accidental malicious concealment of packets from the sender. See [RFC 3540](https://tools.ietf.org/html/rfc3540) for more details |
150159

151160

152161
### Destination system fields
@@ -295,6 +304,13 @@ The following fields are used to represent that inspection which a security devi
295304
| **ThreatCategory** | Optional | String | The category of the threat or malware identified in the network session.<br><br>Example: `Trojan` |
296305
| **ThreatRiskLevel** | Optional | Integer | The risk level associated with the session. 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](#threatriskleveloriginal). |
297306
| <a name="threatriskleveloriginal"></a>**ThreatRiskLevelOriginal** | Optional | String | The risk level as reported by the reporting device. |
307+
| **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. |
308+
| <a name="threatfield"></a>**ThreatField** | Optional | Enumerated | The field for which a threat was identified. The value is either `SrcIpAddr` or `DstIpAddr`. |
309+
| **ThreatConfidence** | Optional | Integer | The confidence level of the threat identified, normalized to a value between 0 and a 100.|
310+
| **ThreatOriginalConfidence** | Optional | String | The original confidence level of the threat identified, as reported by the reporting device.|
311+
| **ThreatIsActive** | Optional | Boolean | True ID the threat identified is considered an active threat. |
312+
| **ThreatFirstReportedTime** | Optional | datetime | The first time the IP address or domain were identified as a threat. |
313+
| **ThreatLastReportedTime** | Optional | datetime | The last time the IP address or domain were identified as a threat.|
298314

299315

300316
### Other fields
@@ -324,6 +340,11 @@ Theses are the changes in version 0.2.3 of the schema:
324340
- The `hostname_has_any` filtering parameter now matches either source or destination hostnames.
325341
- Added the fields `ASimMatchingHostname` and `ASimMatchingIpAddr`.
326342

343+
Theses are the changes in version 0.2.4 of the schema:
344+
- Added the `TcpFlags` fields.
345+
- Updated `NetworkIcpmType` and `NetworkIcmpCode` to reflect the number value for both.
346+
- Added additional inspection fields.
347+
327348
## Next steps
328349

329350
For more information, see:
@@ -332,4 +353,4 @@ For more information, see:
332353
- [Advanced Security Information Model (ASIM) overview](normalization.md)
333354
- [Advanced Security Information Model (ASIM) schemas](normalization-about-schemas.md)
334355
- [Advanced Security Information Model (ASIM) parsers](normalization-parsers-overview.md)
335-
- [Advanced Security Information Model (ASIM) content](normalization-content.md)
356+
- [Advanced Security Information Model (ASIM) content](normalization-content.md)
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
---
2+
title: Advanced Security Information Model (ASIM) known issues | Microsoft Docs
3+
description: This article outlines the Microsoft Sentinel Advanced Security Information Model (ASIM) known issues.
4+
author: oshezaf
5+
ms.topic: reference
6+
ms.date: 08/02/2021
7+
ms.author: ofshezaf
8+
---
9+
10+
# Advanced Security Information Model (ASIM) known issues (Public preview)
11+
12+
[!INCLUDE [Banner for top of topics](./includes/banner.md)]
13+
14+
The following are the Advanced Security Information Model (ASIM) known issues and limitations:
15+
16+
## Time picker set to a custom range
17+
18+
When using ASIM parsers in the log screen, the time picker will change automatically to "set in query", which will result in querying over all data in the relevant tables. The query results may not be the expected results and performance may be slow.
19+
20+
:::image type="content" source="media/normalization/asim-custom-time-picker.png" alt-text="Screenshot of custom time picker when using ASIM.":::
21+
22+
To ensure correct and timely results, set the time range to your preferred range after it changes to "set in query".
23+
24+
## Performance challenges
25+
26+
ASIM based queries over a long time range, and which do not use filtering parameters, may be slow. Parsing is a resource-intensive operation, and when applied to a large, unfiltered, dataset, it is expected to be slow.
27+
28+
If you encounter performance issues:
29+
- When using an interactive query, make sure to set the time picker to time range needed.
30+
- Use parser filters. Most importantly use the `starttime` and the `endtime` filter parameters.
31+
32+
## The ingest_time() function is not supported
33+
34+
The `ingest_time()` function reports the time at which a record was ingested into Microsoft Sentinel, which may be different from `TimeGenerated`. This information is commonly used in queries that take into account ingestion delays. The `ingest_time()` has to be used in the context of a specific table and does not work with ASIM functions, which unify many different tables.
35+
36+
## Misleading informational message
37+
38+
In some cases when using ASIM parser functions, usually when there are no results to the query, the following information message is displayed.
39+
40+
:::image type="content" source="media/normalization/asim-error-message.png" alt-text="Screenshot of ASIM-related misleading informational message.":::
41+
42+
While the message is alarming, it is informational only, and the system behaved as expected. ASIM functions combine data from many sources, regardless of whether they are available in your environment or not. The message suggests that some of the sources are not available in your environment.
43+
44+
## <a name="next-steps"></a>Next steps
45+
46+
This article discusses the Advanced Security Information Model (ASIM) help functions.
47+
48+
For more information, see:
49+
50+
- Watch the [Deep Dive Webinar on Microsoft Sentinel Normalizing Parsers and Normalized Content](https://www.youtube.com/watch?v=zaqblyjQW6k) or review the [slides](https://1drv.ms/b/s!AnEPjr8tHcNmjGtoRPQ2XYe3wQDz?e=R3dWeM)
51+
- [Advanced Security Information Model (ASIM) overview](normalization.md)
52+
- [Advanced Security Information Model (ASIM) schemas](normalization-about-schemas.md)
53+
- [Advanced Security Information Model (ASIM) parsers](normalization-about-parsers.md)
54+
- [Using the Advanced Security Information Model (ASIM)](normalization-about-parsers.md)
55+
- [Modifying Microsoft Sentinel content to use the Advanced Security Information Model (ASIM) parsers](normalization-modify-content.md)

0 commit comments

Comments
 (0)