在當今大多數操作系統中,缺省情況是,當我們安裝一個程序時,它可以訪問許多可能不需要的資源,而且用戶可能不打算給它訪問權限。例如,當你安裝一個封閉的源程序時,原則上沒有什麼可以阻止它讀取~/.ssh
中的私鑰並通過互聯網將它們發送給惡意的第三方,除非用戶是精通使用跟蹤的安全專家程序,他可能無法檢測到這種違規行爲。沙盒操作系統
隨着計算機上安裝許多封閉源程序的激增,不同的操作系統採取了哪些措施來解決沙盒第三方程序的問題?
是否有任何操作系統是從頭到尾設計的,其中每個程序或可執行文件都必須以清晰可讀的格式由用戶聲明運行所需的資源,以便操作系統以沙箱只能訪問那些資源?例如,可執行文件必須聲明它需要訪問文件系統上的某個目錄或文件,它必須通過網絡訪問某些域或IP地址,它需要一定量的內存等。 ...如果可執行文件位於系統資源要求的聲明中,則應禁止操作系統訪問它們。
Qubes(http://qubes-os.org/Architecture.html)是一個使用虛擬機實現獨立域的項目。在某些方面,這是使用虛擬化作爲構建塊的MAC的重新發現/重新實現。 – ninjalj 2011-02-02 18:38:28