fix layout issues

This commit is contained in:
Iaan D'Souza-Wiltshire
2017-12-07 14:24:01 -08:00
parent 509cda4f98
commit a685cfa876

View File

@ -86,29 +86,29 @@ The table in this section indicates the availability and support of native mitig
Mitigation | Available in Windows Defender Exploit Guard | Available in EMET Mitigation | Available in Windows Defender Exploit Guard | Available in EMET
-|:-:|:-: -|:-:|:-:
Arbitrary<EFBFBD>code<EFBFBD>guard<EFBFBD>(ACG)<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<br<EFBFBD>/>As<EFBFBD>"Memory<72>Protection<6F>Check" Arbitrary<EFBFBD>code<EFBFBD>guard<EFBFBD>(ACG) | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<br<EFBFBD>/>As<EFBFBD>"Memory<72>Protection<6F>Check"
Block<EFBFBD>remote<EFBFBD>images<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<br/>As<EFBFBD>"Load<61>Library<72>Check" Block<EFBFBD>remote<EFBFBD>images | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<br/>As<EFBFBD>"Load<61>Library<72>Check"
Block<EFBFBD>untrusted<EFBFBD>fonts<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)] Block<EFBFBD>untrusted<EFBFBD>fonts | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)]
Data<EFBFBD>Execution<EFBFBD>Prevention<EFBFBD>(DEP)<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)] Data<EFBFBD>Execution<EFBFBD>Prevention<EFBFBD>(DEP) | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)]
Export<EFBFBD>address<EFBFBD>filtering<EFBFBD>(EAF)<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)] Export<EFBFBD>address<EFBFBD>filtering<EFBFBD>(EAF) | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)]
Force<EFBFBD>randomization<EFBFBD>for<EFBFBD>images<EFBFBD>(Mandatory<72>ASLR)<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)] Force<EFBFBD>randomization<EFBFBD>for<EFBFBD>images<EFBFBD>(Mandatory<72>ASLR) | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)]
NullPage<EFBFBD>Security<EFBFBD>Mitigation<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<br<EFBFBD>/>Included<EFBFBD>natively<EFBFBD>in<EFBFBD>Windows<EFBFBD>10<EFBFBD><EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)] NullPage<EFBFBD>Security<EFBFBD>Mitigation | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<br<EFBFBD>/>Included<EFBFBD>natively<EFBFBD>in<EFBFBD>Windows<EFBFBD>10 | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)]
Randomize<EFBFBD>memory<EFBFBD>allocations<EFBFBD>(Bottom-Up<55>ASLR)<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)] Randomize<EFBFBD>memory<EFBFBD>allocations<EFBFBD>(Bottom-Up<55>ASLR) | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)]
Simulate<EFBFBD>execution<EFBFBD>(SimExec)<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)] Simulate<EFBFBD>execution<EFBFBD>(SimExec) | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)]
Validate<EFBFBD>API<EFBFBD>invocation<EFBFBD>(CallerCheck)<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)] Validate<EFBFBD>API<EFBFBD>invocation<EFBFBD>(CallerCheck) | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)]
Validate<EFBFBD>exception<EFBFBD>chains<EFBFBD>(SEHOP)<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)] Validate<EFBFBD>exception<EFBFBD>chains<EFBFBD>(SEHOP) | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)]
Validate<EFBFBD>stack<EFBFBD>integrity<EFBFBD>(StackPivot)<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)] Validate<EFBFBD>stack<EFBFBD>integrity<EFBFBD>(StackPivot) | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)]
Certificate<EFBFBD>trust<EFBFBD>(configurable<6C>certificate<74>pinning)<EFBFBD> | <EFBFBD>No<EFBFBD>longer<EFBFBD>supported<EFBFBD>by<EFBFBD>the<EFBFBD>industry<EFBFBD>as<EFBFBD>newer<EFBFBD>mitigations<EFBFBD>provide<EFBFBD>better<EFBFBD>protection<EFBFBD>with<EFBFBD>fewer<EFBFBD>errors<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)] Certificate<EFBFBD>trust<EFBFBD>(configurable<6C>certificate<74>pinning) | No<4E>longer<65>supported<65>by<62>the<68>industry<72>as<61>newer<65>mitigations<6E>provide<64>better<65>protection<6F>with<74>fewer<65>errors | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)]
Heap<EFBFBD>spray<EFBFBD>allocation<EFBFBD> | <EFBFBD>Ineffective<EFBFBD>against<EFBFBD>modern<EFBFBD>browser<EFBFBD>exploits,<2C>newer<65>mitigations<6E>provide<64>better<65>protection<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)] Heap<EFBFBD>spray<EFBFBD>allocation | Ineffective<76>against<73>modern<72>browser<65>exploits,<2C>newer<65>mitigations<6E>provide<64>better<65>protection | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)]
Block<EFBFBD>low<EFBFBD>integrity<EFBFBD>images<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>no](images/svg/check-no.md)] Block<EFBFBD>low<EFBFBD>integrity<EFBFBD>images | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>no](images/svg/check-no.md)]
Code<EFBFBD>integrity<EFBFBD>guard<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>no](images/svg/check-no.md)] Code<EFBFBD>integrity<EFBFBD>guard | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>no](images/svg/check-no.md)]
Disable<EFBFBD>extension<EFBFBD>points<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>no](images/svg/check-no.md)] Disable<EFBFBD>extension<EFBFBD>points | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>no](images/svg/check-no.md)]
Disable<EFBFBD>Win32k<EFBFBD>system<EFBFBD>calls<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>no](images/svg/check-no.md)] Disable<EFBFBD>Win32k<EFBFBD>system<EFBFBD>calls | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>no](images/svg/check-no.md)]
Do<EFBFBD>not<EFBFBD>allow<EFBFBD>child<EFBFBD>processes<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>no](images/svg/check-no.md)] Do<EFBFBD>not<EFBFBD>allow<EFBFBD>child<EFBFBD>processes | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>no](images/svg/check-no.md)]
Import<EFBFBD>address<EFBFBD>filtering<EFBFBD>(IAF)<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>no](images/svg/check-no.md)] Import<EFBFBD>address<EFBFBD>filtering<EFBFBD>(IAF) | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>no](images/svg/check-no.md)]
Validate<EFBFBD>handle<EFBFBD>usage<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>no](images/svg/check-no.md)] Validate<EFBFBD>handle<EFBFBD>usage | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>no](images/svg/check-no.md)]
Validate<EFBFBD>heap<EFBFBD>integrity<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>no](images/svg/check-no.md)] Validate<EFBFBD>heap<EFBFBD>integrity | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>no](images/svg/check-no.md)]
Validate<EFBFBD>image<EFBFBD>dependency<EFBFBD>integrity<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>no](images/svg/check-no.md)] Validate<EFBFBD>image<EFBFBD>dependency<EFBFBD>integrity | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>no](images/svg/check-no.md)]
@ -135,55 +135,55 @@ Validate
Mitigation | Available in Windows Defender Exploit Guard | Available in EMET Mitigation | Available in Windows Defender Exploit Guard | Available in EMET
-|:-:|:-: -|:-:|:-:
Arbitrary<EFBFBD>code<EFBFBD>guard<EFBFBD>(ACG)<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<br<EFBFBD>/>As<EFBFBD>"Memory<72>Protection<6F>Check" Arbitrary<EFBFBD>code<EFBFBD>guard<EFBFBD>(ACG) | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<br<EFBFBD>/>As<EFBFBD>"Memory<72>Protection<6F>Check"
Block<EFBFBD>low<EFBFBD>integrity<EFBFBD>images<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>no](images/svg/check-no.md)] Block<EFBFBD>low<EFBFBD>integrity<EFBFBD>images | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>no](images/svg/check-no.md)]
Block<EFBFBD>remote<EFBFBD>images<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<br/>As<EFBFBD>"Load<61>Library<72>Check" Block<EFBFBD>remote<EFBFBD>images | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<br/>As<EFBFBD>"Load<61>Library<72>Check"
Block<EFBFBD>untrusted<EFBFBD>fonts<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)] Block<EFBFBD>untrusted<EFBFBD>fonts | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)]
Certificate<EFBFBD>trust<EFBFBD>(configurable<6C>certificate<74>pinning)<EFBFBD> | <EFBFBD>No<EFBFBD>longer<EFBFBD>supported<EFBFBD>by<EFBFBD>the<EFBFBD>industry<EFBFBD>as<EFBFBD>newer<EFBFBD>mitigations<EFBFBD>provide<EFBFBD>better<EFBFBD>protection<EFBFBD>with<EFBFBD>fewer<EFBFBD>errors<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)] Certificate<EFBFBD>trust<EFBFBD>(configurable<6C>certificate<74>pinning) | No<4E>longer<65>supported<65>by<62>the<68>industry<72>as<61>newer<65>mitigations<6E>provide<64>better<65>protection<6F>with<74>fewer<65>errors | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)]
Code<EFBFBD>integrity<EFBFBD>guard<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>no](images/svg/check-no.md)] Code<EFBFBD>integrity<EFBFBD>guard | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>no](images/svg/check-no.md)]
Data<EFBFBD>Execution<EFBFBD>Prevention<EFBFBD>(DEP)<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)] Data<EFBFBD>Execution<EFBFBD>Prevention<EFBFBD>(DEP) | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)]
Disable<EFBFBD>extension<EFBFBD>points<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>no](images/svg/check-no.md)] Disable<EFBFBD>extension<EFBFBD>points | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>no](images/svg/check-no.md)]
Disable<EFBFBD>Win32k<EFBFBD>system<EFBFBD>calls<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>no](images/svg/check-no.md)] Disable<EFBFBD>Win32k<EFBFBD>system<EFBFBD>calls | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>no](images/svg/check-no.md)]
Do<EFBFBD>not<EFBFBD>allow<EFBFBD>child<EFBFBD>processes<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>no](images/svg/check-no.md)] Do<EFBFBD>not<EFBFBD>allow<EFBFBD>child<EFBFBD>processes | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>no](images/svg/check-no.md)]
Export<EFBFBD>address<EFBFBD>filtering<EFBFBD>(EAF)<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)] Export<EFBFBD>address<EFBFBD>filtering<EFBFBD>(EAF) | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)]
Force<EFBFBD>randomization<EFBFBD>for<EFBFBD>images<EFBFBD>(Mandatory<72>ASLR)<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)] Force<EFBFBD>randomization<EFBFBD>for<EFBFBD>images<EFBFBD>(Mandatory<72>ASLR) | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)]
Heap<EFBFBD>spray<EFBFBD>allocation<EFBFBD> | <EFBFBD>Ineffective<EFBFBD>against<EFBFBD>modern<EFBFBD>browser<EFBFBD>exploits,<2C>newer<65>mitigations<6E>provide<64>better<65>protection<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)] Heap<EFBFBD>spray<EFBFBD>allocation | Ineffective<76>against<73>modern<72>browser<65>exploits,<2C>newer<65>mitigations<6E>provide<64>better<65>protection | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)]
Import<EFBFBD>address<EFBFBD>filtering<EFBFBD>(IAF)<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>no](images/svg/check-no.md)] Import<EFBFBD>address<EFBFBD>filtering<EFBFBD>(IAF) | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>no](images/svg/check-no.md)]
NullPage<EFBFBD>Security<EFBFBD>Mitigation<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<br<EFBFBD>/>Included<EFBFBD>natively<EFBFBD>in<EFBFBD>Windows<EFBFBD>10<EFBFBD><EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)] NullPage<EFBFBD>Security<EFBFBD>Mitigation | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<br<EFBFBD>/>Included<EFBFBD>natively<EFBFBD>in<EFBFBD>Windows<EFBFBD>10 | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)]
Randomize<EFBFBD>memory<EFBFBD>allocations<EFBFBD>(Bottom-Up<55>ASLR)<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)] Randomize<EFBFBD>memory<EFBFBD>allocations<EFBFBD>(Bottom-Up<55>ASLR) | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)]
Simulate<EFBFBD>execution<EFBFBD>(SimExec)<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)] Simulate<EFBFBD>execution<EFBFBD>(SimExec) | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)]
Validate<EFBFBD>API<EFBFBD>invocation<EFBFBD>(CallerCheck)<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)] Validate<EFBFBD>API<EFBFBD>invocation<EFBFBD>(CallerCheck) | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)]
Validate<EFBFBD>exception<EFBFBD>chains<EFBFBD>(SEHOP)<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)] Validate<EFBFBD>exception<EFBFBD>chains<EFBFBD>(SEHOP) | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)]
Validate<EFBFBD>handle<EFBFBD>usage<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>no](images/svg/check-no.md)] Validate<EFBFBD>handle<EFBFBD>usage | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>no](images/svg/check-no.md)]
Validate<EFBFBD>heap<EFBFBD>integrity<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>no](images/svg/check-no.md)] Validate<EFBFBD>heap<EFBFBD>integrity | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>no](images/svg/check-no.md)]
Validate<EFBFBD>image<EFBFBD>dependency<EFBFBD>integrity<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>no](images/svg/check-no.md)] Validate<EFBFBD>image<EFBFBD>dependency<EFBFBD>integrity | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>no](images/svg/check-no.md)]
Validate<EFBFBD>stack<EFBFBD>integrity<EFBFBD>(StackPivot)<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)] Validate<EFBFBD>stack<EFBFBD>integrity<EFBFBD>(StackPivot) | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)]
# Table WDEG yes > EMET no > Emet > yes # Table WDEG yes > EMET no > Emet > yes
Mitigation | Available in Windows Defender Exploit Guard | Available in EMET Mitigation | Available in Windows Defender Exploit Guard | Available in EMET
-|:-:|:-: -|:-:|:-:
Block<EFBFBD>low<EFBFBD>integrity<EFBFBD>images<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>no](images/svg/check-no.md)] Block<EFBFBD>low<EFBFBD>integrity<EFBFBD>images | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>no](images/svg/check-no.md)]
Code<EFBFBD>integrity<EFBFBD>guard<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>no](images/svg/check-no.md)] Code<EFBFBD>integrity<EFBFBD>guard | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>no](images/svg/check-no.md)]
Disable<EFBFBD>extension<EFBFBD>points<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>no](images/svg/check-no.md)] Disable<EFBFBD>extension<EFBFBD>points | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>no](images/svg/check-no.md)]
Disable<EFBFBD>Win32k<EFBFBD>system<EFBFBD>calls<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>no](images/svg/check-no.md)] Disable<EFBFBD>Win32k<EFBFBD>system<EFBFBD>calls | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>no](images/svg/check-no.md)]
Do<EFBFBD>not<EFBFBD>allow<EFBFBD>child<EFBFBD>processes<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>no](images/svg/check-no.md)] Do<EFBFBD>not<EFBFBD>allow<EFBFBD>child<EFBFBD>processes | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>no](images/svg/check-no.md)]
Import<EFBFBD>address<EFBFBD>filtering<EFBFBD>(IAF)<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>no](images/svg/check-no.md)] Import<EFBFBD>address<EFBFBD>filtering<EFBFBD>(IAF) | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>no](images/svg/check-no.md)]
Validate<EFBFBD>handle<EFBFBD>usage<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>no](images/svg/check-no.md)] Validate<EFBFBD>handle<EFBFBD>usage | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>no](images/svg/check-no.md)]
Validate<EFBFBD>heap<EFBFBD>integrity<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>no](images/svg/check-no.md)] Validate<EFBFBD>heap<EFBFBD>integrity | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>no](images/svg/check-no.md)]
Validate<EFBFBD>image<EFBFBD>dependency<EFBFBD>integrity<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>no](images/svg/check-no.md)] Validate<EFBFBD>image<EFBFBD>dependency<EFBFBD>integrity | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>no](images/svg/check-no.md)]
Heap<EFBFBD>spray<EFBFBD>allocation<EFBFBD> | <EFBFBD>Ineffective<EFBFBD>against<EFBFBD>modern<EFBFBD>browser<EFBFBD>exploits,<2C>newer<65>mitigations<6E>provide<64>better<65>protection<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)] Heap<EFBFBD>spray<EFBFBD>allocation | Ineffective<76>against<73>modern<72>browser<65>exploits,<2C>newer<65>mitigations<6E>provide<64>better<65>protection | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)]
Certificate<EFBFBD>trust<EFBFBD>(configurable<6C>certificate<74>pinning)<EFBFBD> | <EFBFBD>No<EFBFBD>longer<EFBFBD>supported<EFBFBD>by<EFBFBD>the<EFBFBD>industry<EFBFBD>as<EFBFBD>newer<EFBFBD>mitigations<EFBFBD>provide<EFBFBD>better<EFBFBD>protection<EFBFBD>with<EFBFBD>fewer<EFBFBD>errors<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)] Certificate<EFBFBD>trust<EFBFBD>(configurable<6C>certificate<74>pinning) | No<4E>longer<65>supported<65>by<62>the<68>industry<72>as<61>newer<65>mitigations<6E>provide<64>better<65>protection<6F>with<74>fewer<65>errors | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)]
NullPage<EFBFBD>Security<EFBFBD>Mitigation<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<br<EFBFBD>/>Included<EFBFBD>natively<EFBFBD>in<EFBFBD>Windows<EFBFBD>10<EFBFBD><EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)] NullPage<EFBFBD>Security<EFBFBD>Mitigation | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<br<EFBFBD>/>Included<EFBFBD>natively<EFBFBD>in<EFBFBD>Windows<EFBFBD>10 | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)]
Block<EFBFBD>untrusted<EFBFBD>fonts<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)] Block<EFBFBD>untrusted<EFBFBD>fonts | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)]
Data<EFBFBD>Execution<EFBFBD>Prevention<EFBFBD>(DEP)<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)] Data<EFBFBD>Execution<EFBFBD>Prevention<EFBFBD>(DEP) | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)]
Export<EFBFBD>address<EFBFBD>filtering<EFBFBD>(EAF)<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)] Export<EFBFBD>address<EFBFBD>filtering<EFBFBD>(EAF) | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)]
Force<EFBFBD>randomization<EFBFBD>for<EFBFBD>images<EFBFBD>(Mandatory<72>ASLR)<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)] Force<EFBFBD>randomization<EFBFBD>for<EFBFBD>images<EFBFBD>(Mandatory<72>ASLR) | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)]
Randomize<EFBFBD>memory<EFBFBD>allocations<EFBFBD>(Bottom-Up<55>ASLR)<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)] Randomize<EFBFBD>memory<EFBFBD>allocations<EFBFBD>(Bottom-Up<55>ASLR) | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)]
Simulate<EFBFBD>execution<EFBFBD>(SimExec)<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)] Simulate<EFBFBD>execution<EFBFBD>(SimExec) | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)]
Validate<EFBFBD>API<EFBFBD>invocation<EFBFBD>(CallerCheck)<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)] Validate<EFBFBD>API<EFBFBD>invocation<EFBFBD>(CallerCheck) | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)]
Validate<EFBFBD>exception<EFBFBD>chains<EFBFBD>(SEHOP)<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)] Validate<EFBFBD>exception<EFBFBD>chains<EFBFBD>(SEHOP) | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)]
Validate<EFBFBD>stack<EFBFBD>integrity<EFBFBD>(StackPivot)<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)] Validate<EFBFBD>stack<EFBFBD>integrity<EFBFBD>(StackPivot) | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)]
Arbitrary<EFBFBD>code<EFBFBD>guard<EFBFBD>(ACG)<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<br<EFBFBD>/>As<EFBFBD>"Memory<72>Protection<6F>Check" Arbitrary<EFBFBD>code<EFBFBD>guard<EFBFBD>(ACG) | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<br<EFBFBD>/>As<EFBFBD>"Memory<72>Protection<6F>Check"
Block<EFBFBD>remote<EFBFBD>images<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<EFBFBD> | <EFBFBD>[!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<br/>As<EFBFBD>"Load<61>Library<72>Check" Block<EFBFBD>remote<EFBFBD>images | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)] | [!include[Check<63>mark<72>yes](images/svg/check-yes.md)]<br/>As<EFBFBD>"Load<61>Library<72>Check"