diff --git a/windows/keep-secure/overview-of-threat-mitigations-in-windows-10.md b/windows/keep-secure/overview-of-threat-mitigations-in-windows-10.md index 54181e1eb1..273396052a 100644 --- a/windows/keep-secure/overview-of-threat-mitigations-in-windows-10.md +++ b/windows/keep-secure/overview-of-threat-mitigations-in-windows-10.md @@ -1,17 +1,17 @@ # Overview of threat mitigations in Windows 10 -This topic provides an overview of software and firmware threats faced in the current security landscape, and the mitigations that Windows 10 offers in response to these threats. +This topic provides an overview of software and firmware threats faced in the current security landscape, and the mitigations that Windows 10 offers in response to these threats. **Note**   If you are familiar with the [Enhanced Mitigation Experience Toolkit (EMET)](https://support.microsoft.com/en-us/kb/2458544) and want information about the many EMET mitigations built into Windows 10, and how to convert an EMET settings file into policies for Windows 10, see [Understanding Windows 10 in relation to the Enhanced Mitigation Experience Toolkit](#understanding-windows-10-in-relation-to-the-enhanced-mitigation-experience-toolkit), later in this topic. -| **Section** | **Contents** | -|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| -| [The security threat landscape](#_IntroductionThe_security_threat) | Describes the current nature of the security threat landscape, and outlines the basic ways that Windows 10 is designed to mitigate against software exploits and other similar threats. | -| [Windows 10 mitigations that you can configure](#_Windows_10_mitigations) | Provides tables of configurable threat mitigations with links to more information. Product features such as Device Guard appear in [Table 1](#_Windows_10_Mmitigations), and memory protection options such as Data Execution Prevention appear in [Table 2](#_Table_2_). | -| [Windows 10 mitigations that need no configuration](#windows-10-mitigations-that-need-no-configuration) | Provides descriptions of Windows 10 mitigations that require no configuration—they are built into the operating system. For example, heap protections and kernel pool protections are built into Windows 10. | +| **Section** | **Contents** | +|--------------|-------------------------| +| [The security threat landscape](#the-security-threat-landscape) | Describes the current nature of the security threat landscape, and outlines the basic ways that Windows 10 is designed to mitigate against software exploits and other similar threats. | +| [Windows 10 mitigations that you can configure](#windows-10-mitigations-that-you-can-configure) | Provides tables of configurable threat mitigations with links to more information. Product features such as Device Guard appear in [Table 1](#windows-10-mitigations-that-you-can-configure), and memory protection options such as Data Execution Prevention appear in [Table 2](#table-2). | +| [Windows 10 mitigations that need no configuration](#windows-10-mitigations-that-need-no-configuration) | Provides descriptions of Windows 10 mitigations that require no configuration—they are built into the operating system. For example, heap protections and kernel pool protections are built into Windows 10. | | [Understanding Windows 10 in relation to the Enhanced Mitigation Experience Toolkit](#understanding-windows-10-in-relation-to-the-enhanced-mitigation-experience-toolkit) | For IT professionals who in the past have used the [Enhanced Mitigation Experience Toolkit (EMET)](https://support.microsoft.com/en-us/kb/2458544), describes how the mitigations in EMET correspond to features built into Windows 10. It also describes how to convert an XML settings file created in EMET into mitigation policies for Windows 10. | -## The security threat landscape +## The security threat landscape Today’s security threat landscape is one of aggressive and tenacious threats. In previous years, malicious attackers mostly focused on gaining community recognition through their attacks and the personal enjoyment of temporarily taking a system offline. Since then, attacker’s motives have shifted toward monetizing their attacks, which includes holding machines and data hostage until the owners pay the demanded ransom, and exploiting the valuable information the attackers discover for monetary gain. Unlike these examples, modern attacks increasingly focus on large-scale intellectual property theft; targeted system degradation that results in financial loss; and now even cyberterrorism that threatens the security of individuals, businesses, and national interests all over the world. These attackers are typically highly trained individuals and security experts, some of whom are in the employ of nation states that have large budgets, seemingly unlimited human resources, and unknown motives. Threats like these require a different approach and mitigations that can meet the challenge. @@ -27,7 +27,7 @@ In recognition of this landscape, Windows 10, version 1703 includes multiple sec The following sections provide more detail about security mitigations in Windows 10, version 1703. -## Windows 10 mitigations that you can configure +## Windows 10 mitigations that you can configure Windows 10 mitigations that you can configure are listed in the following two tables. The first table focuses on features such as Device Guard, and the second table describes memory protection options such as Data Execution Prevention. Memory protection options provide specific mitigations against malware that attempts to manipulate memory to gain control of a system. @@ -84,7 +84,7 @@ man-in-the-middle attacks that leverage PKI which mitigates against
malicious applications that a user might download

