啟用惡意探索保護

適用於:

提示

想要體驗適用於端點的 Microsoft Defender 嗎? 注册免費試用版。

惡意探索保護可協助抵禦使用惡意探索感染裝置和散播的惡意程式碼。 惡意探索保護包含許多可套用至作業系統或個別應用程式的緩和措施。

重要事項

.NET 2.0 與某些惡意探索保護功能不相容,特別是匯出位址篩選 (EAF) 和匯入位址篩選 (IAF)。 如果您已啟用 .NET 2.0,則不支援使用 EAF 和 IAF。

惡意探索保護包含許多增強的緩和措施體驗工具組 (EMET) 功能。

您可以使用以下任一方法個別啟用每個緩和措施:

Windows 10 和 Windows 11 中預設會設定惡意探索保護。 您可以將每個緩和措施設定為開啟、關閉或設為預設值。 有些緩和措施有其他選項。 您可以將這些設定匯出為 XML 檔案,並部署到其他裝置。

您也可以將緩和措施設定為稽核模式。 稽核模式可讓您測試緩和措施如何運作 (並檢閱事件),而不會影響裝置的正常使用。

Windows 安全性應用程式

  1. 在工作列中選取防護盾圖示,或在 [開始] 功能表中搜尋 [安全性],以開啟 Windows 安全性應用程式。

  2. 選取 [應用程式 & 瀏覽器控制項] 圖格 (或左側功能表列上的應用程式圖示) ,然後選取 [ 惡意探索保護設定]

  3. 請移至 [程式設定],然後選擇您想要套用緩和措施的應用程式。

    • 如果您想要設定的應用程式已列出,請選取它,然後選取 [編輯]
    • 如果未列出應用程式,請在清單頂端選取 [新增程式以自訂],然後選擇您要如何新增應用程式。
    • 使用 [依程式名稱新增],以將緩和措施套用至任何具有該名稱的執行中程式。 指定具副檔名的檔案。 您可以輸入完整路徑,限制只有該位置中具有該名稱的應用程式才套用緩和措施。
    • 使用 [選擇確切的檔案路徑] 以使用標準的 Windows 檔案總管檔案選擇器視窗來尋找並選取您想要的檔案。
  4. 選取應用程式之後,您就會看到可套用的所有緩和措施清單。 選擇 [稽核] 僅會在稽核模式中套用緩和措施。 如果您需要重新啟動程式或應用程式,或如果您需要重新啟動 Windows,您會收到通知。

  5. 針對您想要設定的所有應用程式和緩和措施,重複步驟 3-4。

  6. [系統設定] 區段下,尋找您想要設定的緩和措施,然後指定下列其中一個設定。 未在 [程式設定] 區段個別設定的應用程式,會使用此處的設定。

    • [預設開啟]:針對未在應用程式特定的 [程式設定] 區段設定此緩和措施的應用程式,啟用緩和措施
    • [預設關閉]:針對未在應用程式特定的 [程式設定] 區段設定此緩和措施的應用程式,停用緩和措施
    • [使用預設值]:根據 Windows 10 或 Windows 11 安裝所設定的預設設定,緩和措施會設定為啟用或停用;一律在每個緩和措施的 [使用預設值] 標籤旁指定預設值 ([開啟][關閉])
  7. 針對您想要設定的所有系統層級緩和措施重複步驟 6。 當您設定完成時,選取 [套用]

如果您將應用程式新增到 [程式設定] 區段,並在那裡設定個別的緩和措施設定,它們的優先順序會高於在 [系統設定] 區段所指定之相同緩和措施的設定。 下列矩陣和範例可說明預設值的運作方式:

[程式設定] 中啟用 [系統設定] 中啟用 行為
[程式設定] 中定義
[程式設定] 中定義
[系統設定] 中定義
預設值,如 [使用預設值] 選項所定義

範例 1:Mikael 在系統設定區段將 [資料執行防護] 設定為預設關閉

Mikael 將 test.exe 應用程式新增至 [程式設定] 區段。 在該應用程式的選項中,在 [資料執行防護 (DEP)] 下,Mikael 啟用 [覆寫系統設定] 選項,並且將開關設定為 [開啟]。 在 [程式設定] 區段下未列出其他應用程式。

結果是僅會針對 test.exe 啟用 DEP。 所有其他應用程式將不會套用 DEP。

範例 2:Josie 在系統設定中將 [資料執行防護] 設定為預設關閉

Josie 將 test.exe 應用程式新增至 [程式設定] 區段。 在該應用程式的選項中,在 [資料執行防護 (DEP)] 下,Josie 啟用 [覆寫系統設定] 選項,並且將開關設定為 [開啟]

Josie 也將 miles.exe 應用程式新增到 [程式設定] 區段,並將 [控制流程防護 (CFG)] 設定為 [開啟]。 Josie 沒有為 DEP 啟用 [覆寫系統設定] 選項或該應用程序的任何其他緩和措施。

