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
Copy file name to clipboardExpand all lines: articles/sentinel/network-normalization-schema.md
+25-4Lines changed: 25 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -108,7 +108,7 @@ The following list mentions fields that have specific guidelines for Network Ses
108
108
| <aname="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`|
109
109
|**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`. |
110
110
|**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`. |
112
112
| <aname="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`|
113
113
|**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`. |
114
114
|**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
136
136
| <aname="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. |
137
137
| <aname="networkduration"></a>**NetworkDuration**| Optional | Integer | The amount of time, in milliseconds, for the completion of the network session or connection.<br><br>Example: `1500`|
138
138
|**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
-
|<aname="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
+
|<aname="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. |
141
141
|**NetworkConnectionHistory**| Optional | String | TCP flags and other potential IP header information. |
142
142
|**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`|
143
143
|**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
147
147
|**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`|
148
148
|<aname="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`|
149
149
|**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 |
150
159
151
160
152
161
### Destination system fields
@@ -295,6 +304,13 @@ The following fields are used to represent that inspection which a security devi
295
304
|**ThreatCategory**| Optional | String | The category of the threat or malware identified in the network session.<br><br>Example: `Trojan`|
296
305
|**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). |
297
306
| <aname="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
+
| <aname="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.|
298
314
299
315
300
316
### Other fields
@@ -324,6 +340,11 @@ Theses are the changes in version 0.2.3 of the schema:
324
340
- The `hostname_has_any` filtering parameter now matches either source or destination hostnames.
325
341
- Added the fields `ASimMatchingHostname` and `ASimMatchingIpAddr`.
326
342
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
+
327
348
## Next steps
328
349
329
350
For more information, see:
@@ -332,4 +353,4 @@ For more information, see:
332
353
-[Advanced Security Information Model (ASIM) overview](normalization.md)
333
354
-[Advanced Security Information Model (ASIM) schemas](normalization-about-schemas.md)
334
355
-[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)
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
+
## <aname="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