實現
強制完整性控制在對象的安全描述符中使用了一個新的訪問控制項(ACE)類型來代表對象的完整性級別。在Windows中,
訪問控制列表(ACL)被限制為授予訪問許可權(讀取、寫入、執行許可權)和特權給用戶和組。在安全引用監視器執行授權授予對象的訪問許可權前,會將訪問令牌中的完整性級別與安全描述符中的完整性級別比較。Windows 根據主體的完整性級別是高於還是低於所請求的對象,以及訪問控制項中的完整性策略標誌來決定是否授予訪問許可權。安全子系統以強制標籤的形式實現完整性級別,以便和訪問控制列表提供的自由訪問控制區別開來。
Windows Vista定義了四個完整性級別:
低(
SID: S-1-16-4096)、
中(SID: S-1-16-8192)、
高(SID: S-1-16-12288)、
系統(SID: S-1-16-16384)。默認情況下,普通用戶啟動的進程將獲得中完整性級別,而提升的進程則獲得高完整性級別。通過引入完整性級別,強制完整性控制可以分類隔離程式,使得
沙箱化潛在危險程式(如進行網路通信的程式)成為可能。低完整性進程所擁有的訪問許可權少於那些擁有更高完整性級別的進程。
帶有訪問控制列表的對象(如命名對象,包括
檔案、
註冊表項,甚至
進程和
執行緒)有一個訪問控制項,定義著最低需要哪個完整性級別才能訪問此對象。Windows確保只有當進程的完整性級別等於或高於所請求的對象的完整性級別時,它才能寫入或刪除此對象。此外,擁有更高完整性級別的進程對象甚至不允許讀取訪問。
於是,一個進程就不能與另一個更高完整性級別的進程互動了。所以,進程不能通過CreateRemoteThread()
API執行
DLL注入到更高完整性級別的進程之類的功能,也不能使用WriteProcessMemory()函式傳送數據到另一個進程。
Windows Vista
Windows Vista是
微軟發行的一款
Windows個人桌面
作業系統,於2005年7月22日微軟正式公布此名稱。開發代號
Longhorn。在2006年11月8日,Windows Vista開發完成並正式進入批量生產。此後的兩個月僅向
MSDN用戶、電腦軟硬體製造商和企業客戶提供。在2007年1月30日,Windows Vista正式對普通用戶出售,同時也可以從微軟的網站下載。Windows Vista距離上一版本的
作業系統Windows XP已有超過五年的時間,這是Windows歷史上間隔時間最久的一次發布。
Windows Vista是第一版只能支持在
NTFS硬碟分區上安裝Windows系統的Windows作業系統。
微軟也在Vista的安全性方面進行改良。Windows XP最受到批評的一點是系統經常出現安全漏洞,並且容易受到
惡意軟體、
計算機病毒或
快取溢出等問題的影響。為了改善這些情形,微軟主席
比爾·蓋茨在2002上半年宣布在全公司實行“
可信計算的政策”(Trustworthy Computing initiative),這個活動目的是讓全公司各方面的軟體開發部門一起合作,共同解決安全性的問題。微軟宣稱由於希望優先增進Windows XP和
Windows Server 2003的安全性,因此延誤Vista的開發。
在開發期間,有許多團體發表關於Vista的各種負面預測。包括延遲的開發時間、限制更嚴格的授權方式、限制拷貝受保護的數字媒體而加入的數項新
數字著作權管理技術,以及新功能的實用性(例如用戶帳戶控制)。
Windows Vista的後續作業系統是
Windows 7,並在2009年10月23日上市。Windows Vista主流支持已停止(已於2012年4月10日到期),擴展支持已停止(已於2017年4月11日到期)。
訪問控制表
訪問控制表(Access Control List,ACL),又稱
存取控制串列,是使用以
訪問控制矩陣為基礎的訪問控制表,每一個(檔案系統內的)對象對應一個串列主體。訪問控制表描述用戶或系統進程對每個對象的訪問控制許可權。
訪問控制表的主要缺點是不可以有效迅速地枚舉一個對象的訪問許可權。因此,要確定一個對象的所有訪問許可權需要搜尋整個訪問控制表來找出相對應的訪問許可權。