結果是會針對 test.exe 啟用 DEP。 將不會為任何其他應用程式啟用 DEP,包括 miles.exe。 將為 miles.exe 啟用 CFG。

  1. 在工作列中選取防護盾圖示,或在 [開始] 功能表中搜尋 [Windows 安全性],以開啟 Windows 安全性應用程式。

  2. 選取 [應用程式 & 瀏覽器控制項] 圖格 (或左側功能表列上的應用程式圖示) ,然後選取 [ 惡意探索保護]

  3. 請移至 [程式設定],然後選擇您想要套用緩和措施的應用程式。

    • 如果您想要設定的應用程式已列出,請選取它,然後選取 [編輯]
    • 如果未列出應用程式,請在清單頂端選取 [新增程式以自訂],然後選擇您要如何新增應用程式。
      • 使用 [依程式名稱新增],以將緩和措施套用至任何具有該名稱的執行中程式。 指定具副檔名的檔案。 您可以輸入完整路徑,限制只有該位置中具有該名稱的應用程式才套用緩和措施。
      • 使用 [選擇確切的檔案路徑] 以使用標準的 Windows 檔案總管檔案選擇器視窗來尋找並選取您想要的檔案。
  4. 選取應用程式之後,您就會看到可套用的所有緩和措施清單。 選擇 [稽核] 僅會在稽核模式中套用緩和措施。 如果您需要重新啟動程式或應用程式,或如果您需要重新啟動 Windows,您將收到通知。

  5. 針對您想要設定的所有應用程式和緩和措施,重複步驟 3-4。 當您設定完成時,選取 [套用]

Intune

  1. 登入 Azure 入口網站,然後開啟 Intune。

  2. 移至[裝置組態>設定檔]>[建立設定檔]

  3. 為設定檔命名,並選擇 [Windows 10 及更新版本] [Endpoint Protection]

    建立 Endpoint Protection 設定檔

  4. 取 [設定>Windows Defender惡意探索>防護保護]

  5. 上傳具惡意探索保護設定的 XML 檔案

    Intune 中的 [啟用網路保護] 設定

  6. 選取 [確定] 儲存每個開啟的刀鋒視窗,然後選擇 [建立]

  7. 選取設定檔 [ 指派] 索引卷 標,將原則指派給 [所有使用者 & 所有裝置],然後選取 [ 儲存]

MDM

使用 ./Vendor/MSFT/Policy/Config/ExploitGuard/ExploitProtectionSettings 設定服務提供者 (CSP) 來啟用或停用惡意探索保護緩和功能,或使用稽核模式。

Microsoft 端點管理員

  1. 在 Microsoft 端點管理員中,移至[端點安全>性攻擊表面縮小]

  2. 取 [建立原則>平臺],然後針對[設定檔] 選擇 [惡意探索保護]。 然後,選取 [建立]

  3. 指定名稱和描述、然後選擇 [下一步]

  4. 選擇 [選取 XML 檔案] 並瀏覽至惡意探索保護 XML 檔案的位置。 選取檔案,然後選擇 [下一步]

  5. 視需要設定 [範圍標籤][指派]

  6. [檢閱與建立] 下,檢閱您的設定,然後選擇 [建立]

Microsoft Endpoint Configuration Manager

  1. 在 Microsoft 端點Configuration Manager中,移至[資產與合規性>Endpoint Protection>Windows Defender惡意探索防護]

  2. 取 [首頁>建立惡意探索防護原則]

  3. 指定名稱和描述、選取 [惡意探索保護],然後選擇 [下一步]

  4. 瀏覽至惡意探索保護 XML 檔案的位置,然後選取 [下一步]

  5. 檢閱設定,然後選擇 [下一步] 來建立原則。

  6. 原則建立後,選取 [關閉]

群組原則

  1. 在您的 [群組原則] 管理裝置腦上,開啟 [群組原則管理主控台]、以滑鼠右鍵按一下您要設定的 [群組原則物件],然後按一下 [編輯]

  2. [群組原則管理編輯器] 中,移至 [電腦設定] 然後選取 [系統管理範本]

  3. 將樹狀結構展開至Windows 元件>Windows Defender惡意探索防護>惡意探索保護>使用一組常見的惡意探索保護設定

  4. 選取 [啟用],然後輸入 XML 檔案的位置,然後選擇 [確定]

PowerShell

您可以使用 PowerShell 動詞 GetSet 來搭配 Cmdlet ProcessMitigation 使用。 使用 Get 會列出裝置上已啟用之任何緩和措施的目前設定狀態 - 新增 -Name Cmdlet 與 app exe,以查看該應用程式的緩和措施:

Get-ProcessMitigation -Name processName.exe

重要事項

尚未設定的系統層級緩和措施會顯示 NOTSET 的狀態。

  • 對於系統層級設定,NOTSET 表示已套用該緩和措施的預設設定。
  • 對於應用層級設定,NOTSET 表示將套用該緩和措施的系統層級設定。 可以在 Windows 安全性中查看每個系統層級緩和措施的預設設定。