The SmartScreen Filter can check the reputation of a downloaded application by using a service that Microsoft maintains. The first time a user runs an app that originates from the Internet (even if the user copied it from another PC), the SmartScreen filter checks to see if the app lacks a reputation or is known to be malicious, and responds accordingly.

-

More information: The SmartScreen Filter, later in this topic

+

More information: The SmartScreen Filter, later in this topic

Windows Defender (antimalware), which mitigates against multiple threats @@ -92,19 +92,19 @@ malicious applications that a user might download

More information: Windows Defender, later in this topic.

-Memory protections listed in Table 2,
+Memory protections listed in Table 2,
which mitigate against
malware that uses memory manipulation techniques such as buffer overruns

This set of mitigations helps protect against memory-based attacks, where malware or other code manipulates memory to gain control of a system. For example, malware may use buffer overruns to inject malicious executable code into memory.

A minority of trusted apps will not be able to run if some of these mitigations are set to their most restrictive settings. Testing can help you maximize protection while still allowing needed apps to run correctly.

-

More information: Table 2, later in this topic

+

More information: Table 2, later in this topic

Configurable Windows 10 mitigations oriented specifically toward memory manipulation are listed in the following table. Detailed understanding of these threats and mitigations requires detailed understanding of how the operating system and applications handle memory—knowledge used by developers but not necessarily by IT professionals. However, from an IT professional’s perspective, the basic process for maximizing these types of mitigations is to work in a test lab to discover whether a given setting interferes with any needed applications. Then you can deploy settings that maximize protection while still allowing needed apps to run correctly. -### Table 2  Configurable Windows 10 mitigations designed to protect against memory exploits +### Table 2  Configurable Windows 10 mitigations designed to protect against memory exploits @@ -119,7 +119,7 @@ Configurable Windows 10 mitigations oriented specifically toward memory manipula exploitation of buffer overruns @@ -127,7 +127,7 @@ exploitation of buffer overruns which mitigates against
overwrites of the Structured Exception Handler @@ -135,13 +135,13 @@ overwrites of the Structured Exception Handler which mitigates against
malware attacks based on expected memory locations

Data Execution Prevention (DEP) is a system-level memory protection feature that has been available in Windows operating systems for over a decade. DEP enables the system to mark one or more pages of memory as non-executable, which prevents code from being run from that region of memory, to help prevent exploitation of buffer overruns.

DEP helps prevent code from being run from data pages such as the default heap, stacks, and memory pools. Although some applications have compatibility problems with DEP, the vast majority of applications do not.

-

For more information, see Data Execution Prevention, later in this topic.

+

For more information, see Data Execution Prevention, later in this topic.

Group Policy settings for this mitigation: See Override Process Mitigation Options to help enforce app-related security policies.

Structured Exception Handling Overwrite Protection (SEHOP) is designed to block exploits that use the Structured Exception Handler (SEH) overwrite technique. Because this protection mechanism is provided at run-time, it helps protect applications regardless of whether they have been compiled with the latest improvements. Although some applications have compatibility problems with SEHOP, the vast majority of applications do not.

-

For more information, see Structured Exception Handling Overwrite Protection, later in this topic.

+

For more information, see Structured Exception Handling Overwrite Protection, later in this topic.

Group Policy setting for this mitigation: See Override Process Mitigation Options to help enforce app-related security policies.

Address Space Layout Randomization (ASLR) loads DLLs into random memory addresses at boot time. This mitigates against malware designed to attack specific memory locations where specific DLLs are expected to be loaded.

-

For more information, see Address Space Layout Randomization, later in this topic.

+

For more information, see Address Space Layout Randomization, later in this topic.

Group Policy settings for this mitigation: See Override Process Mitigation Options to help enforce app-related security policies.

