如何設定 Windows XP SP2 的記憶體保護

發佈日期: 2004 年 12 月 9 日

本頁內容

簡介
開始之前
對電腦上的所有程式而啟用 DEP
啟用 DEP 例外清單
設定整個系統的 DEP 選項
相關資訊

簡介

Microsoft Windows XP Service Pack 2 (SP2) 藉著實作一套硬體及軟體執行技術:資料執行防止 (DEP),協助保護您的電腦,防止惡意程式碼插入要保留給非執行程式碼的電腦記憶體區域內。由硬體執行的 DEP 是某些處理器的功能,能防止在標示為資料儲存的記憶體區域內執行程式碼。此功能也稱為「不執行與執行保護」(No-Execute and Execution Protection)。Windows XP SP2 也採用軟體執行的 DEP,用以減少 Windows 內例外處理機制的弱點。

硬體及軟體執行的 DEP 技術與防毒程式不同,並非用來防止有害程式安裝到電腦中, 而是監視已安裝的程式,協助判斷它們是否安全使用系統記憶體。為了監視程式,硬體執行的 DEP 會追蹤宣告為「非執行」的記憶體位置。為了協助防止惡意程式碼,若記憶體宣告為「非執行」,而程式嘗試從記憶體執行程式碼,Windows 將關閉該程式。無論程式碼是否為惡意,都會如此處理。

**注意:**以軟體為基礎的 DEP 是 Windows XP SP2 的一部分,預設為啟用,而與處理器的硬體執行 DEP 功能無關。根據預設,軟體執行的 DEP 適用於核心作業系統元件與服務。

DEP 的預設設定是以應用程式相容性遭受最小影響的前提下,保護您的電腦。但是您的 DEP 設定可能會造成某些程式無法正確執行。您可以使用本文件所述的工作,設定電腦上的 DEP:

  • 對電腦上的所有程式啟用 DEP

  • 在 DEP 例外清單中新增程式

  • 對整部電腦停用 DEP

    **重要:**本文中所有說明步驟,都會從安裝作業系統時預設會出現的 [開始] 功能表開始操作。若您已經修改過 [開始] 功能表,整個步驟可能稍有不同。

如需安全性相關名詞的定義,請參閱下列資訊:

如需 DEP 的更多資訊,請參閱:

回到頁首

開始之前

本文件提供在 Windows XP SP2 上設定 DEP 的指南。

**注意:**採用 DEP 相容處理器、並執行 Microsoft Windows XP 64-Bit Edition 的電腦,預設會啟用由硬體執行的 DEP。64 位元應用程式將不會從記憶體的「非執行」區域中執行。無法停用硬體執行的 DEP。

在 Windows XP SP2 上,以及在任何處理器上執行的 32 位元應用程式上的軟體執行 DEP,可設定為使用記憶體的「可執行」或「非執行」區域。

回到頁首

對電腦上的所有程式而啟用 DEP

硬體及軟體 DEP 的預設設定能保護核心 Windows 元件與服務,而且對於應用程式相容性的影響最小,但是您也能設定 DEP 保護電腦上的所有應用程式與程式。若您設定 DEP 保護電腦上的所有應用程式與程式,會獲得額外保護的優點,但是也可能發生其他應用程式相容性的問題。若您設定 DEP 保護電腦上的所有應用程式與程式,而 32 位元應用程式發生相容性問題,您可以從軟體 DEP 保護中去除個別的 32 位元應用程式。在具有 DEP 相容處理器的 64 位元 Windows XP 系統上執行的硬體 DEP 或 64 位元應用程式,您無法加以停用或去除。

執行此工作的需求

  • 憑證:您必須使用具有本機系統管理員權限的帳戶登入電腦。
設定 DEP 保護所有應用程式

對所有應用程式啟用 DEP

  1. 按一下 [開始],再按 [控制台]。

  2. 在 [選取類別目錄] 下,按一下 [效能及維護]。

  3. 在 [或選取 [控制台] 圖示] 之下,按一下 [系統]。

  4. 按一下 [進階] 索引標籤。

    圖 1   [系統內容] - [進階] 索引標籤

  5. 在 [效能] 區域中,按一下 [設定]。

    圖 2   效能選項

  6. 按一下 [資料執行防止] 索引標籤。

    圖 3   [資料執行防止] 索引標籤

  7. 選取 [為所有的 Windows 程式和服務開啟 DEP,除了我選擇的這些:]。

  8. 按一下 [套用],再按 [確定]。對話方塊出現,告知您必須重新啟動電腦,設定才能生效。按一下 [確定]。

