| 廠商 | 技術名稱 | 支援處理器(代表) | 需求 |
| AMD | NX (Enhanced Virus Protection) | Athlon 64、Opteron、Sempron 64、Turion 64 | AMD64 架構 |
| Intel | XD (Execute Disable Bit) | Pentium 4 (Prescott 後期)、Pentium D、Core 2 Duo、Celeron D (部分) | EM64T 支援 |
注意:32 位元 XP 僅能使用軟體 DEP;完整硬體 DEP 需 64 位元 XP (x64 Edition) 或 Vista 以上 64 位元版本。但在 32 位元 XP SP2/SP3 上,若 CPU 支援 NX/XD 且 BIOS 啟用,核心模式仍可受益於硬體 DEP 保護。
四種 DEP 運作模式
- OptIn (預設):僅保護核心模式元件與已註冊的使用者模式程式(如系統服務、IIS、SQL Server)。
- OptOut:保護所有程式,但可指定例外清單(適合大多數桌面環境)。
- AlwaysOn:強制保護所有程式,無例外(高安全性,相容性風險最高)。
- AlwaysOff:完全停用 DEP(不建議)。
設定方法
圖形介面
系統內容 (Win+Pause) → 進階 → 效能 → 設定 → 資料執行防護 → 選擇模式與例外。
命令列 (boot.ini)
/noexecute=optin (預設)
/noexecute=optout
/noexecute=alwayson
/noexecute=alwaysoff
修改後需重開機生效。
登錄檔 (執行階段動態調整,需重啟程序)
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\ExecuteDisable (0=OptIn, 1=OptOut, 2=AlwaysOn, 3=AlwaysOff)
相容性問題與解決
- 舊版應用程式誤判:某些合法程式(舊版壓縮解壓縮、模擬器、即時編譯器、特定防毒掃描引擎)會動態產生程式碼於資料區執行,觸發 DEP 終止。
→ 解決:加入例外清單、聯繫廠商更新、或暫時切換 OptIn 模式。
- 驅動程式衝突:核心模式驅動程式若在分頁集區執行程式碼會導致系統崩潰 (BSOD)。
→ 解決:更新驅動程式、使用驅動程式驗證器 (verifier.exe) 找出問題驅動。
驗證 DEP 狀態
wmic OS Get DataExecutionPrevention_SupportPolicy
:: 0=AlwaysOff, 1=AlwaysOn, 2=OptIn, 3=OptOut
wmic OS Get DataExecutionPrevention_Available
:: TRUE 表示硬體支援
wmic OS Get DataExecutionPrevention_32BitApplications
:: TRUE 表示 32 位元應用程式受保護
wmic OS Get DataExecutionPrevention_Drivers
:: TRUE 表示核心驅動程式受保護
總結
DEP 是 XP SP2 最重要的安全性增強之一,雖非萬靈丹(無法防禦 ROP、JOP 等進階攻擊),但結合 ASLR (Vista+)、SEHOP、CFG (Windows 8.1+) 形成多層防護。確認 CPU 支援、BIOS 啟用、設定 OptOut 模式、建立例外清單,即可在相容性與安全性間取得最佳平衡。