-### Data Execution Prevention +### Data Execution Prevention Malware depends on its ability to put a malicious payload into memory with the hope that it will be executed later. Wouldn’t it be great if you could prevent malware from running if it wrote to an area that has been allocated solely for the storage of information? @@ -189,13 +189,13 @@ You can use Control Panel to view or change DEP settings. You can use the Group Policy setting called **Process Mitigation Options** to control DEP settings. Although some applications have compatibility problems with DEP, the vast majority of applications do not. To use the Group Policy setting, see [Override Process Mitigation Options to help enforce app-related security policies](https://technet.microsoft.com/itpro/windows/keep-secure/override-mitigation-options-for-app-related-security-policies). -### Structured Exception Handling Overwrite Protection +### Structured Exception Handling Overwrite Protection Structured Exception Handling Overwrite Protection (SEHOP) helps prevent attackers from being able to use malicious code to exploit the [Structured Exception Handler](https://msdn.microsoft.com/library/windows/desktop/ms680657(v=vs.85).aspx) (SEH), which is integral to the system and allows (non-malicious) apps to handle exceptions appropriately. Because this protection mechanism is provided at run-time, it helps protect applications regardless of whether they have been compiled with the latest improvements. You can use the Group Policy setting called **Process Mitigation Options** to control the SEHOP setting. Although some applications have compatibility problems with SEHOP, the vast majority of applications do not. To use the Group Policy setting, see [Override Process Mitigation Options to help enforce app-related security policies](https://technet.microsoft.com/itpro/windows/keep-secure/override-mitigation-options-for-app-related-security-policies). -### Address Space Layout Randomization +### Address Space Layout Randomization One of the most common techniques used to gain access to a system is to find a vulnerability in a privileged process that is already running, guess or find a location in memory where important system code and data have been placed, and then overwrite that information with a malicious payload. In the early days of operating systems, any malware that could write directly to the system memory could do such a thing; the malware would simply overwrite system memory in well-known and predictable locations. @@ -211,7 +211,7 @@ The ASLR implementation in Windows 10 is greatly improved over Windows 7, espe You can use the Group Policy setting called **Process Mitigation Options** to control ASLR settings (“Force ASLR” and “Bottom-up ASLR”), as described in [Override Process Mitigation Options to help enforce app-related security policies](https://technet.microsoft.com/itpro/windows/keep-secure/override-mitigation-options-for-app-related-security-policies). -### The SmartScreen Filter +### The SmartScreen Filter Starting with Windows Internet Explorer 8, the SmartScreen Filter has helped protect users from both malicious applications and nefarious websites by using the SmartScreen Filter’s application and URL reputation services. The SmartScreen Filter in Internet Explorer would check URLs and newly downloaded apps against an online reputation service that Microsoft maintained. If the app or URL were not known to be safe, SmartScreen Filter would warn the user or even prevent the app or URL from loading, depending on how systems administrators had configured Group Policy settings. @@ -270,14 +270,14 @@ One of the mitigations, Control Flow Guard (CFG), needs no configuration within which mitigate against
exploitation of the heap

Windows 10 includes protections for the heap, such as the use of internal data structures which help protect against corruption of memory used by the heap.

-

More information: Windows heap protections, later in this topic.

+

More information: Windows heap protections, later in this topic.

Kernel pool protections,
which mitigate against
exploitation of pool memory used by the kernel

Windows 10 includes protections for the pool of memory used by the kernel. For example, safe unlinking protects against pool overruns that are combined with unlinking operations to create an attack.

-

More information: Kernel pool protections, later in this topic.

+

More information: Kernel pool protections, later in this topic.

Control Flow Guard,
@@ -285,33 +285,33 @@ which mitigates against
exploits based on flow between code locations in memory

Control Flow Guard (CFG) is a mitigation built into Microsoft Edge, IE11, and other features in Windows 10.

CFG is a mitigation that any developer can configure into an application when it’s compiled. For such an application, CFG can detect an attacker’s attempt to change the intended flow of code. If this occurs, CFG terminates the application. Administrators can request software vendors to deliver Windows applications compiled with CFG enabled.

-

More information: Control Flow Guard, later in this topic.

+

More information: Control Flow Guard, later in this topic.