確認所有程式的 DEP 設定都已套用

確認所有程式的 DEP 設定都已套用

  1. 按一下 [開始],再按 [控制台]。

  2. 在 [選取類別目錄] 下,按一下 [效能及維護]。

  3. 在 [或選取 [控制台] 圖示] 之下,按一下 [系統]。

  4. 按一下 [進階] 索引標籤。

  5. 在 [效能] 區域中,按一下 [設定],然後按一下 [資料執行防止]。

  6. 確認選取 [為所有的 Windows 程式和服務開啟 DEP,除了我選擇的這些:],然後按一下 [確定] 以關閉 [效能設定]。

  7. 按一下 [確定] 以關閉 [系統內容],然後關閉 [效能及維護]。

回到頁首

啟用 DEP 例外清單

若 DEP 使應用程式發生問題,系統會顯示對話方塊通知您。

圖 4   當應用程式嘗試執行而發生 DEP 問題時,會出現的對話方塊

若 DEP 造成應用程式失敗,Microsoft 強烈建議您聯繫應用程式供應商,查詢是否有 DEP 相容的更新。安裝這種更新,是解決應用程式的 DEP 相容問題較合適的解決方案。

若應用程式沒有更新,請按照下列步驟,存取並設定例外清單。例外清單就是從 DEP 中排除的應用程式清單。

**注意:**只有在 DEP 設定設為保護所有程式與服務時,才能使用 DEP 例外清單功能。若您設定電腦只保護基本的 Windows 元件和服務,就無法使用例外清單。

執行此工作的需求

  • 憑證:您必須使用具有本機系統管理員權限的帳戶登入電腦。
啟用 DEP 例外清單

啟用 DEP 例外清單

  1. 按一下 [開始],再按 [控制台]。

  2. 在 [選取類別目錄] 下,按一下 [效能及維護]。

  3. 在 [或選取 [控制台] 圖示] 之下,按一下 [系統]。

  4. 按一下 [進階] 索引標籤。

    圖 5   [系統內容] - [進階] 索引標籤

  5. 在 [效能] 區域中,按一下 [設定]。

    圖 6   效能選項

  6. 按一下 [資料執行防止] 索引標籤。

    圖 7   [資料執行防止] 索引標籤

  7. 按一下 [新增]。

  8. 尋找並選取失敗的應用程式可執行檔,然後按一下 [開啟]。

  9. 在警告方塊中,按一下 [確定]。選取的程式現在就會出現在 DEP 程式區域內。

  10. 按一下 [套用],再按 [確定]。對話方塊出現,告知您必須重新啟動電腦,設定才能生效。按一下 [確定]。

確認 DEP 例外清單設定已經套用

確認記憶體保護設定已經套用

  1. 按一下 [開始],再按 [控制台]。

  2. 在 [選取類別目錄] 下,按一下 [效能及維護]。

  3. 在 [或選取 [控制台] 圖示] 之下,按一下 [系統]。

  4. 按一下 [進階] 索引標籤。

  5. 在 [效能] 區域中,按一下 [設定],然後按一下 [資料執行防止]。

  6. 確認例外清單包含所要的程式,然後按一下 [確定] 以關閉 [效能設定]。

  7. 按一下 [確定] 以關閉 [系統內容],然後關閉 [效能及維護]。

回到頁首

設定整個系統的 DEP 選項

若要為您的電腦進行整個系統的 DEP 變更,您必須為目前執行的 Windows 安裝修改 boot.ini 設定檔案的一個參數。boot.ini 的參數是:

  • /noexecute =原則層級

表 1 列出原則層級的選項。

表 1 DEP boot.ini 原則層級選項