使用 Set 以下列格式設定每個緩和措施:

Set-ProcessMitigation -<scope> <app executable> -<action> <mitigation or options>,<mitigation or options>,<mitigation or options>

其中:

  • <範圍 > :
    • -Name 表示應將緩和措施套用至特定應用程式。 在此旗標之後指定應用程式的可執行檔。
      • -System 表示應在系統層級套用緩和措施。
  • <動作 > :
    • -Enable 以啟用緩和措施
    • -Disable 以停用緩和措施
  • <風險降低 > :
    • 緩和措施的 Cmdlet 以及任何子選項 (以空格環繞)。 每個緩和措施會以逗號分隔。

例如,若要使用 ATL Thunk 模擬來啟用 [資料執行保護 (DEP)] 緩和措施,以及針對資料夾 C:\Apps\LOB\tests中名為 testing.exe 的可執行檔,以及防止該可執行檔建立子處理序,您可以使用下列命令:

Set-ProcessMitigation -Name c:\apps\lob\tests\testing.exe -Enable DEP, EmulateAtlThunks, DisallowChildProcessCreation

重要事項

以逗號分隔每個緩和措施選項。

如果您想要在系統層級套用 DEP,請使用下列命令:

Set-Processmitigation -System -Enable DEP

若要停用緩和措施,您可以將 -Enable 取代為 -Disable。 不過,針對應用程式層級的緩和措施,此動作會強制僅針對該應用程式停用緩和措施。

如果您需要將緩和措施還原回系統預設值,您也需要包含 -Remove Cmdlet,如下列範例所示:

Set-Processmitigation -Name test.exe -Remove -Disable DEP

下表列出要與 -Enable-Disable Cmdlet 參數一起使用的個別 [緩和措施] (以及 [稽核] (若可用))。

緩和措施類型 適用於 緩和措施 Cmdlet 參數關鍵字 稽核模式 Cmdlet 參數
控制流量防護 (CFG) 系統與應用程式層級 CFG, StrictCFG, SuppressExports 稽核無法使用
資料執行防護 (DEP) 系統與應用程式層級 DEP, EmulateAtlThunks 稽核無法使用
強制執行映像隨機化 (強制 ASLR) 系統與應用程式層級 ForceRelocateImages 稽核無法使用
隨機記憶體配置 (由下而上 ASLR) 系統與應用程式層級 BottomUp, HighEntropy 稽核無法使用
驗證例外狀況鏈結 (SEHOP) 系統與應用程式層級 SEHOP, SEHOPTelemetry 稽核無法使用
驗證堆積完整性 系統與應用程式層級 TerminateOnError 稽核無法使用
任意程式碼防護 (ACG) 僅應用程式層級 DynamicCode AuditDynamicCode
封鎖低完整性映像 僅應用程式層級 BlockLowLabel AuditImageLoad
封鎖遠端映像 僅應用程式層級 BlockRemoteImages 稽核無法使用
封鎖不信任的字型 僅應用程式層級 DisableNonSystemFonts AuditFont, FontAuditOnly
程式碼完整性防護 僅應用程式層級 BlockNonMicrosoftSigned, AllowStoreSigned AuditMicrosoftSigned, AuditStoreSigned
停用擴充點 僅應用程式層級 ExtensionPoint 稽核無法使用
停用 Win32k 系統呼叫 僅應用程式層級 DisableWin32kSystemCalls AuditSystemCall
不允許子處理序 僅應用程式層級 DisallowChildProcessCreation AuditChildProcess
匯出位址篩選 (EAF) 僅應用程式層級 EnableExportAddressFilterPlusEnableExportAddressFilter[1] 稽核無法使用 [2]
匯入位址篩選 (IAF) 僅應用程式層級 EnableImportAddressFilter 稽核無法使用 [2]
模擬執行 (SimExec) 僅應用程式層級 EnableRopSimExec 稽核無法使用 [2]
驗證 API 引動過程 (CallerCheck) 僅應用程式層級 EnableRopCallerCheck 稽核無法使用 [2]
驗證控制代碼使用方式 僅應用程式層級 StrictHandle 稽核無法使用
驗證映像相依性完整性 僅應用程式層級 EnforceModuleDepencySigning 稽核無法使用
驗證堆疊完整性 (StackPivot) 僅應用程式層級 EnableRopStackPivot 稽核無法使用 [2]

[1]:使用下列格式為進程啟用 DLL 的 EAF 模組:

Set-ProcessMitigation -Name processName.exe -Enable EnableExportAddressFilterPlus -EAFModules dllName1.dll,dllName2.dll

[2]:無法透過 PowerShell Cmdlet 來稽核此防護功能。

自訂通知

如需在觸發規則並封鎖應用程式或檔案時自訂通知的詳細資訊,請參閱 Windows 安全性

另請參閱