From ce1bdf299f5675b960c388745e403e0ad0abfd1a Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Thu, 21 May 2020 12:38:28 -0700 Subject: [PATCH 01/30] Create feedback-loop-blocking.md --- .../feedback-loop-blocking.md | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md diff --git a/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md b/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md new file mode 100644 index 0000000000..0bac7f80f3 --- /dev/null +++ b/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md @@ -0,0 +1,27 @@ +--- +title: Feedback-loop blocking +description: Feedback-loop blocking, also called rapid protection, is part of behavioral blocking and containment capabilities in Microsoft Defender ATP +keywords: behavioral blocking, rapid protection, feedback blocking, Microsoft Defender ATP +search.product: eADQiWindows 10XVcnh +ms.pagetype: security +author: denisebmsft +ms.author: deniseb +manager: dansimp +ms.reviewer: shwetaj +audience: ITPro +ms.topic: article +ms.prod: w10 +ms.localizationpriority: medium +ms.custom: +- next-gen +- edr +ms.collection: +--- + +# Feedback-loop blocking + +**Applies to:** + +- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP)](https://go.microsoft.com/fwlink/p/?linkid=2069559) + +## Overview \ No newline at end of file From 2af807c404b7e8cefc4c4b467a1e14dea7d96c35 Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Thu, 21 May 2020 12:39:46 -0700 Subject: [PATCH 02/30] Update TOC.md --- windows/security/threat-protection/TOC.md | 1 + 1 file changed, 1 insertion(+) diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index d65cca5636..21f50c35db 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -327,6 +327,7 @@ ### [Behavioral blocking and containment]() #### [Behavioral blocking and containment](microsoft-defender-atp/behavioral-blocking-containment.md) +#### [Feedback-loop blocking](microsoft-defender-atp/feedback-loop-blocking.md) #### [EDR in block mode](microsoft-defender-atp/edr-in-block-mode.md) ### [Automated investigation and response (AIR)]() From 455cd230dee5872a586f930a47cf3822d067a6a9 Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Thu, 21 May 2020 13:52:33 -0700 Subject: [PATCH 03/30] Update feedback-loop-blocking.md --- .../microsoft-defender-atp/feedback-loop-blocking.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md b/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md index 0bac7f80f3..2c17fb301c 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md +++ b/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md @@ -24,4 +24,10 @@ ms.collection: - [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP)](https://go.microsoft.com/fwlink/p/?linkid=2069559) -## Overview \ No newline at end of file +## Overview + +Feedback-loop blocking, also referred to as rapid protection, is a component of [behavioral blocking and containment capabilities](https://docs.microsoft.com/en-us/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment) in [Microsoft Defender ATP](https://docs.microsoft.com/windows/security/threat-protection/). With feedback-loop blocking, devices in your organization are protected better protected from threats. When a suspicious behavior or file is detected, such as by Microsoft Defender Antivirus, it's treated as a potential false negative. With machine learning and and is observed more closely. Once confirmed as malicious, on a device is confirmed as malicious, + +Feedback-loop blocking Within a few moments of confirming a file as malicious, , the file, machine learning models operating on the EDR data, which come with richer granular details, determined the file to be malware, raised an alert, and provided feedback to the rapid protection loop engine. This insight led to the immediate blocking of the file on subsequent machines. + +Behavioral detections feed into protection stack as potential FNs, generating new protection based on patient 0 behavioral intelligence. Patient 1+ are now protected and threats prevented higher in the stack From 997f2cff855d7764bf30144c4bc6ad521d978531 Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Thu, 21 May 2020 14:18:45 -0700 Subject: [PATCH 04/30] Update feedback-loop-blocking.md --- .../microsoft-defender-atp/feedback-loop-blocking.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md b/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md index 2c17fb301c..62e9eb491c 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md +++ b/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md @@ -26,8 +26,7 @@ ms.collection: ## Overview -Feedback-loop blocking, also referred to as rapid protection, is a component of [behavioral blocking and containment capabilities](https://docs.microsoft.com/en-us/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment) in [Microsoft Defender ATP](https://docs.microsoft.com/windows/security/threat-protection/). With feedback-loop blocking, devices in your organization are protected better protected from threats. When a suspicious behavior or file is detected, such as by Microsoft Defender Antivirus, it's treated as a potential false negative. With machine learning and and is observed more closely. Once confirmed as malicious, on a device is confirmed as malicious, +Feedback-loop blocking, also referred to as rapid protection, is a component of [behavioral blocking and containment capabilities](https://docs.microsoft.com/en-us/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment) in [Microsoft Defender ATP](https://docs.microsoft.com/windows/security/threat-protection/). With feedback-loop blocking, devices in your organization are protected better protected from threats. When a suspicious behavior or file is detected, such as by [Microsoft Defender Antivirus](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-antivirus/windows-defender-antivirus-in-windows-10), the file or behavior is treated as a potential false negative, and is observed more closely. Once confirmed as malicious, artifacts are stopped in their tracks, and are reported to your cloud protection service. In almost real time, the other devices in your organization are scanned for and protected from those malicious artifacts. Thus, if a malicious behavior or file is detected on one device, it's analyzed and stopped, and other devices are protected from those artifacts as well. -Feedback-loop blocking Within a few moments of confirming a file as malicious, , the file, machine learning models operating on the EDR data, which come with richer granular details, determined the file to be malware, raised an alert, and provided feedback to the rapid protection loop engine. This insight led to the immediate blocking of the file on subsequent machines. +## Configuring feedback-loop blocking -Behavioral detections feed into protection stack as potential FNs, generating new protection based on patient 0 behavioral intelligence. Patient 1+ are now protected and threats prevented higher in the stack From 2c1bbd5ac5d53560efb0fc31ed6ec0fd65517bd8 Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Thu, 21 May 2020 14:58:16 -0700 Subject: [PATCH 05/30] Update feedback-loop-blocking.md --- .../feedback-loop-blocking.md | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md b/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md index 62e9eb491c..a216ae3494 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md +++ b/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md @@ -26,7 +26,22 @@ ms.collection: ## Overview -Feedback-loop blocking, also referred to as rapid protection, is a component of [behavioral blocking and containment capabilities](https://docs.microsoft.com/en-us/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment) in [Microsoft Defender ATP](https://docs.microsoft.com/windows/security/threat-protection/). With feedback-loop blocking, devices in your organization are protected better protected from threats. When a suspicious behavior or file is detected, such as by [Microsoft Defender Antivirus](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-antivirus/windows-defender-antivirus-in-windows-10), the file or behavior is treated as a potential false negative, and is observed more closely. Once confirmed as malicious, artifacts are stopped in their tracks, and are reported to your cloud protection service. In almost real time, the other devices in your organization are scanned for and protected from those malicious artifacts. Thus, if a malicious behavior or file is detected on one device, it's analyzed and stopped, and other devices are protected from those artifacts as well. +Feedback-loop blocking, also referred to as rapid protection, is a component of [behavioral blocking and containment capabilities](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment) in [Microsoft Defender ATP](https://docs.microsoft.com/windows/security/threat-protection/). With feedback-loop blocking, devices in your organization are protected better protected from threats. When a suspicious behavior or file is detected, such as by [Microsoft Defender Antivirus](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-antivirus/windows-defender-antivirus-in-windows-10), the file or behavior is treated as a potential false negative, and is observed more closely. Once confirmed as malicious, artifacts are stopped in their tracks, and are reported to your cloud protection service. In almost real time, the other devices in your organization are scanned for and protected from those malicious artifacts. Thus, if a malicious behavior or file is detected on one device, it's analyzed and stopped, and other devices are protected from those artifacts as well. ## Configuring feedback-loop blocking +If your organization is using Microsoft Defender ATP, feedback-loop blocking is enabled by default. However, rapid protection occurs through a combination of Microsoft Defender ATP capabilities, machine learning protection features, and signal-sharing across Microsoft security services. + +Make sure the following features and capabilities of Microsoft Defender ATP are enabled and configured: +- [Microsoft Defender ATP baselines](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/configure-machines-security-baseline) +- [Devices onboarded to Microsoft Defender ATP](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/onboard-configure) +- [EDR in block mode](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/edr-in-block-mode) +- [Attack surface reduction](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/attack-surface-reduction) +- [Next-generation protection](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-antivirus/configure-windows-defender-antivirus-features) (antivirus) + +## Related articles + +- [Helpful Microsoft Defender ATP resources](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/helpful-resources) + +- [Behavioral blocking and containment](behavioral-blocking-containment.md) + From 1477aa97daeabe3768353899ffcfb8c097033a4a Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Thu, 21 May 2020 15:00:01 -0700 Subject: [PATCH 06/30] Update feedback-loop-blocking.md --- .../microsoft-defender-atp/feedback-loop-blocking.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md b/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md index a216ae3494..bff8b3513e 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md +++ b/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md @@ -41,7 +41,8 @@ Make sure the following features and capabilities of Microsoft Defender ATP are ## Related articles -- [Helpful Microsoft Defender ATP resources](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/helpful-resources) - - [Behavioral blocking and containment](behavioral-blocking-containment.md) +- [Helpful Microsoft Defender ATP resources](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/helpful-resources) + + From 1fa1441f7dd09b9e91a884c36d45bbce4a489d72 Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Thu, 21 May 2020 15:17:28 -0700 Subject: [PATCH 07/30] Update feedback-loop-blocking.md --- .../microsoft-defender-atp/feedback-loop-blocking.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md b/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md index bff8b3513e..4d341f22c2 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md +++ b/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md @@ -26,7 +26,12 @@ ms.collection: ## Overview -Feedback-loop blocking, also referred to as rapid protection, is a component of [behavioral blocking and containment capabilities](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment) in [Microsoft Defender ATP](https://docs.microsoft.com/windows/security/threat-protection/). With feedback-loop blocking, devices in your organization are protected better protected from threats. When a suspicious behavior or file is detected, such as by [Microsoft Defender Antivirus](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-antivirus/windows-defender-antivirus-in-windows-10), the file or behavior is treated as a potential false negative, and is observed more closely. Once confirmed as malicious, artifacts are stopped in their tracks, and are reported to your cloud protection service. In almost real time, the other devices in your organization are scanned for and protected from those malicious artifacts. Thus, if a malicious behavior or file is detected on one device, it's analyzed and stopped, and other devices are protected from those artifacts as well. +Feedback-loop blocking, also referred to as rapid protection, is a component of [behavioral blocking and containment capabilities](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment) in [Microsoft Defender ATP](https://docs.microsoft.com/windows/security/threat-protection/). With feedback-loop blocking, devices across your organization are better protected from attacks. + +When a suspicious behavior or file is detected, such as by [Microsoft Defender Antivirus](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-antivirus/windows-defender-antivirus-in-windows-10), information about that artifact is sent to multiple classifiers. The rapid protection loop engine inspects and correlates the information with other signals to arrive at a decision as to whether to block a file. This results in rapid blocking of confirmed malware, and drives protection across the entire ecosystem through rapid blocking and containment. + +With rapid protection in place, an attack can be stopped on a device, other devices in the organization, and devices in other organizations, as an attack attempts to broaden its foothold. + ## Configuring feedback-loop blocking From 71c8066dc23d9893f8e99577021d4356a4baeed3 Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Thu, 21 May 2020 15:29:25 -0700 Subject: [PATCH 08/30] Update feedback-loop-blocking.md --- .../microsoft-defender-atp/feedback-loop-blocking.md | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md b/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md index 4d341f22c2..6b33b0e54d 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md +++ b/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md @@ -28,16 +28,18 @@ ms.collection: Feedback-loop blocking, also referred to as rapid protection, is a component of [behavioral blocking and containment capabilities](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment) in [Microsoft Defender ATP](https://docs.microsoft.com/windows/security/threat-protection/). With feedback-loop blocking, devices across your organization are better protected from attacks. -When a suspicious behavior or file is detected, such as by [Microsoft Defender Antivirus](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-antivirus/windows-defender-antivirus-in-windows-10), information about that artifact is sent to multiple classifiers. The rapid protection loop engine inspects and correlates the information with other signals to arrive at a decision as to whether to block a file. This results in rapid blocking of confirmed malware, and drives protection across the entire ecosystem through rapid blocking and containment. +:::image type="content" source="images/mdatp-next-gen-EDR-behavblockcontain.png" alt-text="Behavioral blocking and containment"::: + +### How feedback-loop blocking works + +When a suspicious behavior or file is detected, such as by [Microsoft Defender Antivirus](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-antivirus/windows-defender-antivirus-in-windows-10), information about that artifact is sent to multiple classifiers. The rapid protection loop engine inspects and correlates the information with other signals to arrive at a decision as to whether to block a file. All of this happens very quickly. It results in rapid blocking of confirmed malware, and drives protection across the entire ecosystem. With rapid protection in place, an attack can be stopped on a device, other devices in the organization, and devices in other organizations, as an attack attempts to broaden its foothold. ## Configuring feedback-loop blocking -If your organization is using Microsoft Defender ATP, feedback-loop blocking is enabled by default. However, rapid protection occurs through a combination of Microsoft Defender ATP capabilities, machine learning protection features, and signal-sharing across Microsoft security services. - -Make sure the following features and capabilities of Microsoft Defender ATP are enabled and configured: +If your organization is using Microsoft Defender ATP, feedback-loop blocking is enabled by default. However, rapid protection occurs through a combination of Microsoft Defender ATP capabilities, machine learning protection features, and signal-sharing across Microsoft security services. Make sure the following features and capabilities of Microsoft Defender ATP are enabled and configured: - [Microsoft Defender ATP baselines](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/configure-machines-security-baseline) - [Devices onboarded to Microsoft Defender ATP](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/onboard-configure) - [EDR in block mode](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/edr-in-block-mode) @@ -50,4 +52,4 @@ Make sure the following features and capabilities of Microsoft Defender ATP are - [Helpful Microsoft Defender ATP resources](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/helpful-resources) - +- [(Blog) Behavioral blocking and containment: Transforming optics into protection](https://www.microsoft.com/security/blog/2020/03/09/behavioral-blocking-and-containment-transforming-optics-into-protection/) From f9526290f6056babec8c0ae551d892a5cea3cf96 Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Thu, 21 May 2020 15:32:23 -0700 Subject: [PATCH 09/30] Update feedback-loop-blocking.md --- .../microsoft-defender-atp/feedback-loop-blocking.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md b/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md index 6b33b0e54d..aa9f563768 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md +++ b/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md @@ -40,10 +40,15 @@ With rapid protection in place, an attack can be stopped on a device, other devi ## Configuring feedback-loop blocking If your organization is using Microsoft Defender ATP, feedback-loop blocking is enabled by default. However, rapid protection occurs through a combination of Microsoft Defender ATP capabilities, machine learning protection features, and signal-sharing across Microsoft security services. Make sure the following features and capabilities of Microsoft Defender ATP are enabled and configured: + - [Microsoft Defender ATP baselines](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/configure-machines-security-baseline) + - [Devices onboarded to Microsoft Defender ATP](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/onboard-configure) + - [EDR in block mode](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/edr-in-block-mode) + - [Attack surface reduction](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/attack-surface-reduction) + - [Next-generation protection](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-antivirus/configure-windows-defender-antivirus-features) (antivirus) ## Related articles From af2e6fc4c8b9ddac9fb8a3726a35c169e99e3609 Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Thu, 21 May 2020 15:36:47 -0700 Subject: [PATCH 10/30] Update feedback-loop-blocking.md --- .../microsoft-defender-atp/feedback-loop-blocking.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md b/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md index aa9f563768..736818f59f 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md +++ b/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md @@ -55,6 +55,6 @@ If your organization is using Microsoft Defender ATP, feedback-loop blocking is - [Behavioral blocking and containment](behavioral-blocking-containment.md) -- [Helpful Microsoft Defender ATP resources](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/helpful-resources) - - [(Blog) Behavioral blocking and containment: Transforming optics into protection](https://www.microsoft.com/security/blog/2020/03/09/behavioral-blocking-and-containment-transforming-optics-into-protection/) + +- [Helpful Microsoft Defender ATP resources](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/helpful-resources) From e7e1753ecdb72351498ce6fe12c057b084402f31 Mon Sep 17 00:00:00 2001 From: Steve Burkett Date: Fri, 22 May 2020 12:10:14 +1200 Subject: [PATCH 11/30] Update run-detection-test.md Update folder and script to use the MDATP branding. --- .../microsoft-defender-atp/run-detection-test.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/run-detection-test.md b/windows/security/threat-protection/microsoft-defender-atp/run-detection-test.md index 2251ec4e49..624f4aaf34 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/run-detection-test.md +++ b/windows/security/threat-protection/microsoft-defender-atp/run-detection-test.md @@ -30,7 +30,7 @@ ms.topic: article Run the following PowerShell script on a newly onboarded machine to verify that it is properly reporting to the Microsoft Defender ATP service. -1. Create a folder: 'C:\test-WDATP-test'. +1. Create a folder: 'C:\test-MDATP-test'. 2. Open an elevated command-line prompt on the machine and run the script: a. Go to **Start** and type **cmd**. @@ -42,7 +42,7 @@ Run the following PowerShell script on a newly onboarded machine to verify that 3. At the prompt, copy and run the following command: ``` - powershell.exe -NoExit -ExecutionPolicy Bypass -WindowStyle Hidden $ErrorActionPreference= 'silentlycontinue';(New-Object System.Net.WebClient).DownloadFile('http://127.0.0.1/1.exe', 'C:\\test-WDATP-test\\invoice.exe');Start-Process 'C:\\test-WDATP-test\\invoice.exe' + powershell.exe -NoExit -ExecutionPolicy Bypass -WindowStyle Hidden $ErrorActionPreference= 'silentlycontinue';(New-Object System.Net.WebClient).DownloadFile('http://127.0.0.1/1.exe', 'C:\\test-MDATP-test\\invoice.exe');Start-Process 'C:\\test-MDATP-test\\invoice.exe' ``` The Command Prompt window will close automatically. If successful, the detection test will be marked as completed and a new alert will appear in the portal for the onboarded machine in approximately 10 minutes. From cec1bfb79d90714ca85f38442cfe98fb974d1f26 Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Fri, 22 May 2020 10:59:15 -0700 Subject: [PATCH 12/30] Update feedback-loop-blocking.md --- .../microsoft-defender-atp/feedback-loop-blocking.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md b/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md index 736818f59f..264351e391 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md +++ b/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md @@ -28,9 +28,7 @@ ms.collection: Feedback-loop blocking, also referred to as rapid protection, is a component of [behavioral blocking and containment capabilities](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment) in [Microsoft Defender ATP](https://docs.microsoft.com/windows/security/threat-protection/). With feedback-loop blocking, devices across your organization are better protected from attacks. -:::image type="content" source="images/mdatp-next-gen-EDR-behavblockcontain.png" alt-text="Behavioral blocking and containment"::: - -### How feedback-loop blocking works +## How feedback-loop blocking works When a suspicious behavior or file is detected, such as by [Microsoft Defender Antivirus](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-antivirus/windows-defender-antivirus-in-windows-10), information about that artifact is sent to multiple classifiers. The rapid protection loop engine inspects and correlates the information with other signals to arrive at a decision as to whether to block a file. All of this happens very quickly. It results in rapid blocking of confirmed malware, and drives protection across the entire ecosystem. From 187c87bbdfb4a7882b7a500fabee57c6582fca07 Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Fri, 22 May 2020 11:11:39 -0700 Subject: [PATCH 13/30] new article client behavioral blocking --- windows/security/threat-protection/TOC.md | 1 + .../client-behavioral-blocking.md | 58 +++++++++++++++++++ 2 files changed, 59 insertions(+) create mode 100644 windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index 21f50c35db..75641809bf 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -327,6 +327,7 @@ ### [Behavioral blocking and containment]() #### [Behavioral blocking and containment](microsoft-defender-atp/behavioral-blocking-containment.md) +#### [Client behavioral blocking](microsoft-defender-atp/client-behavioral-blocking.md) #### [Feedback-loop blocking](microsoft-defender-atp/feedback-loop-blocking.md) #### [EDR in block mode](microsoft-defender-atp/edr-in-block-mode.md) diff --git a/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md b/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md new file mode 100644 index 0000000000..264351e391 --- /dev/null +++ b/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md @@ -0,0 +1,58 @@ +--- +title: Feedback-loop blocking +description: Feedback-loop blocking, also called rapid protection, is part of behavioral blocking and containment capabilities in Microsoft Defender ATP +keywords: behavioral blocking, rapid protection, feedback blocking, Microsoft Defender ATP +search.product: eADQiWindows 10XVcnh +ms.pagetype: security +author: denisebmsft +ms.author: deniseb +manager: dansimp +ms.reviewer: shwetaj +audience: ITPro +ms.topic: article +ms.prod: w10 +ms.localizationpriority: medium +ms.custom: +- next-gen +- edr +ms.collection: +--- + +# Feedback-loop blocking + +**Applies to:** + +- [Microsoft Defender Advanced Threat Protection (Microsoft Defender ATP)](https://go.microsoft.com/fwlink/p/?linkid=2069559) + +## Overview + +Feedback-loop blocking, also referred to as rapid protection, is a component of [behavioral blocking and containment capabilities](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment) in [Microsoft Defender ATP](https://docs.microsoft.com/windows/security/threat-protection/). With feedback-loop blocking, devices across your organization are better protected from attacks. + +## How feedback-loop blocking works + +When a suspicious behavior or file is detected, such as by [Microsoft Defender Antivirus](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-antivirus/windows-defender-antivirus-in-windows-10), information about that artifact is sent to multiple classifiers. The rapid protection loop engine inspects and correlates the information with other signals to arrive at a decision as to whether to block a file. All of this happens very quickly. It results in rapid blocking of confirmed malware, and drives protection across the entire ecosystem. + +With rapid protection in place, an attack can be stopped on a device, other devices in the organization, and devices in other organizations, as an attack attempts to broaden its foothold. + + +## Configuring feedback-loop blocking + +If your organization is using Microsoft Defender ATP, feedback-loop blocking is enabled by default. However, rapid protection occurs through a combination of Microsoft Defender ATP capabilities, machine learning protection features, and signal-sharing across Microsoft security services. Make sure the following features and capabilities of Microsoft Defender ATP are enabled and configured: + +- [Microsoft Defender ATP baselines](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/configure-machines-security-baseline) + +- [Devices onboarded to Microsoft Defender ATP](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/onboard-configure) + +- [EDR in block mode](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/edr-in-block-mode) + +- [Attack surface reduction](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/attack-surface-reduction) + +- [Next-generation protection](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-antivirus/configure-windows-defender-antivirus-features) (antivirus) + +## Related articles + +- [Behavioral blocking and containment](behavioral-blocking-containment.md) + +- [(Blog) Behavioral blocking and containment: Transforming optics into protection](https://www.microsoft.com/security/blog/2020/03/09/behavioral-blocking-and-containment-transforming-optics-into-protection/) + +- [Helpful Microsoft Defender ATP resources](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/helpful-resources) From 77e64919e89cc8fab0c71a69f17eb8b8a60a4ad8 Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Fri, 22 May 2020 11:12:11 -0700 Subject: [PATCH 14/30] Update client-behavioral-blocking.md --- .../client-behavioral-blocking.md | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md b/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md index 264351e391..cbba035321 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md +++ b/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md @@ -1,7 +1,7 @@ --- -title: Feedback-loop blocking -description: Feedback-loop blocking, also called rapid protection, is part of behavioral blocking and containment capabilities in Microsoft Defender ATP -keywords: behavioral blocking, rapid protection, feedback blocking, Microsoft Defender ATP +title: Client behavioral blocking +description: Client behavioral blocking is part of behavioral blocking and containment capabilities in Microsoft Defender ATP +keywords: behavioral blocking, rapid protection, client behavior, Microsoft Defender ATP search.product: eADQiWindows 10XVcnh ms.pagetype: security author: denisebmsft @@ -18,7 +18,7 @@ ms.custom: ms.collection: --- -# Feedback-loop blocking +# Client behavioral blocking **Applies to:** @@ -26,16 +26,14 @@ ms.collection: ## Overview -Feedback-loop blocking, also referred to as rapid protection, is a component of [behavioral blocking and containment capabilities](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment) in [Microsoft Defender ATP](https://docs.microsoft.com/windows/security/threat-protection/). With feedback-loop blocking, devices across your organization are better protected from attacks. +Client behavioral blocking is a component of [behavioral blocking and containment capabilities](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment) in [Microsoft Defender ATP](https://docs.microsoft.com/windows/security/threat-protection/). As threats are detected on devices (clients), they are blocked and remediated automatically. -## How feedback-loop blocking works - -When a suspicious behavior or file is detected, such as by [Microsoft Defender Antivirus](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-antivirus/windows-defender-antivirus-in-windows-10), information about that artifact is sent to multiple classifiers. The rapid protection loop engine inspects and correlates the information with other signals to arrive at a decision as to whether to block a file. All of this happens very quickly. It results in rapid blocking of confirmed malware, and drives protection across the entire ecosystem. - -With rapid protection in place, an attack can be stopped on a device, other devices in the organization, and devices in other organizations, as an attack attempts to broaden its foothold. +## How client behavioral blocking works -## Configuring feedback-loop blocking + + +## Configuring client behavioral blocking If your organization is using Microsoft Defender ATP, feedback-loop blocking is enabled by default. However, rapid protection occurs through a combination of Microsoft Defender ATP capabilities, machine learning protection features, and signal-sharing across Microsoft security services. Make sure the following features and capabilities of Microsoft Defender ATP are enabled and configured: From ffe68ad9bc96c928a98bbb65dfcb18e82153f80f Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Fri, 22 May 2020 11:34:54 -0700 Subject: [PATCH 15/30] Update onboarding.md --- .../microsoft-defender-atp/onboarding.md | 115 ++++-------------- 1 file changed, 26 insertions(+), 89 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/onboarding.md b/windows/security/threat-protection/microsoft-defender-atp/onboarding.md index d5613256d1..5d98e6652f 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/onboarding.md +++ b/windows/security/threat-protection/microsoft-defender-atp/onboarding.md @@ -179,108 +179,45 @@ Follow the steps below to identify the Microsoft Defender ATP Workspace ID and W 3. Copy the **Workspace ID** and **Workspace Key** and save them. They will be used later in the process. -Before the systems can be onboarded into the workspace, the deployment scripts need to be updated to contain the correct information. Failure to do so will result in the systems not being properly onboarded. Depending on the deployment method, this step may have already been completed. +4. Install the Microsoft Monitoring Agent (MMA).
+ MMA is currently (as of January 2019) supported on the following Windows Operating + Systems: -Edit the InstallMMA.cmd with a text editor, such as notepad and update the -following lines and save the file: + - Server SKUs: Windows Server 2008 SP1 or Newer - ![Image of onboarding](images/a22081b675da83e8f62a046ae6922b0d.png) + - Client SKUs: Windows 7 SP1 and later -Edit the ConfiguerOMSAgent.vbs with a text editor, such as notepad, and update the following lines and save the file: + The MMA agent will need to be installed on Windows devices. To install the + agent, some systems will need to download the [Update for customer experience + and diagnostic + telemetry](https://support.microsoft.com/help/3080149/update-for-customer-experience-and-diagnostic-telemetry) + in order to collect the data with MMA. These system versions include but may not + be limited to: - ![Image of onboarding](images/09833d16df7f37eda97ea1d5009b651a.png) + - Windows 8.1 -Microsoft Monitoring Agent (MMA) is currently (as of January 2019) supported on the following Windows Operating -Systems: + - Windows 7 -- Server SKUs: Windows Server 2008 SP1 or Newer + - Windows Server 2016 -- Client SKUs: Windows 7 SP1 and later + - Windows Server 2012 R2 -The MMA agent will need to be installed on Windows devices. To install the -agent, some systems will need to download the [Update for customer experience -and diagnostic -telemetry](https://support.microsoft.com/help/3080149/update-for-customer-experience-and-diagnostic-telemetry) -in order to collect the data with MMA. These system versions include but may not -be limited to: + - Windows Server 2008 R2 -- Windows 8.1 + Specifically, for Windows 7 SP1, the following patches must be installed: -- Windows 7 + - Install + [KB4074598](https://support.microsoft.com/help/4074598/windows-7-update-kb4074598) -- Windows Server 2016 + - Install either [.NET Framework + 4.5](https://www.microsoft.com/en-us/download/details.aspx?id=30653) (or + later) **or** + [KB3154518](https://support.microsoft.com/help/3154518/support-for-tls-system-default-versions-included-in-the-net-framework). + Do not install both on the same system. -- Windows Server 2012 R2 +5. If you're using a proxy to connect to the Internet see the Configure proxy settings section. -- Windows Server 2008 R2 - -Specifically, for Windows 7 SP1, the following patches must be installed: - -- Install - [KB4074598](https://support.microsoft.com/help/4074598/windows-7-update-kb4074598) - -- Install either [.NET Framework - 4.5](https://www.microsoft.com/en-us/download/details.aspx?id=30653) (or - later) **or** - [KB3154518](https://support.microsoft.com/help/3154518/support-for-tls-system-default-versions-included-in-the-net-framework). - Do not install both on the same system. - -To deploy the MMA with Microsoft Endpoint Configuration Manager, follow the steps -below to utilize the provided batch files to onboard the systems. The CMD file -when executed, will require the system to copy files from a network share by the -System, the System will install MMA, Install the DependencyAgent, and configure -MMA for enrollment into the workspace. - - -1. In Microsoft Endpoint Configuration Manager console, navigate to **Software - Library**. - -2. Expand **Application Management**. - -3. Right-click **Packages** then select **Create Package**. - -4. Provide a Name for the package, then click **Next** - - ![Image of Microsoft Endpoint Configuration Manager console](images/e156a7ef87ea6472d57a3dc594bf08c2.png) - -5. Verify **Standard Program** is selected. - - ![Image of Microsoft Endpoint Configuration Manager console](images/227f249bcb6e7f29c4d43aa1ffaccd20.png) - -6. Click **Next**. - - ![Image of Microsoft Endpoint Configuration Manager console](images/2c7f9d05a2ebd19607cc76b6933b945b.png) - -7. Enter a program name. - -8. Browse to the location of the InstallMMA.cmd. - -9. Set Run to **Hidden**. - -10. Set **Program can run** to **Whether or not a user is logged on**. - -11. Click **Next**. - -12. Set the **Maximum allowed run time** to 720. - -13. Click **Next**. - - ![Image of Microsoft Endpoint Configuration Manager console](images/262a41839704d6da2bbd72ed6b4a826a.png) - -14. Verify the configuration, then click **Next**. - - ![Image of Microsoft Endpoint Configuration Manager console](images/a9d3cd78aa5ca90d3c2fbd2e57618faf.png) - -15. Click **Next**. - -16. Click **Close**. - -17. In the Microsoft Endpoint Configuration Manager console, right-click the Microsoft Defender ATP - Onboarding Package just created and select **Deploy**. - -18. On the right panel select the appropriate collection. - -19. Click **OK**. +Once completed, you should see onboarded endpoints in the portal within an hour. ## Next generation protection Microsoft Defender Antivirus is a built-in antimalware solution that provides next generation protection for desktops, portable computers, and servers. From edb46d9623e88a7fe396b5d48fe59a6bb759ad6a Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Fri, 22 May 2020 11:39:06 -0700 Subject: [PATCH 16/30] Create pre-execution-and-post-execution-detection-engines.png --- ...on-and-post-execution-detection-engines.png | Bin 0 -> 137100 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 windows/security/threat-protection/microsoft-defender-atp/images/pre-execution-and-post-execution-detection-engines.png diff --git a/windows/security/threat-protection/microsoft-defender-atp/images/pre-execution-and-post-execution-detection-engines.png b/windows/security/threat-protection/microsoft-defender-atp/images/pre-execution-and-post-execution-detection-engines.png new file mode 100644 index 0000000000000000000000000000000000000000..cea5e255f5d3da20e2fe265f722a18dc27c98a42 GIT binary patch literal 137100 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⁣PD_U$YtxX*ho z!Sjhqgg)K_2o#Kj_ceH2bFgnrn@~3TQNbl^xwq9MCxSB?;dpVe4!N;Su}O@;>K=zt zC`mgGv(i?Llucq+fdAkWtqihf^Z<)%!}{ReK4WUTWXs;xr2vV!f_$w=!Dpk+-2~8S zM{*9lc1E@qPnZNTnIzpXq+MkW?%Uei=~M0S_KzhU2M`8!eYw1>xH&YxMMzN1Q`H6; zSysQIkxpj|1C=ATm;-AG)P`!A%fijMxZO-CetXYcbNEBE3)?DxNuN%!yta)$QPadt z`KvHV*Sc0UCI^1TKT&$6Lf5A1_hD*Y_Og2jL4lR4fS>VOk;9M*A^{nas9k$_(LHAcs#||VD z>%|r1t+*ag)5|Jem~hJ#DfJLr;>V3kTXH47d<6HCOXe+2@J4QCB^|o1$eN5Q z9I+|z5cbOfZ-0b1)}ps&*PK4hsnX_Cibh7Qnr_z52q~UsuNCB@6kyu?ZW(Otp6HY% zQ?Blg=36&&o4#TxGH=cC9I(Dxl~6w=Xn}Fwnw&YaUZjAxz?)P-b*&jtoziK%nXMk_ zc_q3K##+z%0V^*`xEzw89wAM(s>uh`xDC#(b=fQCB3~cj>z~C1`pFqPb%`kkl1pYx z3eys>A-;WGzW#$g!|tt)M*!RVkuv7>GWJxrt_qUVkbfh**0WU00(UlxCNBV@9<7x& z;ez`t&^fYWHB!4wY2ZG8ED}DajA(ke+T@qzf6KaHD}>}bOm&!aOCfk~Ja7&4Vwtk(Sv_W*8 z644uUWlA~++{(QhFKQKU&r!B=b0R--q}A$3$3>!>8sv-yXUx1gEIi7z>6`(4^Z3u) zvW`4TzNHdy7vqV!yFJFQH_CT9=nmPdXRTZP0y0*;pAbK6@Lt)?2{jlKHNaMNN<{4> z&QO&LOJRPa13UjXn8nZmszR!D&}a^;lSMkp;nJ|U*CERhFBrOLx+KBE)E@oi5A=bc zLiN0;OFZ|wcj86m$mm#KxyHUu`vwXlN1@6KG)eb~qF49qY@bUhg*Fv=2doz@r_PJZz zCY;%o=2YHy7^*NN&tly-@COCZGY+StT zgdaRhRj38JZ$_|!Q*Ij;p09mf50)z7UP?Qkx<2M${vljW$Nj3B^@cfIvh&bx2&oXu z7m~F$k?qfVlq45e)5_iO=Ky@~p^4RmINU0sAO=kqFi=U!@(Z|J_2x4uUyoFlW3&)a z#2~7mb0cS2Iy=!@&|JpJJno-v9im`qv^#%$A=TVtX;gmG{+$D^5|MU@%cDLgD4n)o zVASC*Bb{(Dl(S0-m2qeeVN8-1G8eL?%yuk{OOtR;Rq)w@P0l|CzoZr&wS1rt1+G&z ztL1YzTJ($H(;!ksmV~@0t(C2Nb z*yyvN1=z~48 zW#4z#1TRQJaeZs3pe-xsn^azYkzuJG8F6ahY_YH3d?G&$6^UIqt{7vuB5_D9`Z=t> znyFT5uB6O>@yLa34sTpp7$t)JKPSzS56Y@ux~VCdRA%(Tq>w7B0S~Y5xijxe#5!=13tDY;)`5 z`dHH)eV2II_VV91k@d7i7i;Q7QIlV*|E+Y)M{?$eKU>$W`MBTa8wWAQ@nTeA!K*wp}N#aUi~- z!yazNVLi!-19tsuQ!vSpwHT4w#Hz`O7e~SYwGB<7W{#cJaYmv6?Wz}4F)*^$i!I{U zs5EkWye!41s{T4Y@QxvOV%hfkur);&Inyw+u2RGE4-`LUjXLhkX7vpuFw2)Da{kyb^o^_sxZ2hrtYG6>8~!t2IUZ?=9P?#fUY z=YO>i2VQ+F1H36hRd|Ewf=&;nfaJ&$6zJ5VZlFygK$}_~oL_@l3+M?1r+|R?0q~C> zj{wLt0-E6X|K}Uc;Ftnnhc1Zzcviu(zwYqAYXAKue*PoSE%C3lfd4aJC6`5sm`0t3 zL@owt;(gKQML;+LA2>9bfgT^I&jXtra8SA5@&w|ct`R&DG!ucIWRS0gv{(#|5BJ~r z|LPL^!v8;Pw*OY~zxm34tN8!*So&`j|8G?Mn`6aH)MMgcZcqTVuM$Cg$F8GvE%#>V zY4EXLH~>w>lZ&J_9eJnG zwElFJMiZmUr1Sh+&Fuv#U&3n?DD9Gc@MP9Xf2lwGen|ct{Mw~KrE3_~ZuKtGmvQXc z)7lN+T3NUDF}E(|pxX7&rljKC+C6%$>L&B5bGth;ojHaFJZ%DE*gCqyUEtMSt5eZ0 zNU{ujG;5!p;Zz0fwNwpQ9gWA*fAJB&#<(Jlobi6_Qp8sm$%G*o5O_jew34t`)RjmX zlg*X_#%HI@cHp_;jw{c=ddg|-(48I2`>H(i!pxQK49U6+^}fN6o+uR52DX6IN4JSb zQ?k$!4`IC0DTt9kk|#KzSDLtkY?5{A+qhjkJg!yiIQSx0LSa1HB_`%Wmw04B&$gAU zYEKo~b&2zT>(#&_+g|xg%WYL!kKyj0q@tvq#de9+glh94*_j2!6nOR)WsYrkBu8|S zE$l2{3ynQHd!z3mj#EQ1S84B_cIhp&E3AdHI8XBm%V~q;(Z*}WfLkA#>CdO2UtR!D z6V}PBjq~K-WwJ3(7n&Veilm^R3A*e zMwzc+Ss&H4z%!Dh!`isD*mrz}@RGEPdzamqf@<<@5EI&)Q_O=j_T!s2M*TB9-Lirc~! z^H%TC4eq$FN*(!>!HX}}Xf9U+>49~r67-;|<`W1sed+M2_2pb{4YGOK++^ zKTRahBM>IFsq?2VPMEx&QZOBgg8vedP)0o;zs>iTbw54r<C7qaCJ#@bjiN=8U)Z!dR+m ze5yrr*=sFQeKVf(3L(|=F|Yiu0(g+11t!|z5JMVot=(EJ|ZlG`r^uBCo8O)A7S zh{~Sgi@?kDuEi}G+tcU0x<>d7N5;Lgc-RpeFVA9DFfI|fOY8iNt0ODf*ynvmiBtT0 zUOwTEbYgd;U(MuIu}CAG%&9k+d8?+*du8?G0qM z1d@+xS4b1FN%WrmW`bcHn40sl9w)~o+j;Le?{qLT_OlhwO~YYGPZlv3615|%Q!$Nv zVo;T(tu&j45gaYOxnWmL$jW|_XiqQetm#p}jW_JNMOlSQ`ucl;W9dow=LPAlL%+X? zu=T4qUC*zdS=E>43qhh@PYq4Qv>1BQag;bS3pyW(q$8}=WiQ*hB<8Cf(Pr++9kru$ zu<{wmkX;IfWz~y`@FBf$Zc~yVeN;^Qgx5DRQS}BJgd^Z%TY#@E56%4 z>W;BH18c5qMJ!ZVa)sdtSfwT>IapR{1_&HqMDuHBb@BLPI4&0p2n`=SbZ11o#n z(Q{u1z7Fd>kQF=pr|_;-LJj}WBa?};H28twU2ZX_F>h`y)MY9C;BlRLc)YYZ`?|}3 zO{4-{kjJQnIXqsjv;G=uhelfh)(9Ie2OkUhNIp&2@TL4IY`;b1VMB}yPbsa-J(=Zt zLJxoFEuBy}o>C1rc@iL9J=);VAe3}l%?NA;<}WCw+=WHGdOmT7hbiQbkBsdD*NhgV zY2S>}&--bO{&i37Ge-JPly<0s@On&|q{Ey}NJ2WohZ>W{QAA3?OtE(7Q`Rj|Vqbl# z`TF*RFZVo}C>$QwU*UWglQ40b)pA}suC%qrZ{E0|)+D&tLPkgI-bpQ4GyY&nu2VhZ zCE6~{r@9*E+rpG@qspiQHNDp|;UD)xU>^z<+6;nQ9SrkpP{au}v1x*?9c7fy8Y(Mk8wGeDeGo5o1;DwlfUM9w426gtN5$jrKrW?a!1;Zqd(J6!o zdj(nmcU6yqedR={UXuTr37G*I-C8rE9nPrj>G)awl>z}o_zMO4qfrbWrrn{zaW5@e zR!N3heSb=gi(Vw7MVCU?2bHO|E}{gZePiIpRLaqLCMZ{?Xony#bFw_lrdW0v+?GgV z)!Zys00`ob3%d1E!-6mh!daUduDlJMdb}LISC=jXpL?dDUtl%IYjLYzQL*zYucL2* zLhQ}O&}UKS)50>h`UYJlg&IB8{s5J?_??b3vc9q$t-`qQK#%BwKyuM;(c z>jU&=cE=;+YVpNuy4FdWgw3gP`6ol9@#)nN7|(#V4V>s4;Dzx5!)6)^n+EF+TH$fP zHe|$PrRuz(=M%=BzK@ZlAnhuiQ9H-$0K4eYLd zFdXDO%+6jfBX)^kI|B(S7y!( ztk|m#bqDI>SL|W4h5m={7uSByoZ<7}4uNS_PaOciHU7-ZT}$pn9vQ)hEHl{aOHAL@ z*}hS>toV_p=6zLQjb>s^Gfs5gH6iLo)0|~UXaqBcWpV|eekrc;(Inc|lgK*)K11Fw z`i$i68xE;<5CdL~DEa13WU!y9iqGn?#m4Ol;(Tg8y~1FQ44QrO`r+z{P~_ za@$WDU#(IVL@eGJwtjD?{3LD&t0jU;v&W!nP_xMJPDTGz+kiWIZOV%>Idt#C#k^4Y zb1dLwrdS%+VWR~y;e+v!hP(WDJSTgBn03~tx~8=31#84NswWYU?t!#xm7J`mxPATI zfI6=S-s9{k_*4$ow_e-4hx5hqYdNw}_eAswE!prWSXUcU&01qe+DyU%CsVktQ%&3p zS;vA7tvGn8D6xKk0R~N=Fc}ee8#Z4Y;ktIa!Vl?JkGGu8hEX`(4?p zSQ@BdT^@{p6v#T5r>MN5viGwUkiT-R8N!-q^@aqSuRE8iH*#t}kwb1G2lAbMIdX8~ zk%^J=%JZG^Pg_RT zPYk=^J;Mv>X_u88SLGs>hdP

x%}9*7g2ceo^W@&Ri0a`k~zJZ$iy@0&2y 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%0D)lQMo!Ck( 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 a|Lp&#?6|!v<0NS0i^0>?&t;ucLK6VSZh~0= literal 0 HcmV?d00001 From e559b0318009a5683ba366651b06d53f56e5647e Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Fri, 22 May 2020 11:48:32 -0700 Subject: [PATCH 17/30] Update client-behavioral-blocking.md --- .../microsoft-defender-atp/client-behavioral-blocking.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md b/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md index cbba035321..bb4a71e8a4 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md +++ b/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md @@ -26,11 +26,13 @@ ms.collection: ## Overview -Client behavioral blocking is a component of [behavioral blocking and containment capabilities](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment) in [Microsoft Defender ATP](https://docs.microsoft.com/windows/security/threat-protection/). As threats are detected on devices (clients), they are blocked and remediated automatically. +Client behavioral blocking is a component of [behavioral blocking and containment capabilities](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment) in [Microsoft Defender ATP](https://docs.microsoft.com/windows/security/threat-protection/). As threats are detected on devices (clients), they are blocked, checked, and remediated automatically. + +:::image type="content" source="images/pre-execution-and-post-execution-detection-engines.png" alt-text="Cloud and client protection"::: ## How client behavioral blocking works - +Antivirus protection works best when paired with cloud protection. [Microsoft Defender Antivirus](https://docs.microsoft.com/en-us/windows/security/threat-protection/windows-defender-antivirus/windows-defender-antivirus-in-windows-10) can identify malicious behavior, detect malicious code, detect fileless and in-memory attacks, and more on a device. When suspicious behaviors or artifacts are detected, Microsoft Defender Antivirus monitors and sends suspicious behaviors and process trees to the cloud protection service. Machine learning differentiates between malicious applications and good behaviors within milliseconds, and classifies each artifact. In almost real time, as soon as an artifact is found to be malicious, it's blocked on the device. ## Configuring client behavioral blocking From 47ba574b1450e3187b891fe00880c2471ca902d9 Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Fri, 22 May 2020 11:52:11 -0700 Subject: [PATCH 18/30] Update client-behavioral-blocking.md --- .../microsoft-defender-atp/client-behavioral-blocking.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md b/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md index bb4a71e8a4..4674512f33 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md +++ b/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md @@ -30,14 +30,16 @@ Client behavioral blocking is a component of [behavioral blocking and containmen :::image type="content" source="images/pre-execution-and-post-execution-detection-engines.png" alt-text="Cloud and client protection"::: +Antivirus protection works best when paired with cloud protection. + ## How client behavioral blocking works -Antivirus protection works best when paired with cloud protection. [Microsoft Defender Antivirus](https://docs.microsoft.com/en-us/windows/security/threat-protection/windows-defender-antivirus/windows-defender-antivirus-in-windows-10) can identify malicious behavior, detect malicious code, detect fileless and in-memory attacks, and more on a device. When suspicious behaviors or artifacts are detected, Microsoft Defender Antivirus monitors and sends suspicious behaviors and process trees to the cloud protection service. Machine learning differentiates between malicious applications and good behaviors within milliseconds, and classifies each artifact. In almost real time, as soon as an artifact is found to be malicious, it's blocked on the device. +[Microsoft Defender Antivirus](https://docs.microsoft.com/en-us/windows/security/threat-protection/windows-defender-antivirus/windows-defender-antivirus-in-windows-10) can identify malicious behavior, detect malicious code, detect fileless and in-memory attacks, and more on a device. When suspicious behaviors, Microsoft Defender Antivirus monitors and sends suspicious behaviors and process trees to the cloud protection service. Machine learning differentiates between malicious applications and good behaviors within milliseconds, and classifies each artifact. In almost real time, as soon as an artifact is found to be malicious, it's blocked on the device. ## Configuring client behavioral blocking -If your organization is using Microsoft Defender ATP, feedback-loop blocking is enabled by default. However, rapid protection occurs through a combination of Microsoft Defender ATP capabilities, machine learning protection features, and signal-sharing across Microsoft security services. Make sure the following features and capabilities of Microsoft Defender ATP are enabled and configured: +If your organization is using Microsoft Defender ATP, client behavioral blocking is enabled by default. However, to benefit from all Microsoft Defender ATP capabilities, including [Behavioral blocking and containment](behavioral-blocking-containment.md), make sure the following features and capabilities of Microsoft Defender ATP are enabled and configured: - [Microsoft Defender ATP baselines](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/configure-machines-security-baseline) From 6d04c7ac70b1e9dc28c584442efd99f160dfec7e Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Fri, 22 May 2020 12:18:20 -0700 Subject: [PATCH 19/30] client behavioral blocking --- .../behavioral-blocking-containment.md | 16 ++++++++++ .../client-behavioral-blocking.md | 30 +++++++++++++++++-- 2 files changed, 44 insertions(+), 2 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment.md b/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment.md index 81a9c4734d..4674bfe5e4 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment.md +++ b/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment.md @@ -60,6 +60,22 @@ Expect more to come in the area of behavioral blocking and containment, as Micro ## Examples of behavioral blocking and containment in action +Behavioral blocking and containment capabilities have blocked attacker techniques such as the following: + +- Credential dumping from LSASS +- Cross-process injection +- Process hollowing +- User Account Control bypass +- Tampering with antivirus (such as disabling it or adding the malware as exclusion) +- Contacting Command and Control (C&C) to download payloads +- Coin mining +- Boot record modification +- Pass-the-hash attacks +- Installation of root certificate +- Exploitation attempt for various vulnerabilities + +Below are two real-life examples of behavioral blocking and containment in action. + ### Example 1: Credential theft attack against 100 organizations As described in [In hot pursuit of elusive threats: AI-driven behavior-based blocking stops attacks in their tracks](https://www.microsoft.com/security/blog/2019/10/08/in-hot-pursuit-of-elusive-threats-ai-driven-behavior-based-blocking-stops-attacks-in-their-tracks), a credential theft attack against 100 organizations around the world was stopped by behavioral blocking and containment capabilities. Spear-phishing email messages that contained a lure document were sent to the targeted organizations. If a recipient opened the attachment, a related remote document was able to execute code on the user’s device and load Lokibot malware, which stole credentials, exfiltrated stolen data, and waited for further instructions from a command-and-control server. diff --git a/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md b/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md index 4674512f33..a029c37713 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md +++ b/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md @@ -26,7 +26,7 @@ ms.collection: ## Overview -Client behavioral blocking is a component of [behavioral blocking and containment capabilities](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment) in [Microsoft Defender ATP](https://docs.microsoft.com/windows/security/threat-protection/). As threats are detected on devices (clients), they are blocked, checked, and remediated automatically. +Client behavioral blocking is a component of [behavioral blocking and containment capabilities](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment) in Microsoft Defender ATP. As suspicious behaviors are detected on devices (also referred to as clients or endpoints), artifacts (such as files or applications) are blocked, checked, and remediated automatically. :::image type="content" source="images/pre-execution-and-post-execution-detection-engines.png" alt-text="Cloud and client protection"::: @@ -34,8 +34,32 @@ Antivirus protection works best when paired with cloud protection. ## How client behavioral blocking works -[Microsoft Defender Antivirus](https://docs.microsoft.com/en-us/windows/security/threat-protection/windows-defender-antivirus/windows-defender-antivirus-in-windows-10) can identify malicious behavior, detect malicious code, detect fileless and in-memory attacks, and more on a device. When suspicious behaviors, Microsoft Defender Antivirus monitors and sends suspicious behaviors and process trees to the cloud protection service. Machine learning differentiates between malicious applications and good behaviors within milliseconds, and classifies each artifact. In almost real time, as soon as an artifact is found to be malicious, it's blocked on the device. +[Microsoft Defender Antivirus](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-antivirus/windows-defender-antivirus-in-windows-10) can detect suspicious behavior, malicious code, fileless and in-memory attacks, and more on a device. When suspicious behaviors are detected, Microsoft Defender Antivirus monitors and sends those suspicious behaviors and their process trees to the cloud protection service. Machine learning differentiates between malicious applications and good behaviors within milliseconds, and classifies each artifact. In almost real time, as soon as an artifact is found to be malicious, it's blocked on the device. +Whenever a suspicious behavior is detected, an alert is generated, and is visible in the Microsoft Defender Security Center ([https://securitycenter.windows.com](https://securitycenter.windows.com)). + +Client behavioral blocking is effective because it not only helps prevent an attack from starting, it can help stop an attack that has begun executing. And, with [feedback-loop blocking](feedback-loop-blocking.md) (another capability of behavioral blocking and containment), attacks are prevented on other devices in your organization. + +## Behavior-based detections + +Behavior-based detections are named according to the [MITRE ATT&CK Matrix for Enterprise](https://attack.mitre.org/matrices/enterprise). The naming convention helps identify the attack stage where the malicious behavior was observed: + + +|Tactic | Detection threat name | +|----|----| +|Initial Access | Behavior:Win32/InitialAccess.*!ml | +|Execution |Behavior:Win32/Execution.*!ml | +|Persistence |Behavior:Win32/Persistence.*!ml | +|Privilege Escalation |Behavior:Win32/|PrivilegeEscalation.*!ml | +|Defense Evasion |Behavior:Win32/DefenseEvasion.*!ml | +|Credential Access |Behavior:Win32/CredentialAccess.*!ml | +|Discovery |Behavior:Win32/Discovery.*!ml | +|Lateral Movement | Behavior:Win32/LateralMovement.*!ml | +|Collection | Behavior:Win32/Collection.*!ml | +|Command and Control | Behavior:Win32/CommandAndControl.*!ml | +|Exfiltration | Behavior:Win32/Exfiltration.*!ml | +|Impact | Behavior:Win32/Impact.*!ml | +|Uncategorized | Behavior:Win32/Generic.*!ml | ## Configuring client behavioral blocking @@ -55,6 +79,8 @@ If your organization is using Microsoft Defender ATP, client behavioral blocking - [Behavioral blocking and containment](behavioral-blocking-containment.md) +- [Feedback-loop blocking](feedback-loop-blocking.md) + - [(Blog) Behavioral blocking and containment: Transforming optics into protection](https://www.microsoft.com/security/blog/2020/03/09/behavioral-blocking-and-containment-transforming-optics-into-protection/) - [Helpful Microsoft Defender ATP resources](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/helpful-resources) From 99e44a4ec88207025086fba7616ec541c7e549ce Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Fri, 22 May 2020 12:23:12 -0700 Subject: [PATCH 20/30] Update client-behavioral-blocking.md --- .../microsoft-defender-atp/client-behavioral-blocking.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md b/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md index a029c37713..4b13395686 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md +++ b/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md @@ -63,7 +63,7 @@ Behavior-based detections are named according to the [MITRE ATT&CK Matrix for En ## Configuring client behavioral blocking -If your organization is using Microsoft Defender ATP, client behavioral blocking is enabled by default. However, to benefit from all Microsoft Defender ATP capabilities, including [Behavioral blocking and containment](behavioral-blocking-containment.md), make sure the following features and capabilities of Microsoft Defender ATP are enabled and configured: +If your organization is using Microsoft Defender ATP, client behavioral blocking is enabled by default. However, to benefit from all Microsoft Defender ATP capabilities, including [behavioral blocking and containment](behavioral-blocking-containment.md), make sure the following features and capabilities of Microsoft Defender ATP are enabled and configured: - [Microsoft Defender ATP baselines](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/configure-machines-security-baseline) From 567473865499f4f5ded6fc85da41b12ba45dd08f Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Fri, 22 May 2020 12:24:30 -0700 Subject: [PATCH 21/30] Update client-behavioral-blocking.md --- .../microsoft-defender-atp/client-behavioral-blocking.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md b/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md index 4b13395686..224547269b 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md +++ b/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md @@ -61,6 +61,10 @@ Behavior-based detections are named according to the [MITRE ATT&CK Matrix for En |Impact | Behavior:Win32/Impact.*!ml | |Uncategorized | Behavior:Win32/Generic.*!ml | +> [!TIP] +> To learn more about specific threats, see **[recent global threat activity](https://www.microsoft.com/wdsi/threats)**. + + ## Configuring client behavioral blocking If your organization is using Microsoft Defender ATP, client behavioral blocking is enabled by default. However, to benefit from all Microsoft Defender ATP capabilities, including [behavioral blocking and containment](behavioral-blocking-containment.md), make sure the following features and capabilities of Microsoft Defender ATP are enabled and configured: From dd0344989d3578ab6a48ac1de91798a018b61468 Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Fri, 22 May 2020 12:38:34 -0700 Subject: [PATCH 22/30] Update client-behavioral-blocking.md --- .../microsoft-defender-atp/client-behavioral-blocking.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md b/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md index 224547269b..516fc24bd9 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md +++ b/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md @@ -50,7 +50,7 @@ Behavior-based detections are named according to the [MITRE ATT&CK Matrix for En |Initial Access | Behavior:Win32/InitialAccess.*!ml | |Execution |Behavior:Win32/Execution.*!ml | |Persistence |Behavior:Win32/Persistence.*!ml | -|Privilege Escalation |Behavior:Win32/|PrivilegeEscalation.*!ml | +|Privilege Escalation |Behavior:Win32/PrivilegeEscalation.*!ml | |Defense Evasion |Behavior:Win32/DefenseEvasion.*!ml | |Credential Access |Behavior:Win32/CredentialAccess.*!ml | |Discovery |Behavior:Win32/Discovery.*!ml | From ad52b5ba04630a5c3f378cbc324fadc6d0d369e0 Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Fri, 22 May 2020 12:43:37 -0700 Subject: [PATCH 23/30] Update behavioral-blocking-containment.md --- .../microsoft-defender-atp/behavioral-blocking-containment.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment.md b/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment.md index 4674bfe5e4..b958bd17db 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment.md +++ b/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment.md @@ -50,9 +50,9 @@ The following image shows an example of an alert that was triggered by behaviora - **On-client, policy-driven [attack surface reduction rules](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/attack-surface-reduction)** Predefined common attack behaviors are prevented from executing, according to your attack surface reduction rules. When such behaviors attempt to execute, they can be seen in the Microsoft Defender Security Center [https://securitycenter.windows.com](https://securitycenter.windows.com) as informational alerts. (Attack surface reduction rules are not enabled by default; you configure your policies in the Microsoft Defender Security Center.) -- **Client behavioral blocking** Threats on endpoints are detected through machine learning, and then are blocked and remediated automatically. (Client behavioral blocking is enabled by default.) +- **[Client behavioral blocking](client-behavioral-blocking.md)** Threats on endpoints are detected through machine learning, and then are blocked and remediated automatically. (Client behavioral blocking is enabled by default.) -- **Feedback-loop blocking** (also referred to as rapid protection) Threat detections that are assumed to be false negatives are observed through behavioral intelligence. Threats are stopped and prevented from running on other endpoints. (Feedback-loop blocking is enabled by default.) +- **[Feedback-loop blocking](feedback-loop-blocking.md)** (also referred to as rapid protection) Threat detections that are assumed to be false negatives are observed through behavioral intelligence. Threats are stopped and prevented from running on other endpoints. (Feedback-loop blocking is enabled by default.) - **[Endpoint detection and response (EDR) in block mode](edr-in-block-mode.md)** Malicious artifacts or behaviors that are observed through post-breach protection are blocked and contained. EDR in block mode works even if Windows Defender Antivirus is not the primary antivirus solution. (EDR in block mode, currently in preview, is not enabled by default; you turn it on in the Microsoft Defender Security Center.) From 911d85031e2b7a9ac4fd3436b972793b8515d2d8 Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Fri, 22 May 2020 12:51:23 -0700 Subject: [PATCH 24/30] Update behavioral-blocking-containment.md --- .../microsoft-defender-atp/behavioral-blocking-containment.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment.md b/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment.md index b958bd17db..9ab72ae669 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment.md +++ b/windows/security/threat-protection/microsoft-defender-atp/behavioral-blocking-containment.md @@ -52,7 +52,7 @@ The following image shows an example of an alert that was triggered by behaviora - **[Client behavioral blocking](client-behavioral-blocking.md)** Threats on endpoints are detected through machine learning, and then are blocked and remediated automatically. (Client behavioral blocking is enabled by default.) -- **[Feedback-loop blocking](feedback-loop-blocking.md)** (also referred to as rapid protection) Threat detections that are assumed to be false negatives are observed through behavioral intelligence. Threats are stopped and prevented from running on other endpoints. (Feedback-loop blocking is enabled by default.) +- **[Feedback-loop blocking](feedback-loop-blocking.md)** (also referred to as rapid protection) Threat detections are observed through behavioral intelligence. Threats are stopped and prevented from running on other endpoints. (Feedback-loop blocking is enabled by default.) - **[Endpoint detection and response (EDR) in block mode](edr-in-block-mode.md)** Malicious artifacts or behaviors that are observed through post-breach protection are blocked and contained. EDR in block mode works even if Windows Defender Antivirus is not the primary antivirus solution. (EDR in block mode, currently in preview, is not enabled by default; you turn it on in the Microsoft Defender Security Center.) From d8408eb6d5bbd6bea5fbca2e9759abecaa90db92 Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Fri, 22 May 2020 13:35:37 -0700 Subject: [PATCH 25/30] Update client-behavioral-blocking.md --- .../microsoft-defender-atp/client-behavioral-blocking.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md b/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md index 516fc24bd9..a1ea0e814d 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md +++ b/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md @@ -36,7 +36,7 @@ Antivirus protection works best when paired with cloud protection. [Microsoft Defender Antivirus](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-antivirus/windows-defender-antivirus-in-windows-10) can detect suspicious behavior, malicious code, fileless and in-memory attacks, and more on a device. When suspicious behaviors are detected, Microsoft Defender Antivirus monitors and sends those suspicious behaviors and their process trees to the cloud protection service. Machine learning differentiates between malicious applications and good behaviors within milliseconds, and classifies each artifact. In almost real time, as soon as an artifact is found to be malicious, it's blocked on the device. -Whenever a suspicious behavior is detected, an alert is generated, and is visible in the Microsoft Defender Security Center ([https://securitycenter.windows.com](https://securitycenter.windows.com)). +Whenever a suspicious behavior is detected, an [alert](https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/alerts-queue) is generated, and is visible in the Microsoft Defender Security Center ([https://securitycenter.windows.com](https://securitycenter.windows.com)). Client behavioral blocking is effective because it not only helps prevent an attack from starting, it can help stop an attack that has begun executing. And, with [feedback-loop blocking](feedback-loop-blocking.md) (another capability of behavioral blocking and containment), attacks are prevented on other devices in your organization. From 171c4139ad3036ec7c0accc75b1d2f0671779618 Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Fri, 22 May 2020 13:38:52 -0700 Subject: [PATCH 26/30] Update client-behavioral-blocking.md --- .../client-behavioral-blocking.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md b/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md index a1ea0e814d..317b858f36 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md +++ b/windows/security/threat-protection/microsoft-defender-atp/client-behavioral-blocking.md @@ -48,12 +48,12 @@ Behavior-based detections are named according to the [MITRE ATT&CK Matrix for En |Tactic | Detection threat name | |----|----| |Initial Access | Behavior:Win32/InitialAccess.*!ml | -|Execution |Behavior:Win32/Execution.*!ml | -|Persistence |Behavior:Win32/Persistence.*!ml | -|Privilege Escalation |Behavior:Win32/PrivilegeEscalation.*!ml | -|Defense Evasion |Behavior:Win32/DefenseEvasion.*!ml | -|Credential Access |Behavior:Win32/CredentialAccess.*!ml | -|Discovery |Behavior:Win32/Discovery.*!ml | +|Execution | Behavior:Win32/Execution.*!ml | +|Persistence | Behavior:Win32/Persistence.*!ml | +|Privilege Escalation | Behavior:Win32/PrivilegeEscalation.*!ml | +|Defense Evasion | Behavior:Win32/DefenseEvasion.*!ml | +|Credential Access | Behavior:Win32/CredentialAccess.*!ml | +|Discovery | Behavior:Win32/Discovery.*!ml | |Lateral Movement | Behavior:Win32/LateralMovement.*!ml | |Collection | Behavior:Win32/Collection.*!ml | |Command and Control | Behavior:Win32/CommandAndControl.*!ml | From 3f294f04fac84ce0093cf2e094310ac6790ec376 Mon Sep 17 00:00:00 2001 From: Denise Vangel-MSFT Date: Fri, 22 May 2020 13:41:16 -0700 Subject: [PATCH 27/30] Update feedback-loop-blocking.md --- .../microsoft-defender-atp/feedback-loop-blocking.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md b/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md index 264351e391..d4be39d220 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md +++ b/windows/security/threat-protection/microsoft-defender-atp/feedback-loop-blocking.md @@ -30,7 +30,7 @@ Feedback-loop blocking, also referred to as rapid protection, is a component of ## How feedback-loop blocking works -When a suspicious behavior or file is detected, such as by [Microsoft Defender Antivirus](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-antivirus/windows-defender-antivirus-in-windows-10), information about that artifact is sent to multiple classifiers. The rapid protection loop engine inspects and correlates the information with other signals to arrive at a decision as to whether to block a file. All of this happens very quickly. It results in rapid blocking of confirmed malware, and drives protection across the entire ecosystem. +When a suspicious behavior or file is detected, such as by [Microsoft Defender Antivirus](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-antivirus/windows-defender-antivirus-in-windows-10), information about that artifact is sent to multiple classifiers. The rapid protection loop engine inspects and correlates the information with other signals to arrive at a decision as to whether to block a file. Checking and classifying artifacts happens quickly. It results in rapid blocking of confirmed malware, and drives protection across the entire ecosystem. With rapid protection in place, an attack can be stopped on a device, other devices in the organization, and devices in other organizations, as an attack attempts to broaden its foothold. From 8d084ea88888e2187590b5226ca37a5623fe8cf8 Mon Sep 17 00:00:00 2001 From: Gary Moore Date: Fri, 22 May 2020 14:52:18 -0700 Subject: [PATCH 28/30] Corrected list, indentation, and code block --- .../microsoft-defender-atp/run-detection-test.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/run-detection-test.md b/windows/security/threat-protection/microsoft-defender-atp/run-detection-test.md index 624f4aaf34..b3955f8794 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/run-detection-test.md +++ b/windows/security/threat-protection/microsoft-defender-atp/run-detection-test.md @@ -33,17 +33,17 @@ Run the following PowerShell script on a newly onboarded machine to verify that 1. Create a folder: 'C:\test-MDATP-test'. 2. Open an elevated command-line prompt on the machine and run the script: - a. Go to **Start** and type **cmd**. + 1. Go to **Start** and type **cmd**. - b. Right-click **Command Prompt** and select **Run as administrator**. + 1. Right-click **Command Prompt** and select **Run as administrator**. - ![Window Start menu pointing to Run as administrator](images/run-as-admin.png) + ![Window Start menu pointing to Run as administrator](images/run-as-admin.png) 3. At the prompt, copy and run the following command: - ``` - powershell.exe -NoExit -ExecutionPolicy Bypass -WindowStyle Hidden $ErrorActionPreference= 'silentlycontinue';(New-Object System.Net.WebClient).DownloadFile('http://127.0.0.1/1.exe', 'C:\\test-MDATP-test\\invoice.exe');Start-Process 'C:\\test-MDATP-test\\invoice.exe' - ``` + ```powershell + powershell.exe -NoExit -ExecutionPolicy Bypass -WindowStyle Hidden $ErrorActionPreference= 'silentlycontinue';(New-Object System.Net.WebClient).DownloadFile('http://127.0.0.1/1.exe', 'C:\\test-MDATP-test\\invoice.exe');Start-Process 'C:\\test-MDATP-test\\invoice.exe' + ``` The Command Prompt window will close automatically. If successful, the detection test will be marked as completed and a new alert will appear in the portal for the onboarded machine in approximately 10 minutes. From 28a81362bffc836452b8ef5d355d78cd7a038fbd Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Fri, 22 May 2020 15:05:55 -0700 Subject: [PATCH 29/30] remove from toc fix redirect --- .openpublishing.redirection.json | 2 +- windows/security/threat-protection/TOC.md | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.openpublishing.redirection.json b/.openpublishing.redirection.json index 863e6b22b7..bf51ddcd42 100644 --- a/.openpublishing.redirection.json +++ b/.openpublishing.redirection.json @@ -1353,7 +1353,7 @@ }, { "source_path": "windows/security/threat-protection/microsoft-defender-atp/configure-splunk.md", -"redirect_url": "https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/enable-siem-integration", +"redirect_url": "https://docs.microsoft.com/windows/security/threat-protection/microsoft-defender-atp/configure-siem", "redirect_document_id": false }, { diff --git a/windows/security/threat-protection/TOC.md b/windows/security/threat-protection/TOC.md index 75641809bf..50032d076f 100644 --- a/windows/security/threat-protection/TOC.md +++ b/windows/security/threat-protection/TOC.md @@ -573,7 +573,6 @@ ##### [Understand threat intelligence concepts](microsoft-defender-atp/threat-indicator-concepts.md) ##### [Learn about different ways to pull detections](microsoft-defender-atp/configure-siem.md) ##### [Enable SIEM integration](microsoft-defender-atp/enable-siem-integration.md) -##### [Configure Splunk to pull detections](microsoft-defender-atp/configure-splunk.md) ##### [Configure Micro Focus ArcSight to pull detections](microsoft-defender-atp/configure-arcsight.md) ##### [Microsoft Defender ATP detection fields](microsoft-defender-atp/api-portal-mapping.md) ##### [Pull detections using SIEM REST API](microsoft-defender-atp/pull-alerts-using-rest-api.md) From 73ff781a3c6e503aeddc7ace4453ffc1306430a2 Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Fri, 22 May 2020 15:09:46 -0700 Subject: [PATCH 30/30] fix bullet --- .../microsoft-defender-atp/configure-siem.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/security/threat-protection/microsoft-defender-atp/configure-siem.md b/windows/security/threat-protection/microsoft-defender-atp/configure-siem.md index 0d95a0d4e0..d5f2d69d6c 100644 --- a/windows/security/threat-protection/microsoft-defender-atp/configure-siem.md +++ b/windows/security/threat-protection/microsoft-defender-atp/configure-siem.md @@ -27,10 +27,10 @@ ms.topic: article ## Pull detections using security information and events management (SIEM) tools ->[!Note] +>[!NOTE] >- [Microsoft Defender ATP Alert](alerts.md) is composed from one or more detections. >- [Microsoft Defender ATP Detection](api-portal-mapping.md) is composed from the suspicious event occurred on the Machine and its related Alert details. ->-The Microsoft Defender ATP Alert API is the latest API for alert consumption and contain a detailed list of related evidence for each alert. For more information, see [Alert methods and properties](alerts.md) and [List alerts](get-alerts.md). +>- The Microsoft Defender ATP Alert API is the latest API for alert consumption and contain a detailed list of related evidence for each alert. For more information, see [Alert methods and properties](alerts.md) and [List alerts](get-alerts.md). Microsoft Defender ATP supports security information and event management (SIEM) tools to pull detections. Microsoft Defender ATP exposes alerts through an HTTPS endpoint hosted in Azure. The endpoint can be configured to pull detections from your enterprise tenant in Azure Active Directory (AAD) using the OAuth 2.0 authentication protocol for an AAD application that represents the specific SIEM connector installed in your environment.