原則層級 描述
OptIn (預設設定) 只有 Windows 系統元件和服務已經套用 DEP 保護
OptOut 對所有處理程序啟用 DEP。系統管理員可以手動建立沒有套用 DEP 的特定應用程式清單
AlwaysOn 對所有處理程序啟用 DEP
AlwaysOff 沒有對任何處理程序啟用 DEP
**重要:**在 boot.ini 檔案內進行任何變更之後,您必須重新啟動電腦。 **警告:**Microsoft 建議您不要全面停用軟體執行的 DEP, 否則電腦的安全性會降低。硬體執行的 DEP 無法手動停用。 #### 執行此工作的需求 - 憑證:您必須使用具有本機系統管理員權限的帳戶登入電腦。 ##### 使用 boot.ini 停用整個系統的 DEP   **使用 boot.ini 停用 DEP** 1. 按一下 \[開始\],再按 \[控制台\]。 2. 在 \[選取類別目錄\] 下,按一下 \[效能及維護\]。 3. 在 \[或選取 \[控制台\] 圖示\] 之下,按一下 \[系統\]。 4. 按一下 \[進階\] 索引標籤,然後在 \[啟動及修復\] 區域內,按一下 \[設定\]。    ![](images/Cc700810.DEPcnf08(zh-tw,TechNet.10).gif) **圖 8   \[啟動及修復\] 設定** 5. 在 \[系統 啟動\] 區域內,按一下 \[編輯\]。 ![](images/Cc700810.DEPcnf09(zh-tw,TechNet.10).gif) **圖 9   \[記事本\] 內的 Boot.ini 檔案** 6. 在 \[記事本\] 內,按一下 \[編輯\],再按一下 \[尋找\]。 7. 在 \[尋找目標\] 欄位內,鍵入 **/noexecute**,然後按一下 \[找下一個\]。 8. 在 \[尋找\] 對話方塊中,按一下 \[取消\]。 9. 以 **AlwaysOff** 取代原則層級 (例如 **OptOut**)。 **警告:**請務必小心輸入文字。 **注意:**boot.ini 檔案的參數應為: **/noexecute=AlwaysOff** 10. 在 \[記事本\] 內,按一下 \[檔案\],再按一下 \[儲存檔案\]。 11. 按一下 \[確定\] 以關閉 \[啟動及修復\]。 12. 按一下 \[確定\] 以關閉 \[系統內容\],然後重新啟動電腦。 #### 確認 DEP 已經停用 **確認記憶體保護設定已經套用** 1. 按一下 \[開始\],再按 \[控制台\]。 2. 在 \[選取類別目錄\] 下,按一下 \[效能及維護\]。 3. 在 \[或選取 \[控制台\] 圖示\] 之下,按一下 \[系統\]。 4. 按一下 \[進階\] 索引標籤。 5. 在 \[效能\] 區域中,按一下 \[設定\],然後按一下 \[資料執行防止\]。 6. 確認無法使用 DEP 設定,然後按一下 \[確定\] 以關閉 \[效能設定\]。 7. 按一下 \[確定\] 以關閉 \[系統內容\],然後關閉 \[效能及維護\]。 [](#mainsection)[回到頁首](#mainsection) ### 相關資訊 如需更多關於 Windows XP SP2 記憶體保護的詳細資訊,請參閱下列參考文件: - Microsoft TechNet 網站上的<[Microsoft Windows XP Service Pack 2 功能的變更,第三部分:記憶體保護技術](https://go.microsoft.com/fwlink/?linkid=35495)>(英文),網址是:https://go.microsoft.com/fwlink/?linkid=35495 如需更多關於 Windows XP SP2 安全性的詳細資訊,請參閱下列文件: - Microsoft 下載中心網站上的《[Windows XP Service Pack 2 安全性指南第二版](https://go.microsoft.com/fwlink/?linkid=35309)》(英文),網址是:https://go.microsoft.com/fwlink/?linkid=35309 - Microsoft TechNet 網站上的<[Windows XP 安全性指南附錄 A:Windows XP Service Pack 2 其他指南](https://go.microsoft.com/fwlink/?linkid=35465)>(英文),網址是:https://go.microsoft.com/fwlink/?linkid=35465 如需安全性相關名詞的定義,請參閱下列資訊: - Microsoft 網站上的<[Microsoft 資訊安全辭彙](https://go.microsoft.com/fwlink/?linkid=35468)>(英文),網址是:https://go.microsoft.com/fwlink/?linkid=35468 [](#mainsection)[回到頁首](#mainsection)