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
-[Microsoft Defender for Endpoint Plan 1](microsoft-defender-endpoint.md)
@@ -84,7 +83,7 @@ The following table lists commonly used Group Policy settings that are available
84
83
| MAPS | Configure local setting override for reporting to Microsoft MAPS|[Prevent or allow users to locally modify policy settings](configure-local-policy-overrides-microsoft-defender-antivirus.md)|
| MpEngine | Enable file hash computation feature |[Create indicators for files](/defender-endpoint/indicator-file#windows-prerequisites)<br/>This drives the ability to enforce Indicators of Compromise (IoC) by using file hash allow/block indicators, available in Defender for Endpoint Plan 1 and Plan 2, and in Defender for Business. Note that Microsoft Defender Antivirus automatically does hash-based computation for the antimalware engine, so you don't have to do anything extra unless it is a [VDI non-persistent image](/defender-endpoint/deployment-vdi-microsoft-defender-antivirus).|
| Network inspection system | Convert warn verdict to block |[Network protection: Warn experience](network-protection.md#warn-experience)|
90
89
| Network inspection system | Specify more definition sets for network traffic inspection | Not used (deprecated) |
@@ -111,7 +110,7 @@ The following table lists commonly used Group Policy settings that are available
111
110
| Remediation | Configure local setting override for the time of day to run a scheduled full scan to complete remediation |[Prevent or allow users to locally modify policy settings](configure-local-policy-overrides-microsoft-defender-antivirus.md)|
112
111
| Remediation | Specify the day of the week to run a scheduled full scan to complete remediation |[Configure scheduled Microsoft Defender Antivirus scans](schedule-antivirus-scans.md)|
113
112
| Remediation | Specify the time of day to run a scheduled full scan to complete remediation |[Configure scheduled Microsoft Defender Antivirus scans](schedule-antivirus-scans.md)|
114
-
| Reporting | Configure time interval for service health reports |[Configure Microsoft Defender Antivirus notifications that appear on endpoints](configure-notifications-microsoft-defender-antivirus.md)|
113
+
| Reporting | Configure time interval for service health reports |[Configure Microsoft Defender Antivirus notifications that appear on endpoints](configure-notifications-microsoft-defender-antivirus.md)|
115
114
| Reporting | Configure time out for detections in critically failed state |[Configure Microsoft Defender Antivirus notifications that appear on endpoints](configure-notifications-microsoft-defender-antivirus.md)|
116
115
| Reporting | Configure time out for detections in noncritical failed state |[Configure Microsoft Defender Antivirus notifications that appear on endpoints](configure-notifications-microsoft-defender-antivirus.md)|
117
116
| Reporting | Configure time out for detections in recently remediated state |[Configure Microsoft Defender Antivirus notifications that appear on endpoints](configure-notifications-microsoft-defender-antivirus.md)|
Copy file name to clipboardExpand all lines: defender-xdr/advanced-hunting-best-practices.md
+16-5Lines changed: 16 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -134,7 +134,7 @@ The [join operator](/azure/data-explorer/kusto/query/joinoperator) merges rows f
134
134
| join kind=inner (DeviceFileEvents | where Timestamp > ago(1h)) on SHA256
135
135
```
136
136
137
-
- **Use hints for performance**—Use hints with the `join` operator to instruct the backend to distribute load when running resource-intensive operations. [Learn more about join hints](/azure/data-explorer/kusto/query/joinoperator#join-hints)
137
+
- **Use hints for performance**—Use hints with the `join` operator to instruct the backend to distribute load when running resource-intensive operations. [Learn more about join hints](/azure/data-explorer/kusto/query/joinoperator#join-hints).
138
138
139
139
For example, the **[shuffle hint](/azure/data-explorer/kusto/query/shufflequery)** helps improve query performance when joining tables using a key with high cardinality—a key with many unique values—such as the `AccountObjectId` in the query below:
140
140
@@ -193,15 +193,24 @@ The [summarize operator](/azure/data-explorer/kusto/query/summarizeoperator) agg
193
193
| summarize hint.shufflekey = RecipientEmailAddress count() by Subject, RecipientEmailAddress
194
194
```
195
195
196
-
197
-
198
196
## Query scenarios
199
197
200
198
### Identify unique processes with process IDs
201
199
202
200
Process IDs (PIDs) are recycled in Windows and reused for new processes. On their own, they can't serve as unique identifiers for specific processes.
203
201
204
-
Usually, the only way to uniquely identify a process on a specific device was by combining its process ID with its process creation time, along with the device identifier (either `DeviceId` or `DeviceName`). While this approach is still valid, there’s a more direct method using the `ProcessUniqueId` field. Both methods yield unique process instances, but as a best practice we recommend using `ProcessUniqueId` when available, as it simplifies queries and eliminates the need to handle PID reuse scenarios.
202
+
Typically, the only way to uniquely identify a process on a specific device was by combining its process ID with its process creation time, along with the device identifier (either `DeviceId` or `DeviceName`). For instance, the following example query finds processes that access more than 10 IP addresses over port 445 (SMB), possibly scanning for file shares.
203
+
204
+
```kusto
205
+
DeviceNetworkEvents
206
+
| where RemotePort == 445 and Timestamp > ago(12h) and InitiatingProcessId !in (0, 4)
207
+
| summarize RemoteIPCount=dcount(RemoteIP) by DeviceName, InitiatingProcessId, InitiatingProcessCreationTime, InitiatingProcessFileName
208
+
| where RemoteIPCount > 10
209
+
```
210
+
211
+
The above query summarizes by both `InitiatingProcessId` and `InitiatingProcessCreationTime` so that it looks at a single process, without mixing multiple processes with the same process ID.
212
+
213
+
This approach is still valid, especially for non-Windows systems. However, in Windows, there’s a more direct method using the `ProcessUniqueId` field. While both the previous method and the one discussed below yield unique process instances, as a best practice we recommend using `ProcessUniqueId` when available, as it simplifies queries and eliminates the need to handle PID reuse scenarios.
205
214
206
215
This query demonstrates how to use the `ProcessUniqueId` and `InitiatingProcessUniqueId` fields to link a specific parent process to its child processes. By matching each child’s `InitiatingProcessUniqueId` to the parent’s `ProcessUniqueId`, it isolates only those child processes launched by that exact parent instance, even if process IDs get reused over time.
207
216
@@ -232,7 +241,9 @@ DeviceProcessEvents
232
241
Timestamp
233
242
```
234
243
235
-
The query summarizes by both `InitiatingProcessId` and `InitiatingProcessCreationTime` so that it looks at a single process, without mixing multiple processes with the same process ID.
244
+
Likewise, the query summarizes by both `InitiatingProcessId` and `InitiatingProcessCreationTime` so that it looks at a single process, without mixing multiple processes with the same process ID.
245
+
246
+
:::image type="content" source="/defender-xdr/media/best-practice-unique-processid-tb.png" alt-text="Screenshot of sample query results for getting unique processes in the Microsoft Defender portal." lightbox="/defender-xdr/media/best-practice-unique-processid.png":::
236
247
237
248
### Query command lines
238
249
There are numerous ways to construct a command line to accomplish a task. For example, an attacker could reference an image file without a path, without a file extension, using environment variables, or with quotes. The attacker could also change the order of parameters or add multiple quotes and spaces.
Copy file name to clipboardExpand all lines: defender-xdr/configure-attack-disruption.md
-3Lines changed: 0 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -58,9 +58,6 @@ Review the configured automation level for your device group policies, whether a
58
58
59
59
You can also create or edit your device groups to set the appropriate remediation level for each group. Selecting the **Semi automation** level allows triggering of automatic attack disruption without the need for manual approval. To exclude a device group from automated containment, you can set its automation level to **no automated response**. Note that this setting is not highly recommended and should only be done for a limited number of devices.
60
60
61
-
#### Device discovery configuration
62
-
63
-
Device discovery settings must be activated to "Standard Discovery" at a minimum. Learn how to configure device discovery in [Set up device discovery](/defender-endpoint/configure-device-discovery).
64
61
65
62
> [!NOTE]
66
63
> Attack disruption can act on devices independent of a device's Microsoft Defender Antivirus operating state. The operating state can be in Active, Passive, or EDR Block Mode.
0 commit comments