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

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

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

簡介

資料執行防護 (DEP) 是一組硬體和軟體技術,可對記憶體執行額外的檢查,以協助防止惡意程式碼利用。

除非該位置明確包含可執行檔程式碼,否則硬體強制 DEP 會將處理常式中所有的記憶體位置標示為無法執行。 惡意程式碼攻擊的類型會嘗試從無法執行的記憶體位置插入和執行程式碼。 DEP 會攔截並引發例外狀況,以協助防止這些攻擊。

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

其他相關資訊

使用硬體強制 DEP 的需求

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

  1. 電腦的處理器必須支援硬體強制 DEP。

    許多最近的處理器支援硬體強制 DEP。 這兩種高級微型裝置 (AMD) 和英特爾公司已定義及隨附與 DEP 相容的 Windows 相容架構。 此處理器支援可能稱為 NX (任何非執行) 或 XD (執行停用) 技術。 若要判斷電腦的處理器是否支援硬體強制 DEP,請與您的電腦製造商聯繫。

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

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

  3. 電腦必須安裝含 service pack 2 的 Windows XP,或已安裝 service pack 1 的 Windows Server 2003。

    注意

    32位版本和64位版本的 Windows 都支援硬體強制 DEP。 Windowsxp Media Center Edition 2005 和 Microsoft Windows xp 平板電腦 edition 2005 包含 Windows XP SP2 的所有功能和元件。

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

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

如需如何在 Windows XP Service Pack 2 中設定記憶體保護的詳細資訊,請造訪下列 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 屬性值 原則層級 描述
    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 作業系統取得 DataExecutionPrevention_Drivers

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

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

  1. 按一下 [ 開始],按一下 [ 執行], wbemtest 然後在 [ 開啟 ] 方塊中輸入,然後按一下 [確定]
  2. 在 [ Windows 管理規範測試 器] 對話方塊中,按一下 [連線]。
  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 不以暗示或其他方式擔保這些產品的效能或可靠性。