前言
使用者帳戶控制(UAC)是 Windows Vista 引入、Windows 7 繼承並改進的核心安全機制,目標是讓使用者以標準權限執行日常工作,僅在必要時提權。本文深入剖析 UAC 技術架構、提權流程、自動提權規則、安全性邊界爭議,以及 Windows 7 的兩種新操作模式。
UAC 核心技術組成
- 檔案系統與登錄虛擬化:將標準使用者對系統區域(Program Files、HKLM)的寫入重導向至使用者專屬區域(AppData、HKCU),讓未設計為標準權限的舊程式也能運行。
- 受保護的系統管理員(PA)帳戶:安裝後第一個帳戶為 PA 帳戶,預設以標準權限執行程式,需經使用者同意才提權。
- 提權提示:切換至安全桌面(灰色背景),顯示發佈者資訊,要求使用者允許/拒絕。
- Windows 完整性機制與 UIPI:在提權程序周圍建立保護屏障,防止標準權限程式竊取輸入、注入程式碼。
提權與惡意軟體安全性
UAC 主要目標是「讓更多程式在標準權限下運行」,而非「防止惡意軟體提權」。提權提示非安全邊界,原因:
- 未簽名程式提示僅顯示檔名,惡意軟體可替換同名檔案欺騙使用者。
- 不檢查 DLL 載入路徑,惡意軟體可植入惡意 DLL 劫持提權程式。
- 提權程式與標準環境共享大量狀態(HKCU、命名物件),惡意軟體可透過共享狀態影響提權程式行為。
- 完整性機制受限於相容性需求(如允許標準程式在桌面繪圖),無法構成堅不可摧的邊界。
Windows 7 的改進:兩種新 UAC 模式
Windows 7 在控制台 → 使用者帳戶 → 更改 UAC 設定中提供四級滑桿:
- 永遠通知(Vista 模式):所有提權(含 Windows 程式)皆提示,安全桌面。
- 預設(僅非 Windows 程式提示):Windows 簽名程式自動提權,第三方程式提示,安全桌面。
- 預設(不調暗桌面):同預設,但提示顯示於使用者桌面(非安全桌面),輔助工具可運作,但有被標準程式欺騙風險。
- 從不通知(停用 UAC):PA 帳戶以完整管理權限運行,虛擬化停用,保護模式 IE 停用,不建議使用。

自動提權機制詳解
Windows 7 針對符合條件的 Windows 程式自動提權,不彈出提示。條件:
- 由 Windows 發行者數位簽章(非一般 Microsoft 簽章)。
- 位於「安全目錄」:%SystemRoot%\System32、%SystemRoot%\EhHome、%ProgramFiles%\Windows Defender、%ProgramFiles%\Windows Journal 等。
- EXE:資訊清單含
autoElevate 屬性。
- MMC:.msc 檔為 Windows 簽章且在內部自動提權清單中。
- COM 物件:登錄含
Elevation\Enabled=1,且由 Windows 程式具現化(如檔案總管的複製/移動/重命名/刪除/連結物件)。

自動提權的安全性考量
- 第三方程式可透過 DLL 注入檔案總管,利用自動提權 COM 物件竊取管理權限,但需蓄意設計,正當開發者不會採用。
- 惡意軟體同樣可利用此技術,但亦可透過提示提權達到同樣目的,預設模式安全性不遜於 Vista 模式。
- Microsoft 不提供將第三方程式加入自動提權清單的機制,強迫開發者修正程式以標準權限運行。
結論
UAC 是一組以「標準使用者體驗」為核心目標的技術組合。Windows 7 透過自動提權減少干擾、保留安全桌面選項、維持虛擬化與完整性機制,在使用者體驗與安全性間取得平衡。最終標準:預設模式減少提示、允許使用者控制合法軟體修改系統、繼續推動生態系向標準權限相容演進。