本文說明如何判斷計算機上的硬體 DEP 可供使用及設定。
原始 KB 編號: 912923
簡介
數據執行防護 (DEP) 是一組硬體和軟體技術,可對記憶體執行額外的檢查,以協助防範惡意代碼惡意探索。
硬體強制執行的 DEP 會將進程中的所有記憶體位置標示為非可執行檔,除非位置明確包含可執行程序代碼。 惡意代碼攻擊類型會嘗試從非可執行記憶體位置插入和執行程序代碼。 DEP藉由攔截這些攻擊並引發例外狀況來協助防止這些攻擊。
本文說明使用硬體強制執行 DEP 的需求。 本文也會說明如何確認硬體 DEP 在 Windows 中運作。
其他相關資訊
使用硬體強制執行 DEP 的需求
若要使用硬體強制執行的 DEP,您必須符合下列所有條件:
計算機的處理器必須支援硬體強制執行的 DEP。
許多最近的處理器都支援硬體強制執行的 DEP。 進階 Micro Devices (AMD) 和 Intel Corporation 都已定義並隨附與 DEP 相容的 Windows 相容架構。 此處理器支援可能稱為 NX (no-execute) 或 XD (execute disable) 技術。 若要判斷您的電腦處理器是否支援硬體強制執行的 DEP,請連絡電腦的製造商。
必須在 BIOS 中啟用硬體強制執行的 DEP。
在某些電腦上,您可以在 BIOS 中停用硬體強制執行 DEP 的處理器支援。 無法停用此支援。 視計算機製造商而定,停用此支援的選項可能會標示為「數據執行防止」、「XD」、「執行停用」或「NX」。
計算機必須已安裝 Service Pack 2 或已安裝 Service Pack 1 的 Windows Server 2003。
注意
32 位版本和 64 位版本的 Windows 都支援硬體強制執行的 DEP。 Windows XP Media Center Edition 2005 和 Microsoft Windows XP Tablet PC Edition 2005 包含 Windows XP SP2 的所有功能和元件。
必須針對電腦上的程式啟用硬體強制執行 DEP。
在 64 位版本的 Windows 中,硬體強制執行的 DEP 一律會針對 64 位原生程式啟用。 不過,根據您的設定,32 位程式可能會停用硬體強制執行的 DEP。
如需如何在 Windows XP with Service Pack 2 中設定記憶體保護的相關信息,請流覽下列Microsoft網站:
https://technet.microsoft.com/library/cc700810.aspx
如何確認硬體 DEP 在 Windows 中運作
若要確認硬體 DEP 在 Windows 中運作,請使用下列其中一種方法。
方法 1:使用 Wmic
命令行工具
您可以使用 Wmic
命令列工具來檢查 DEP 設定。 若要判斷硬體強制執行的 DEP 是否可用,請遵循下列步驟:
按兩下 [開始],按兩下 [執行],在 [ 開啟 ] 方塊中輸入 Cmd,然後按兩下 [ 確定]。
在命令提示字元中輸入下列命令,然後按 ENTER:
wmic OS Get DataExecutionPrevention_Available
如果輸出為 「TRUE」,則會提供硬體強制執行的 DEP。
若要判斷目前的 DEP 支持原則,請遵循下列步驟。
按兩下 [開始],按兩下 [執行],在 [ 開啟 ] 方塊中輸入 Cmd,然後按兩下 [ 確定]。
在命令提示字元中輸入下列命令,然後按 ENTER:
wmic OS Get DataExecutionPrevention_SupportPolicy
傳回的值會是 0、1、2 或 3。 此值對應至下表所述的其中一個 DEP 支持原則。
DataExecutionPrevention_SupportPolicy屬性值 原則層級 描述 2 OptIn (預設組態) 只有 Windows 系統元件和服務已套用 DEP 3 OptOut 所有進程都已啟用 DEP。 系統管理員可以手動建立未套用 DEP 的特定應用程式清單 1 AlwaysOn 所有進程都已啟用 DEP 0 AlwaysOff 未針對任何進程啟用 DEP 注意
若要確認已啟用硬體 DEP 的 Windows 正在執行,請檢查 Win32_OperatingSystem 類別的 DataExecutionPrevention_Drivers 屬性。 在某些系統組態中,硬體 DEP 可以使用 Boot.ini 檔案中的 /nopae 或 /execute 參數來停用。 若要檢查此屬性,請在命令提示字元中輸入下列命令:
wmic OS Get DataExecutionPrevention_Drivers
方法 2:使用圖形用戶介面
若要使用圖形使用者介面來判斷 DEP 是否可用,請遵循下列步驟:
- 按兩下 [開始],按兩下 [執行],在 [開啟] 方塊中輸入
wbemtest
,然後按兩下 [確定]。 - 在 [Windows Management Instrumentation 測試器] 對話方塊中,按一下 [連線] 。
- 在 [連線] 對話框頂端的方塊中,輸入 root\cimv2,然後按兩下 [連線]。
- 按兩下 [ 列舉實例]。
- 在 [類別資訊] 對話框中,於 [輸入超類別名稱] 方塊中輸入Win32_OperatingSystem,然後按兩下 [確定]。
- 在 [ 查詢結果] 對話框中,按兩下頂端專案。
注意
此項目開頭為 “Win32_OperatingSystem.Name=Microsoft...”
- 在 [物件編輯器] 對話框中,找出 [屬性] 區域中的 DataExecutionPrevention_Available 屬性。
- 按兩下 DataExecutionPrevention_Available。
- 在 [屬性編輯器] 對話框中,記下 [值] 方塊中的值。
如果值為TRUE,則會提供硬體 DEP。
注意
若要判斷 DEP 執行所在的模式,請檢查 Win32_OperatingSystem 類別的 DataExecutionPrevention_SupportPolicy 屬性。 方法 1 結尾的數據表會描述每個支持原則值。
若要確認 Windows 中已啟用硬體 DEP,請檢查 Win32_OperatingSystem 類別的 DataExecutionPrevention_Drivers 屬性。 在某些系統組態中,硬體 DEP 可以使用 Boot.ini 檔案中的 /nopae 或 /execute 參數來停用。
本文提及的協力廠商產品是由與 Microsoft 無關的獨立廠商所製造。 Microsoft 不以暗示或其他方式擔保這些產品的效能或可靠性。