用戶界面特權隔離(User Interface Privilege Isolation,簡稱UIPI),是從Windows NT 6.0開始引入的技術。通過結合強制完整性控制,用戶界面特權隔離阻止較低等完整性級別(Integrity level)的進程向較高等完整性級別進程的視窗傳送訊息,但也有一些訊息不被阻止。
基本介紹
- 中文名:用戶界面特權隔離
- 外文名:User Interface Privilege Isolation
簡介,特點,強制完整性控制,
簡介
用戶界面特權隔離(User Interface Privilege Isolation,簡稱UIPI),是從Windows NT 6.0開始引入的技術。其目的在於防止粉碎視窗攻擊。通過結合強制完整性控制,用戶界面特權隔離阻止較低等完整性級別(Integrity level)的進程向較高等完整性級別進程的視窗傳送訊息,但也有一些訊息不被阻止。Windows訊息是一種進程間通信機制,可被低等完整性級別的惡意軟體利用,在較高等完整性級別的進程上下文裡執行任意代碼,可能允許特權提升。
特點
用戶界面特權隔離和強制完整性控制都不是安全邊界,它並不能完全抵擋粉碎視窗攻擊。用戶界面輔助功能程式可以通過在它們的應用程式清單(manifest)文檔中將“uiAccess”設為TRUE來繞過用戶界面特權隔離。這些程式必須位於Program Files或Windows資料夾中,且必須擁有有效的數字簽名。此外,一些訊息仍然被允許,例如WM_KEYDOWN,以便低完整性級別的程式傳送輸入到提升後的命令提示符。最後,函式ChangeWindowMessageFilter允許中完整性級別的進程改變高完整性級別的進程能從低完整性級別的進程接收什麼訊息。
強制完整性控制
強制完整性控制(英語:Mandatory Integrity Control)是一個在微軟Windows作業系統中從Windows Vista開始引入,並沿用到後續版本系統的核心安全功能。強制完整性控制通過完整性級別標籤來為運行於同一登錄會話的進程提供隔離。此機制的目的是在一個潛在不可信的上下文(與同一賬戶下運行的其他較為可信的上下文相比)中選擇性地限制特定進程和軟體組件的訪問許可權。
強制完整性控制在對象的安全描述符中使用了一個新的訪問控制項(ACE)類型來代表對象的完整性級別。在Windows中,訪問控制列表(ACL)被限制為授予訪問許可權(讀取、寫入、執行許可權)和特權給用戶和組。在安全引用監視器執行授權授予對象的訪問許可權前,會將訪問令牌中的完整性級別與安全描述符中的完整性級別比較。Windows 根據主體的完整性級別是高於還是低於所請求的對象,以及訪問控制項中的完整性策略標誌來決定是否授予訪問許可權。安全子系統以強制標籤的形式實現完整性級別,以便和訪問控制列表提供的自由訪問控制區別開來。