Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

Windows 軟體限制原則 (SRP) 深度解析:規則類型、安全等級與進階部署

編輯:XP 系統應用技巧

面對日益猖獗的惡意程式、勒索軟體與未授權應用程式,軟體限制原則 (Software Restriction Policies, SRP) 提供基於群組原則的應用程式白名單/黑名單機制。本文系統解析 SRP 的四大識別規則、六大安全等級、最佳實務與常見誤區。

核心架構:預設安全等級 + 附加規則

  • 預設安全等級:不受限制(允許執行)或 不允許(阻止執行)。
  • 附加規則:例外規則,依優先順序覆蓋預設等級。

四大識別規則詳細比較

規則類型識別依據優點缺點適用場景
雜湊規則檔案內容 SHA-1/MD5 雜湊值檔案移動/重命名不影響;防範竄改檔案更新需重新計算雜湊;無法阻擋同名惡意檔鎖定特定版本執行檔(白/黑名單)
憑證規則發行者憑證(代碼簽章)信任整個發布者;支援 .msi、.vbs、.ps1 等不適用 .exe/.dll;需簽章基礎建設信任 Microsoft/Adobe 等簽章軟體
路徑規則檔案/資料夾路徑(支援環境變數、萬用字元 * ?)設定簡單、彈性高、支援資料夾層級控制檔案移動失效;攻擊者可將惡意檔放入受信任路徑允許/封鎖特定資料夾(如 %ProgramFiles%、%AppData%)
網際網路區域規則IE 區域(網際網路、近端內部網路、信任/限制網站、本機電腦)針對 MSI 安裝套件的來源區域控制僅限 .msi;依賴 IE 區域設定封鎖來自「網際網路」區域的 MSI 安裝

六大安全等級(需啟用註冊表才顯示完整)

預設僅顯示「不受限制」與「不允許」。啟用完整等級:

登錄機碼:HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Safer\CodeIdentifiers
新增 DWORD:Levels = 0x4131000 (十六進位)
重新開啟 gpedit.msc 即可見全部六級:
  1. 不受限制:繼承父程序權限(最高)。
  2. 基本使用者:僅具「略過遍歷檢查」權限,無系統管理員權限。
  3. 受限制:比基本使用者更嚴格,同具略過遍歷檢查。
  4. 不信任:無法存取系統/使用者資源,程式無法執行。
  5. 不允許:無條件阻止執行(最低)。

權限排序:不受限制 > 基本使用者 > 受限制 > 不信任 > 不允許

指定檔案類型:預設可執行副檔名清單

系統維護一份共用清單(.exe .dll .bat .cmd .vbs .ps1 .msi .scr ...)。非清單內檔案(如 .txt .jpg)不受 SRP 影響。可依需求增減副檔名。

進階部署建議

  1. 白名單模式:預設等級設「不允許」,僅透過路徑/雜湊/憑證規則允許已知良性程式。安全性最高,維護成本較高。
  2. 路徑規則最佳化:使用 %ProgramFiles%、%SystemRoot%、%ProgramFiles(x86)% 環境變數,避免硬編碼路徑。
  3. 雜湊規則自動化:配合 CI/CD 流程,建置後自動計算雜湊並透過群組原則部署。
  4. 配合 AppLocker(Win 7/Server 2008 R2 以上):AppLocker 提供更精細的規則(發行者、路徑、雜湊)、規則集合、稽核模式、例外處理,建議新環境優先採用 AppLocker。
  5. 測試優先:先在稽核模式或測試 OU 部署,收集事件日誌 Event ID 865-868 分析誤攔截,再推廣生產環境。

常見誤區

  • 誤以為 SRP 能防禦記憶體駐留攻擊、腳本混淆繞過(需配合 PowerShell 受限語言模式、AMSI、WDAC)。
  • 忽略「指定檔案類型」清單,導致新型腳本副檔名(如 .py .jar .php)未受保護。
  • 單純封鎖 %AppData%、%Temp% 卻未提供合法替代執行路徑,導致合法自動更新失敗。

SRP 是纏深防御體系中的重要一環,配合 AppLocker、WDAC、EDR 解決方案,可構建強健的應用程式控制防線。

Copyright © Windows教程網 All Rights Reserved