Vista 重寫服務安全模型,從 XP 的「多數服務以 LocalSystem (最高權限) 執行」轉向「最小權限、隔離、身分識別、存取控制、網路防護」五維防禦。本文詳細解析七大核心機制。
| XP/2003 | Vista/2008+ | 影響 |
| ~60% 服務以 LocalSystem 執行 (最高權限,相當於核心) | 絕大多數服務改以 LocalService (本地有限權限) 或 NetworkService (網路有限權限) 執行 | 服務被入侵時,攻擊者無法取得核心權限,損害範圍限制在服務存取範圍內 |
僅極少數核心服務 (如 CSRSS, Winlogon, Services.exe 自身) 保留 LocalSystem。
3. Session 0 隔離 (Session 0 Isolation)
- XP: 服務與使用者互動桌面共用 Session 0,服務可顯示 UI、接收使用者輸入 → 破窗效應:惡意程式透過服務 UI 提權、竊取輸入。
- Vista+: Session 0 專屬服務,不載入使用者殼層。使用者登入後建立 Session 1, 2... 互動會話。
服務需與使用者互動 → 必須透過 互動式服務偵測服務 彈出安全桌面提示,使用者確認後切換到 Session 0 查看,操作完成切回。
- 效果:徹底切斷「服務 UI → 使用者桌面」攻擊路徑。
4. 服務 SID (Service Security Identifier) — 服務專屬身分
- 每個服務擁有唯一 SID (格式:
S-1-5-80-...),由 SCM 依服務名稱產生。
- SID 可用於 ACL (存取控制清單) 精確授權:
sc sdset ServiceName "D:(A;;CCLCSWRPWPDTLOCRRC;;;SU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWRPWPDTLOCRSDRCWDWO;;;SY)(A;;CCLCSWRPWPDTLOCRSDRCWDWO;;;S-1-5-80-...)"
- 取代過去「以 LocalSystem 身分存取資源」的粗糙模式,實現「服務 A 只能讀寫特定資料夾/登錄機碼/具名管道」。
5. 服務 ACL (Access Control List) 精細授權
- 利用服務 SID,對資源 (檔案、登錄、管道、埠、共享記憶體) 設定 ACE (Access Control Entry)。
- 範例:
服務 W3SVC (IIS) 僅允許存取 C:\inetpub\wwwroot、HKLM\SYSTEM\CurrentControlSet\Services\W3SVC、埠 80/443。
即使 W3SVC 被駭,無法讀取 C:\Windows\System32\config\SAM 或連接資料庫埠 1433。
- 工具:
sc sdshow/set, icacls, Process Explorer (Security 分頁)。
6. 服務專屬防火牆規則 (Windows Firewall with Advanced Security)
- 規則可綁定 服務 SID,而非傳統「程式路徑/埠號」。
- 效果:
• 服務啟動時自動套用規則,服務停止規則失效 (動態)。
• 即使惡意程式偽裝相同檔名/路徑,無服務 SID 無法通過防火牆。
• 可精確控制:W3SVC 只能輸出連接埠 80/443,禁止連接 3389/1433/445。
- 管理:
wf.msc → 輸出/輸入規則 → 「服務」分頁 → 選擇服務 → 自動綁定 SID。
7. 服務強化 (Service Hardening) 整體架構
以上 6 點構成 Vista 服務強化核心:
最小權限帳號 + Session 0 隔離 + 服務 SID 身分 + ACL 資源授權 + 防火牆網路管控 + SCM 統一生命週期管理
此架構延續至 Windows 10/11/Server 2022,並加入 PPL (Protected Process Light)、VBS (Virtualization-Based Security)、HVCI (Hypervisor-Protected Code Integrity) 等硬體級防護,形成纵深防禦體系。
管理員實務建議
- ✅ 稽核所有服務啟動帳號:
wmic service get name,startname,startmode,確認非核心服務不使用 LocalSystem。
- ✅ 為自訂服務建立專用帳號 (gMSA/虛擬帳號) + 服務 SID + 最小 ACL + 防火牆規則。
- ✅ 定期
sc qsidtype 檢查服務 SID 類型 (NONE/UNRESTRICTED/RESTRICTED),確保為 RESTRICTED。
- ✅ 使用 Windows Admin Center / PowerShell DSC 將服務強化設定程式碼化、版控、自動化部署。
Vista 服務安全架構是 Windows 安全演進的里程碑,將「服務」從「高權限背景程式」重塑為「具備獨立身分、最小權限、網路邊界受控的可信任主體」。理解其設計哲學,是現代 Windows 安全運維的必修課。