本文內容
用戶帳戶控制 (UAC) 是 Windows 安全性的關鍵部分。 UAC 通過限制惡意代碼以管理員權限執行的能力來降低惡意軟件的風險。 本文介紹 UAC 的工作原理以及它如何與最終用戶交互。
UAC 進程和交互
使用 UAC 時,需要 管理員訪問令牌 的每個應用程序都必須提示最終用戶同意。 唯一的例外是父進程和子進程之間存在的關系。 子進程從父進程繼承用戶的訪問令牌。 但是,父進程和子進程必須具有相同 的完整性級別。
Windows 通過標記進程的完整性級別來保護進程。 完整性級別是信任的度量:
具有較低完整性級別的應用程序不能修改具有較高完整性級別的應用程序中的數據。 當標準用戶嘗試運行需要管理員訪問令牌的應用時,UAC 要求用戶提供有效的管理員憑據。
為了更好地了解此過程的工作原理,讓我們更詳細地了解一下 Windows 登錄過程。
登錄過程
下圖顯示了管理員的登錄過程與標準用戶的登錄過程有何不同。
默認情況下,標準用戶和管理員用戶訪問資源,并在標準用戶的安全上下文中執行應用。
當用戶登錄時,系統會為該用戶創建訪問令牌。 訪問令牌包含有關授予用戶的訪問權限級別的信息,包括特定安全標識符 (SID) 和 Windows 權限。
管理員登錄時,將為用戶創建兩個單獨的訪問令牌: 標準用戶訪問令牌 和 管理員訪問令牌。 標準用戶訪問令牌:
作為 組成員的用戶可以在使用標準用戶訪問令牌時登錄、瀏覽 Web 和閱讀電子郵件。 當管理員需要執行需要管理員訪問令牌的任務時,Windows 會自動提示用戶進行審批。 此提示稱為 提升提示,可以通過策略或注冊表配置其行為。
UAC 用戶體驗
啟用 UAC 后,標準用戶的用戶體驗不同于管理員用戶。 建議的、更安全的運行 Windows 方法是確保主用戶帳戶是標準用戶。 以標準用戶身份運行有助于最大程度地提高托管環境的安全性。 使用內置的 UAC 提升組件,標準用戶可以通過輸入本地管理員帳戶的有效憑據來輕松執行管理任務。
標準用戶的默認內置 UAC 提升組件是 憑據提示。
作為標準用戶運行的替代方法是在管理員審批模式下以管理員身份運行。 使用內置的 UAC 提升組件,本地管理員組的成員可以通過提供審批輕松執行管理任務。
管理員審批模式下管理員帳戶的默認內置 UAC 提升組件稱為同意提示。
憑據提示
當標準用戶嘗試執行需要用戶管理訪問令牌的任務時,會顯示憑據提示。 還可以要求管理員提供其憑據,方法是將“用戶帳戶控制:管理員審批模式中管理員的提升提示行為”策略設置值設置為“憑據提示”。
許可提示
當用戶嘗試執行需要用戶管理訪問令牌的任務時,會顯示同意提示。
UAC 提升提示
UAC 提升提示的顏色編碼為特定于應用,以便更輕松地識別應用程序的潛在安全風險。 當應用嘗試使用管理員的完全訪問令牌運行時,Windows 首先分析可執行文件以確定其發布者。 應用首先根據文件的發布者分為三個類別:
提升提示顏色編碼如下所示:
“盾牌”圖標
某些控制面板項(如日期和時間)包含管理員和標準用戶操作的組合。 標準用戶可以查看時鐘并更改時區,但需要完全管理員訪問令牌才能更改本地系統時間。 下面是日期和時間控制面板項的屏幕截圖。
“ 更改日期和時間...” 按鈕上的屏蔽圖標指示該過程需要完整的管理員訪問令牌。
保護提升提示
通過將提示定向到 安全桌面,可以進一步保護提升過程。 默認情況下,同意和憑據提示顯示在安全桌面上。 只有 Windows 進程可以訪問安全桌面。 為了提高安全級別,我們建議保持 用戶帳戶控制:在提示提升策略設置時切換到安全桌面 。
當可執行文件請求提升時, 交互式桌面(也稱為 用戶桌面)將切換到安全桌面。 安全桌面會調暗用戶桌面,并顯示必須在繼續之前響應的提升提示。 當用戶選擇 “是” 或“ 否”時,桌面將切換回用戶桌面。
惡意軟件可以呈現對安全桌面的模擬,但當“用戶帳戶控制:在管理員審批模式中管理員的提升提示行為”策略設置設置為“同意提示”時,如果用戶在模擬中選擇“是”,則惡意軟件不會獲得提升。 如果策略設置設置為 “提示輸入憑據”,則模擬憑據提示的惡意軟件可能能夠收集用戶的憑據。 但是,惡意軟件不會獲得提升的權限,并且系統具有其他保護,可緩解惡意軟件即使使用已獲取的密碼也無法控制用戶界面。
雖然惡意軟件可能會模擬安全桌面,但除非用戶以前在電腦上安裝了惡意軟件,否則此問題不會發生。 由于在啟用 UAC 時無法以無提示方式安裝需要管理員訪問令牌的進程,因此用戶必須通過選擇“ 是 ”或提供管理員憑據來顯式提供同意。 UAC 提升提示的特定行為取決于安全策略。
UAC 體系結構
下圖詳細介紹了 UAC 體系結構。
若要更好地了解每個組件,請查看下表:
用戶組件描述
用戶執行需要特權的操作
如果操作更改了文件系統或注冊表,則會調用虛擬化。 所有其他操作調用 。
調用 。 在 中查找IRED錯誤。 如果收到錯誤, 會調用應用程序信息服務,以嘗試使用提升的提示執行請求的任務。
如果應用程序需要提升, 會拒絕IRED調用。
系統組件描述
應用程序信息服務
一種系統服務,可幫助啟動需要一個或多個提升的權限或用戶權限才能運行的應用,例如本地管理任務,以及需要更高完整性級別的應用。 應用程序信息服務通過在需要提升時使用管理用戶的完全訪問令牌為應用程序創建一個新進程來幫助啟動此類應用。 根據配置的策略,用戶可能會同意。
提升 ActiveX 安裝
如果未安裝 ActiveX,系統會檢查 UAC 滑塊級別。 如果安裝了 ActiveX,則會選中“用戶帳戶控制:在提示提升組策略時切換到安全桌面”設置。
檢查 UAC 滑塊級別
UAC 具有一個滑塊,可從四個通知級別中進行選擇。
如果你經常安裝新軟件或訪問不熟悉的網站,建議這樣做。
僅當程序嘗試對我的計算機進行更改時,才會通知我 :
如果你不經常安裝應用或訪問不熟悉的網站,建議這樣做。
僅當程序嘗試對我的計算機進行更改時通知我 (不調暗我的桌面) 會:
不建議這樣做。 僅當需要很長時間來調暗計算機上的桌面時,才選擇此選項。
從不通知 (禁用 UAC 提示) 將:
出于安全考慮,不建議這樣做。
已啟用安全桌面
選中 “用戶帳戶控制:在提示提升時切換到安全桌面” 策略設置:
重要提示
若要完全禁用 UAC,必須禁用“用戶帳戶控制:在管理員審批模式下運行所有管理員”策略。
警告
禁用 UAC 時,某些通用 Windows 平臺應用可能無法正常工作。
虛擬化
由于企業環境中的系統管理員嘗試保護系統,因此許多業務線 (LOB) 應用程序設計為僅使用標準用戶訪問令牌。 因此,打開 UAC 后,無需替換大多數應用。
Windows 包含適用于不符合 UAC 且需要管理員訪問令牌才能正常運行的應用的文件和注冊表虛擬化技術。 當不符合 UAC 標準的管理應用嘗試寫入受保護的文件夾(如 Program Files)時,UAC 會為應用提供它嘗試更改的資源的虛擬化視圖。 虛擬化副本在用戶的配置文件中維護。 此策略為運行不合規應用的每個用戶創建虛擬化文件的單獨副本。
大多數應用任務通過使用虛擬化功能可以正常運行。 盡管虛擬化允許大多數應用程序運行,但它是短期修復,而不是長期解決方案。 應用開發人員應盡快修改其應用,使其符合要求,而不是依賴文件、文件夾和注冊表虛擬化。
在以下方案中,虛擬化不是一個選項:
請求執行級別
應用清單是一個 XML 文件,用于描述和標識應用在運行時應綁定到的共享程序集和專用并行程序集。 應用清單包含用于 UAC 應用兼容性的條目。 在應用清單中包含條目的管理應用會提示用戶提供訪問用戶訪問令牌的權限。 盡管它們缺少應用清單中的條目,但大多數管理應用都可以使用應用兼容性修補程序在不進行修改的情況下運行。 應用兼容性修補程序是數據庫條目,使不符合 UAC 的應用程序能夠正常工作。
所有符合 UAC 的應用都應將請求的執行級別添加到應用程序清單。 如果應用程序需要對系統進行管理訪問權限,請將請求的執行級別標記為 “需要管理員 ”的應用可確保系統將此程序標識為管理應用,并執行必要的提升步驟。 請求的執行級別指定應用所需的權限。
安裝程序檢測技術
安裝程序是設計用于部署軟件的應用。 大多數安裝程序寫入系統目錄和注冊表項。 這些受保護的系統位置通常只能由安裝程序檢測技術的管理員寫入,這意味著標準用戶沒有足夠的訪問權限來安裝程序。 Windows 會啟發式檢測安裝程序,并請求管理員憑據或管理員用戶的批準,以便使用訪問權限運行。 Windows 還會啟發式檢測卸載應用程序的更新和程序。 UAC 的設計目標之一是防止在用戶不知情和同意的情況下運行安裝,因為安裝程序會寫入文件系統和注冊表的受保護區域。
安裝程序檢測僅適用于:
在創建 32 位進程之前,會檢查以下屬性以確定它是否為安裝程序:
注意
關鍵字和字節序列派生自各種安裝程序技術觀察到的常見特征。
注意
必須啟用 “用戶帳戶控制:檢測應用程序安裝并提示提升 ”策略,才能檢測安裝程序。 有關詳細信息,請參閱 。
后續步驟
詳細了解 用戶帳戶控制設置和配置。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。