面對日益猖獗的惡意程式、勒索軟體與未授權應用程式,軟體限制原則 (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 即可見全部六級:
權限排序:不受限制 > 基本使用者 > 受限制 > 不信任 > 不允許
系統維護一份共用清單(.exe .dll .bat .cmd .vbs .ps1 .msi .scr ...)。非清單內檔案(如 .txt .jpg)不受 SRP 影響。可依需求增減副檔名。
%ProgramFiles%、%SystemRoot%、%ProgramFiles(x86)% 環境變數,避免硬編碼路徑。Event ID 865-868 分析誤攔截,再推廣生產環境。%AppData%、%Temp% 卻未提供合法替代執行路徑,導致合法自動更新失敗。SRP 是纏深防御體系中的重要一環,配合 AppLocker、WDAC、EDR 解決方案,可構建強健的應用程式控制防線。