如何判斷硬體 DEP 可在您的電腦上使用及設定

本文說明如何判斷硬體 DEP 可在您的電腦上使用及設定。

適用於:Windows Server 2012 R2、Windows 10 - 所有版本
原始 KB 編號: 912923

簡介

數據執行防止 (DEP) 是一組硬體和軟體技術,可對記憶體執行額外的檢查,以協助防範惡意代碼入侵。

硬體強制 DEP 會將進程中的所有記憶體位置標示為非可執行檔,除非位置明確包含可執行程序代碼。 一種惡意代碼攻擊會嘗試從不可執行的記憶體位置插入並執行程序代碼。 DEP 藉由攔截這些攻擊並引發例外狀況,協助防止這些攻擊。

本文說明使用硬體強制 DEP 的需求。 本文也說明如何確認硬體 DEP 可在 Windows 中運作。

其他相關資訊

使用硬體強制 DEP 的需求

若要使用硬體強制執行的 DEP,您必須符合下列所有條件:

  1. 計算機的處理器必須支援硬體強制執行的 DEP。

    許多最近的處理器都支援硬體強制執行的 DEP。 進階微設備 (AMD) 和 Intel Corporation 都已定義和出貨與 DEP 相容的 Windows 相容架構。 此處理器支援可能稱為 NX (無執行) 或 XD (執行停用) 技術。 若要判斷計算機的處理器是否支援硬體強制執行的 DEP,請連絡電腦製造商。

  2. 必須在 BIOS 中啟用硬體強制 DEP。

    在某些電腦上,您可以在 BIOS 中停用硬體強制 DEP 的處理器支援。 此支持無法停用。 視您的電腦製造商而定,停用此支援的選項可能會標示為「數據執行防止」、「XD」、「執行停用」或「NX」。

  3. 計算機必須已安裝 Service Pack 2 或 Windows Server 2003 Service Pack 1 的 Windows XP。

    注意事項

    32 位版本和 64 位版本的 Windows 都支援硬體強制執行的 DEP。 Windows XP Media Center Edition 2005 和 Microsoft Windows XP Tablet PC Edition 2005 包含 Windows XP SP2 的所有功能和元件。

  4. 必須為電腦上的程式啟用硬體強制 DEP。

    在 64 位版本的 Windows 中,一律會針對 64 位原生程式啟用硬體強制執行的 DEP。 不過,視您的設定而定,32 位程式可能會停用硬體強制 DEP。

如需如何使用 Service Pack 2 在 Windows XP 中設定記憶體保護的相關信息,請造訪下列 Microsoft 網站:
https://technet.microsoft.com/library/cc700810.aspx

如何確認硬體 DEP 在 Windows 中正常運作

若要確認硬體 DEP 可在 Windows 中運作,請使用下列其中一種方法。

方法 1:使用 Wmic 命令行工具

您可以使用 Wmic 命令列工具來檢查 DEP 設定。 若要判斷硬體強制執行的 DEP 是否可用,請遵循下列步驟:

  1. 按兩下 [開始],按兩下 [ 執行],在 [ 啟] 方塊中輸入 cmd,然後按兩下 [ 確定]

  2. 在命令提示字元處輸入下列命令,然後按 ENTER:

    wmic OS Get DataExecutionPrevention_Available  
    

如果輸出為 「TRUE」,則可使用硬體強制執行的 DEP。

若要判斷目前的 DEP 支持原則,請遵循下列步驟。

  1. 按兩下 [開始],按兩下 [ 執行],在 [ 啟] 方塊中輸入 cmd,然後按兩下 [ 確定]

  2. 在命令提示字元處輸入下列命令,然後按 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

    注意事項

    若要確認 Windows 正在執行且已啟用硬體 DEP,請檢查Win32_OperatingSystem類別的 DataExecutionPrevention_Drivers 屬性。 在某些系統組態中,您可以在 Boot.ini 檔案中使用 /nopae 或 /execute 參數來停用硬體 DEP。 若要檢查此屬性,請在命令提示字元中輸入下列命令:
    wmic OS 取得DataExecutionPrevention_Drivers

方法 2:使用圖形使用者介面

若要使用圖形使用者介面來判斷 DEP 是否可用,請遵循下列步驟:

  1. 按兩下 [開始],按兩下 [執行],在 [啟] 方塊中輸入 wbemtest ,然後按兩下 [確定]
  2. 在 [ Windows Management Instrumentation Tester ] 對話框中,按兩下 [ 連線]
  3. 在 [ 連線] 對話框頂端的方塊中,輸入 root\cimv2,然後按兩下 [ 連線]
  4. 按兩下 [列舉實例]
  5. 在 [ 類別資訊] 對話方塊的 [ 輸入超級類別名稱 ] 方塊中輸入Win32_OperatingSystem,然後按兩下 [ 確定]
  6. 在 [ 查詢結果 ] 對話框中,按兩下頂端專案。

    注意事項

    此項目開頭為 “Win32_OperatingSystem.Name=Microsoft...”

  7. 在 [ 物件編輯器 ] 對話框中,找出 [屬性] 區域中的 [DataExecutionPrevention_Available ] 屬性
  8. 按兩下 [DataExecutionPrevention_Available]。
  9. 在 [屬性 編輯器] 對話框中,記下 [值] 方塊中的
    如果值為TRUE,則可使用硬體 DEP。

注意事項

  • 若要判斷 DEP 執行的模式,請檢查Win32_OperatingSystem類別的 DataExecutionPrevention_SupportPolicy 屬性。 方法 1 結尾的數據表描述每個支持原則值。

  • 若要確認已在 Windows 中啟用硬體 DEP,請檢查Win32_OperatingSystem類別的 DataExecutionPrevention_Drivers 屬性。 在某些系統組態中,您可以在 Boot.ini 檔案中使用 /nopae 或 /execute 參數來停用硬體 DEP。

本文提及的協力廠商產品是由與 Microsoft 無關的獨立廠商所製造。 Microsoft 不以暗示或其他方式擔保這些產品的效能或可靠性。