Additional memory protections,
such as protections against
NULL page derefences

Windows 10 includes a variety of memory protections, such as reserving the lowest 64 KB of process memory for the system, which helps protect against the “NULL dereference” technique and other threats.

-

For more information, see Additional memory protections, later in this topic

+

For more information, see Additional memory protections, later in this topic

Universal Windows apps protections,
which mitigate against
multiple threats

Universal Windows apps are carefully screened before being made available, and they run in an AppContainer sandbox with limited privileges and capabilities.

-

More information: Universal Windows apps protections, later in this topic.

+

More information: Universal Windows apps protections, later in this topic.

Protections built into Microsoft Edge (the browser),
which mitigate against
multiple threats

Windows 10 includes an entirely new browser, Microsoft Edge, designed with multiple security improvements.

-

More information: Microsoft Edge and Internet Explorer 11, later in this topic.

+

More information: Microsoft Edge and Internet Explorer 11, later in this topic.

-### Windows heap protections +### Windows heap protections The *heap* is a location in memory that Windows uses to store dynamic application data. Windows 10 continues to improve on earlier Windows heap designs by further mitigating the risk of heap exploits that could be used as part of an attack. @@ -323,13 +323,13 @@ Windows 10 has several important improvements to the security of the heap over - **Heap guard pages** before and after blocks of memory, which work as tripwires. If an attacker attempts to write past a block of memory (a common technique known as a buffer overflow), the attacker will have to overwrite a guard page. Any attempt to modify a guard page is considered a memory corruption, and Windows 10 responds by instantly terminating the app. -### Kernel pool protections +### Kernel pool protections The operating system kernel in Windows sets aside two pools of memory, one that remains in physical memory (“nonpaged pool”) and one that can be paged in and out of physical memory (“paged pool”). There are many types of attacks that have been attempted against these pools, such as process quota pointer encoding; lookaside, delay free, and pool page cookies; and PoolIndex bounds checks. Windows 10 has multiple “pool hardening” protections, such as integrity checks, that help protect the kernel pool against such attacks. In addition to pool hardening, Windows 10 includes other pool protections: -- **Kernel DEP** and **Kernel ASLR**: Follow the same principles as [Data Execution Prevention](#_Data_Execution_Prevention) and [Address Space Layout Randomization](#_Address_Space_Layout), described earlier in this topic. +- **Kernel DEP** and **Kernel ASLR**: Follow the same principles as [Data Execution Prevention](#data-execution-prevention) and [Address Space Layout Randomization](#address-space-layout-randomization), described earlier in this topic. - **Font parsing in AppContainer:** Isolates font parsing in an [AppContainer sandbox](https://msdn.microsoft.com/library/windows/desktop/mt595898(v=vs.85).aspx). @@ -339,7 +339,7 @@ In addition to pool hardening, Windows 10 includes other pool protections: - **Safe unlinking:** Protects against pool overruns that are combined with unlinking operations to create an attack. Windows 10 includes global safe unlinking, which extends heap and kernel pool safe unlinking to all usage of LIST\_ENTRY and includes the “FastFail” mechanism to enable rapid and safe process termination. -### Control Flow Guard +### Control Flow Guard When applications are loaded into memory, they are allocated space based on the size of the code, requested memory, and other factors. When an application begins to execute code, it calls additional code located in other memory addresses. The relationships between the code locations are well known—they are written in the code itself—but previous to Windows 10, the flow between these locations was not enforced, which gave attackers the opportunity to change the flow to meet their needs. @@ -347,7 +347,7 @@ This kind of threat is mitigated in Windows 10 through the Control Flow Guard (C An administrator cannot configure CFG; rather, an application developer can take advantage of CFG by configuring it when the application is compiled. Administrators should consider asking application developers and software vendors to deliver trustworthy Windows applications compiled with CFG enabled. Of course, browsers are a key entry point for attacks, so Microsoft Edge, IE, and other Windows features take full advantage of CFG. -### Additional memory protections +### Additional memory protections In addition to the protections listed in previous sections, Windows 10 includes other memory protections, including the following: @@ -357,7 +357,7 @@ In addition to the protections listed in previous sections, Windows 10 includes With Protected Processes, Windows 10 prevents untrusted processes from interacting or tampering with those that have been specially signed. Protected Processes defines levels of trust for processes. Less trusted processes are prevented from interacting with and therefore attacking more trusted processes. Windows 10 uses Protected Processes more broadly across the operating system, and for the first time, you can put antimalware solutions into the protected process space, which helps make the system and antimalware solutions less susceptible to tampering by malware that does manage to get on the system. -### Universal Windows apps protections +### Universal Windows apps protections When users download Universal Windows apps or even Windows Classic applications (Win32) from the Windows Store, it’s highly unlikely that they will encounter malware, because all apps go through a careful screening process before being made available in the store. Apps that organizations build and distribute through sideloading processes will need to be reviewed internally to ensure that they meet organizational security requirements. @@ -365,7 +365,7 @@ Regardless of how users acquire Universal Windows apps, they can use them with i In addition, all Universal Windows apps follow the security principle of least privilege. Apps receive only the minimum privileges they need to perform their legitimate tasks, so even if an attacker exploits an app, the damage the exploit can do is severely limited and should be contained within the sandbox. The Windows Store displays the exact capabilities the app requires (for example, access to the camera), along with the app’s age rating and publisher. -### Microsoft Edge and Internet Explorer 11 +### Microsoft Edge and Internet Explorer 11 Browser security is a critical component of any security strategy, and for good reason: the browser is the user’s interface to the Internet, an environment with many malicious sites and content waiting to attack. Most users cannot perform at least part of their job without a browser, and many users are completely reliant on one. This reality has made the browser the number one pathway from which malicious hackers initiate their attacks. @@ -391,7 +391,7 @@ For sites that require IE11 compatibility, including those that require binary e Some of the protections available in Windows 10 are provided through functions that can be called from apps or other software. Such software is less likely to provide openings for exploits. If you are working with a software vendor, you can request that they include these security-oriented functions in the application. The following table lists some types of mitigations and the corresponding security-oriented functions that can be used in apps. -**Note**   Control Flow Guard (CFG) is also an important mitigation that a developer can include in software when it is compiled. For more information, see [Control Flow Guard](#_Control_Flow_Guard_1), earlier in this topic. +**Note**   Control Flow Guard (CFG) is also an important mitigation that a developer can include in software when it is compiled. For more information, see [Control Flow Guard](#control-flow-guard), earlier in this topic. ### Table 4   Functions available to developers for building mitigations into apps @@ -432,7 +432,7 @@ to Windows 10 features
  • SEHOP

  • ASLR (Force ASLR, Bottom-up ASLR)

  • -

    Included in Windows 10 as configurable features. See Table 2, earlier in this topic.

    +

    Included in Windows 10 as configurable features. See Table 2, earlier in this topic.

    Also see the section that follows for steps you can take to convert your EMET settings for these features into policies that you can apply to Windows 10.

    @@ -446,7 +446,7 @@ to Windows 10 features -No action needed; mitigations for this threat are built into Windows 10, as described in Additional memory protections, earlier in this topic. +No action needed; mitigations for this threat are built into Windows 10, as described in Additional memory protections, earlier in this topic. -Mitigated in Windows 10 with applications compiled with Control Flow Guard, as described in Control Flow Guard, earlier in this topic. +Mitigated in Windows 10 with applications compiled with Control Flow Guard, as described in Control Flow Guard, earlier in this topic. @@ -479,7 +479,7 @@ The Converter feature is currently available as a Windows PowerShell cmdlet, **S - **Converting Certificate Trust settings to OS Key Pinning rules**: If you have an EMET “Certificate Trust” XML file (pinning rules file), you can also use **Set-ProcessMitigations -Convert** to convert the pinning rules file into an OS Key Pinning rules file. Then you can finish enabling that file as described in the OS Key Pinning documentation. -#### EMET-related products +#### EMET-related products Microsoft Consulting Services (MCS) and Microsoft Support/Premier Field Engineering (PFE) offer enterprise deliveries for EMET, support for EMET, and EMET-related reporting and auditing products such as the EMET Enterprise Reporting Service (ERS). For any enterprise customers who use such products today or who are interested in similar capabilities, we recommend evaluating [Windows Defender Advanced Threat Protection](https://technet.microsoft.com/itpro/windows/keep-secure/windows-defender-advanced-threat-protection) (ATP).