啟用惡意探索保護
適用於:
提示
想要體驗適用於端點的 Microsoft Defender 嗎? 注册免費試用版。
惡意探索保護可協助抵禦使用惡意探索感染裝置和散播的惡意程式碼。 惡意探索保護包含許多可套用至作業系統或個別應用程式的緩和措施。
重要事項
.NET 2.0 與某些惡意探索保護功能不相容,特別是匯出位址篩選 (EAF) 和匯入位址篩選 (IAF)。 如果您已啟用 .NET 2.0,則不支援使用 EAF 和 IAF。
惡意探索保護包含許多增強的緩和措施體驗工具組 (EMET) 功能。
必要條件
本節包含建議您成功部署惡意探索保護。
設定應用程式當機 (事件標識碼 1000 和/或事件標識碼 1001) 和/或停止回應的監視 (事件標識碼 1002)
啟用 完整使用者模式傾印 收集
查看哪些應用程式已使用「控制流程防護」編譯 (CFG) ,主要著重於降低記憶體損毀弱點。 使用 dumpbin 工具來查看其是否已編譯 w/ CFG。 針對這些應用程式,您可以略過啟用 DEP、ASRL、SEHOP 和 ACG 的強制執行。
使用安全的部署做法。
警告
如果您未測試且未通過安全的部署做法,則可能會造成用戶生產力中斷。
安全的部署做法
安全部署 (SDP) :安全的部署程式和程式會定義如何安全地對您的工作負載進行變更和部署。 實作 SDP 需要您透過管理風險的角度來思考部署。 您可以藉由實作 SDP,將部署中用戶生產力中斷的風險降到最低,並限制有問題部署對用戶的影響。
例如,從小型 (開始,10 到 50) 的 Windows 裝置,並使用它作為測試環境,以查看 21 種風險降低措施中哪些與惡意探索保護不相容。 拿掉與應用程式不相容的防護功能。 使用您要設為目標的應用程式來重複。 一旦您覺得原則已準備好用於生產環境。
一開始先推送至使用者驗收測試 (由IT系統管理員、安全性系統管理員和支持人員組成的UAT) 。 然後到 1%、5%、10%、25%、50%、75%,最後達到 100% 的環境。
啟用惡意探索保護防護功能
您可以使用以下任一方法個別啟用每個緩和措施:
Windows 10 和 Windows 11 中預設會設定惡意探索保護。 您可以將每個緩和措施設定為開啟、關閉或設為預設值。 有些緩和措施有其他選項。 您可以將這些設定匯出為 XML 檔案,並部署到其他裝置。
您也可以將緩和措施設定為稽核模式。 稽核模式可讓您測試緩和措施如何運作 (並檢閱事件),而不會影響裝置的正常使用。
Windows 安全性應用程式
在工作列中選取防護盾圖示,或在 [開始] 功能表中搜尋 [安全性],以開啟 Windows 安全性應用程式。
選取 [應用程式和瀏覽器控制] 磚 (或左側功能表列上的應用程式圖示),然後選取 [惡意探索保護設定]。
請移至 [程式設定],然後選擇您想要套用緩和措施的應用程式。
- 如果您想要設定的應用程式已列出,請選取它,然後選取 [編輯]。
- 如果未列出應用程式,請在清單頂端選取 [ 新增程式以自定義 ],然後選擇您要如何新增應用程式。
- 使用 [依程式名稱新增],以將緩和措施套用至任何具有該名稱的執行中程式。 指定具副檔名的檔案。 您可以輸入完整路徑,限制只有該位置中具有該名稱的應用程式才套用緩和措施。
- 使用 [選擇確切的檔案路徑] 以使用標準的 Windows 檔案總管檔案選擇器視窗來尋找並選取您想要的檔案。
選取應用程式之後,您就會看到可套用的所有緩和措施清單。 選擇 [稽核 ] 只會在稽核模式中套用風險降低。 如果您需要重新啟動進程或應用程式,或需要重新啟動 Windows,系統會通知您。
針對您想要設定的所有應用程式和緩和措施,重複步驟 3-4。
在 [系統設定] 區段下,尋找您想要設定的緩和措施,然後指定下列其中一個設定。 未在 [程式設定] 區段個別設定的應用程式,會使用此處的設定。
- [預設開啟]:針對未在應用程式特定的 [程式設定] 區段設定此緩和措施的應用程式,啟用緩和措施
- [預設關閉]:針對未在應用程式特定的 [程式設定] 區段設定此緩和措施的應用程式,停用緩和措施
- [使用預設值]:根據 Windows 10 或 Windows 11 安裝所設定的預設設定,緩和措施會設定為啟用或停用;一律在每個緩和措施的 [使用預設值] 標籤旁指定預設值 ([開啟] 或 [關閉])
針對您想要設定的所有系統層級緩和措施重複步驟 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。
在工作列中選取防護盾圖示,或在 [開始] 功能表中搜尋 [Windows 安全性],以開啟 Windows 安全性應用程式。
選取 [應用程式和瀏覽器控制] 磚 (或左側功能表列上的應用程式圖示),然後選取 [惡意探索保護]。
請移至 [程式設定],然後選擇您想要套用緩和措施的應用程式。
- 如果您想要設定的應用程式已列出,請選取它,然後選取 [編輯]。
- 如果未列出應用程式,請在清單頂端選取 [ 新增程式以自定義 ],然後選擇您要如何新增應用程式。
- 使用 [依程式名稱新增],以將緩和措施套用至任何具有該名稱的執行中程式。 指定具副檔名的檔案。 您可以輸入完整路徑,限制只有該位置中具有該名稱的應用程式才套用緩和措施。
- 使用 [選擇確切的檔案路徑] 以使用標準的 Windows 檔案總管檔案選擇器視窗來尋找並選取您想要的檔案。
選取應用程式之後,您就會看到可套用的所有緩和措施清單。 選擇 [稽核 ] 只會在稽核模式中套用風險降低。 如果您需要重新啟動進程或應用程式,或需要重新啟動 Windows,系統會通知您。
針對您想要設定的所有應用程式和緩和措施,重複步驟 3-4。 當您設定完成時,選取 [套用]。
Intune
登入 Azure 入口網站,然後開啟 Intune。
移至 [裝置組態>組態配置檔]>[建立配置檔]。
為設定檔命名,選擇 [Windows 10 和更新版本],選取 [配置檔類型] 的範本,然後選擇 [範本名稱] 底下的 [端點保護]。
選 取 [設定>Windows Defender 惡意探索防護>惡意探索保護]。
上傳具惡意探索保護設定的 XML 檔案:
選取 [確定] 儲存每個開啟的刀鋒視窗,然後選擇 [建立]。
選取設定檔的 [指派] 索引標籤、將原則指派給 [所有使用者及所有裝置],然後選取 [儲存]。
MDM
使用 ./Vendor/MSFT/Policy/Config/ExploitGuard/ExploitProtectionSettings 設定服務提供者 (CSP) 來啟用或停用惡意探索保護緩和功能,或使用稽核模式。
Microsoft Configuration Manager
端點安全性
在 Microsoft Configuration Manager 中,移至 [端點安全>性攻擊表面縮小]。
選 取 [建立原則>平臺],然後針對 [配置檔] 選擇 [ 惡意探索保護]。 然後,選取 [建立]。
指定名稱和描述、然後選擇 [下一步]。
選擇 [選取 XML 檔案] 並瀏覽至惡意探索保護 XML 檔案的位置。 選取檔案,然後選擇 [下一步]。
視需要設定 [範圍標籤] 和 [指派]。
在 [檢閱與建立] 下,檢閱您的設定,然後選擇 [建立]。
資產與合規性
在 Microsoft Configuration Manager 中,移至 [資產與合規性>Endpoint Protection>] [Windows Defender 惡意探索防護]。
選 取 [首頁>建立惡意探索防護原則]。
指定名稱和描述、選取 [惡意探索保護],然後選擇 [下一步]。
瀏覽至惡意探索保護 XML 檔案的位置,然後選取 [下一步]。
檢閱設定,然後選擇 [下一步] 來建立原則。
原則建立後,選取 [關閉]。
群組原則
在您的 群組原則 管理裝置上,開啟 [群組原則 管理控制台]。 以滑鼠右鍵按下您要設定的 群組原則 物件,然後選取 [編輯]。
在 [群組原則管理編輯器] 中,移至 [電腦設定] 然後選取 [系統管理範本]。
將樹狀結構展開至 Windows 元件>Windows Defender 惡意探索防護>惡意探索保護>使用一組常見的惡意探索保護設定。
選取 [啟用],然後輸入 XML 檔案的位置,然後選擇 [確定]。
PowerShell
您可以使用 PowerShell 動詞 Get
或 Set
來搭配 Cmdlet ProcessMitigation
使用。 使用 Get
會列出裝置上啟用之任何防護功能的目前設定狀態。
-Name
新增 Cmdlet 和應用程式 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) | 僅應用程式層級 |
EnableExportAddressFilterPlus , EnableExportAddressFilter [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 安全性。
拿掉惡意探索保護防護功能
若要重設 (復原或移除) 惡意探索保護防護功能,請參閱 惡意探索保護參考。
另請參閱
提示
想要深入了解? Engage 技術社群中的Microsoft安全性社群:適用於端點的 Microsoft Defender 技術社群。